【阅】本周阅读摘选2026-04-06 → 2026-04-12

Posted by Cao Zihang on April 13, 2026 Word Count:
本周阅读摘选
2026-04-06 → 2026-04-12
目录

学术相关

技术技巧

腾讯技术工程丨技术教科书:顶级开发团队设计的Harness工程项目源码什么样

  • 运行时:Bun启动速度快
  • 语言:TypeScript确保类型安全
  • UI:React+Ink
  • CLI解析:Commander.js
  • Schema校验:Zod v4
  • 代码搜索:ripgrep
  • 协议:MCP SDK + LSP
  • 遥测:OpenTelemetry + gRPC
  • 特征标记:GrowthBook 支持A/B测试和渐进式发布

快速启动

分层启动架构

  • 入口分发 & lazy import
    • 重量级模块懒加载
  • Paralle Prefetch
  • 全局初始化
    • 保证memorize即便多次import也只执行一次
  • 会话级初始化

工具系统

  • 接口:Tool<Input, Output, Progress>
    • inputSchema Pydantic模型定义,Zod v4 shchema验证
    • checkPermissions 权限校验
    • isConcurrencySafe 并发安全控制流标记
    • isDestructive 标记危险操作
    • isAutoClassifierInput 为auto模式的安全分类器提供紧凑表示
  • buildTool工厂函数
    • 所有tool必须通过工厂函数创建,提供安全默认值(默认假设不安全)
  • 统一工具注册
  • 通过assembleToolPool()将内建工具与MCP工具集成,构建通过工具池出口
  • StreamingToolExecutor流式并行执行

查询系统

Agent Loop的核心

  • 异步生成器驱动主循环
    • 流式UI更新
    • 中途中断
    • 背压控制
    • 消息独立持久化
  • 循环状态管理
    • State对象
      • transition字段记录上次迭代的持续原因
  • 四级上下文压缩管道 —— 渐进降级
    • Snip Compact 基于标记的历史剪裁(无需API调用)
    • Micro Compact 缓存编辑压缩(不破坏整体缓存的情况下删除特定工具调用结果)
    • Context Collapse 上下文折叠(多轮工具调用结果折叠为摘要,保留结构)
    • Auto Compact 全量摘要压缩(上下文接近窗口限制时使用生成摘要替换历史消息)
  • 输出截断恢复机制
    • stop_reason === 'max_output_tokens'输出截断有三层恢复机制
      • Token升级:尝试提高token预算上限
      • 多轮恢复(最终3次):注入恢复消息,要求模型从中断处继续
      • 放弃:surface错误
  • 模型降级容错
  • QueryEngine封装完整的查询生命周期
  • 查询配置快照QueryConfig
    • 实时读取不能保证一个查询内部每次迭代行为一致
  • task_budget Token预算

Multi-Agent编排与任务系统

七种任务类型,独立生命周期管理;每种任务ID具有独立前缀字母和8个字符随机后缀

  • local_bash Shell命令 -> 后台进程
  • local_agent 本地subagent -> 独立进程
  • remote_agent 远程subagent -> WebSocket连接
  • in_process_teammate 进程内teammate -> 共享内存
  • local_workflow 本地工作流脚本
  • monitor_mcp MCP监控任务
  • dream “梦境”任务 -> 后台分析

Agent Tool —— Subagent生成

subagent具有独立的对话历史和工具池

关键约束:

  • 工具白名单
    • 禁止使用agent生成相关管理工具
  • 权限继承
  • 独立的AbortController

Coordinator模式

AGENT_COORDINATOR_MODE=1时,主线程变成协调器,仅负责分配任务

此时,协调器线程仅有AgentTool+TaskStopTool+SendMessageTool,而BashFile Read/Edit/WriteGrepGlob等工具由Worker线程拥有

工具分离保证协调器不参与任务执行

Agent Swarms

进程内Teammate通过Unix Domain Socket进行通信

本地快速通信

DreamTask —— 后台分析

TUI

内置Ink渲染引擎

Harness Engineering

  • 上下文价格
  • 架构约束
    • 代码和工具的硬约束
    • Deny Rules -> Tool-level Permissions -> Generic Rules -> Permission Mode -> Auto Classifier
    • 默认配置最严格的限制避免遗忘造成漏洞
  • 自验证循环
  • 上下文隔离
    • 进程级隔离:subagent具有独立的进程
    • 通信接口化
    • Coordinator模式控制&数据分离
  • 熵治理:对抗系统自然熵增(上下文、记忆、文档混乱)
    • 上下文蒸镏 /compact + Auto Compact
    • 知识沉淀 memdir/持久化写入
    • 状态清理 Session记忆自动失效
    • 后台整理 AutoDream
    • 碎片整理 Dream Phase 4: Prune & Index
  • 模块化:防止与特定模型深度偶合

cloc丨Count Lines of Code

  • file & directory & archive & git repo: cloc [path]
  • Iterative for d in ./*/ ; do (cd "$d" && echo "$d" && cloc --vcs git); done
  • help cloc --help

有输入输出控制options,支持diff对比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
prompt> cloc perl-5.22.0.tar.gz
    5605 text files.
    5386 unique files.
    2176 files ignored.

https://github.com/AlDanial/cloc v 1.65  T=25.49 s (134.7 files/s, 51980.3 lines/s)
-----------------------------------------------------------------------------------
Language                         files          blank        comment           code
-----------------------------------------------------------------------------------
Perl                              2892         136396         184362         536445
C                                  130          24676          33684         155648
C/C++ Header                       148           9766          16569         147858
Bourne Shell                       112           4044           6796          42668
Pascal                               8            458           1603           8592
XML                                 33            142              0           2410
YAML                                49             20             15           2078
C++                                 10            313            277           2033
make                                 4            426            488           1986
Prolog                              12            438              2           1146
JSON                                14              1              0           1037
yacc                                 1             85             76            998
Windows Message File                 1            102             11            489
DOS Batch                           14             92             41            389
Windows Resource File                3             10              0             85
D                                    1              5              7              8
Lisp                                 2              0              3              4
-----------------------------------------------------------------------------------
SUM:                              3434         176974         243934         903874
-----------------------------------------------------------------------------------

Tree-Sitter]

增量式代码解析器生成器,将源代码转换为抽象语法树AST,并提供Tree Query Language (TQL)进行查询

VS Code、Neovim等均使用Tree-Sitter进行语法高亮

娱乐

DeepScientist & PaperOrchestra

主要关注Harness