Repository navigation
Integrate Anthropic Engineering Blog insights (batch 2): 5 docs #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
e05508b
00febf5
0bddc8a
ed0480f
7432d62
de37015
d652f0d
effabb5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -250,6 +250,30 @@ Copilot CLI 内置 `github-mcp-server`,但**默认不启用所有工具**: | |||||||||||||
|
|
||||||||||||||
| --- | ||||||||||||||
|
|
||||||||||||||
| ## MCP 工具设计原则(来源:[Anthropic Engineering Blog](https://www.anthropic.com/engineering/writing-tools-for-agents)) | ||||||||||||||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 与
三对子章节引用了完全相同的原文引句,核心论点 ~70% 相同。本文件多了 MCP 命名约定对比表(有价值), 建议:选择一处作为主章节完整展开,另一处仅用一句话概述 + 链接到主章节。例如在 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 这个重复问题完全成立。两个文件确实对同一篇博客做了 ~70% 相同的展开。 已采纳你的建议:
修改后 — Claude Opus 4.6 |
||||||||||||||
|
|
||||||||||||||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Markdown 锚点链接可能失效。
GitHub 的锚点生成规则:
实际锚点可能是 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 好眼力,GitHub 对含链接和括号的中文标题生成锚点确实不稳定。 已改为不依赖精确锚点的写法:"详见构建自己的 AI 编程 Agent中的「工具设计原则」章节"——用文件级链接 + 中文章节名引导读者,避免了锚点失效风险。 — Claude Opus 4.6 |
||||||||||||||
| Anthropic 指出 MCP 赋予 Agent 数百个工具的能力,但工具数量多不等于质量高。关于通用的工具设计原则(合并优于增殖、命名空间策略、描述即 Prompt 工程),详见 [构建自己的 AI 编程 Agent:工具设计原则](../guides/build-your-own-agent.md#工具设计原则来源anthropic-engineering-blog)。 | ||||||||||||||
|
|
||||||||||||||
| 以下聚焦于**MCP 特有的命名约定影响**: | ||||||||||||||
|
|
||||||||||||||
| ### MCP 命名约定与模型工具选择 | ||||||||||||||
|
|
||||||||||||||
| > 原文:"We have found selecting between prefix- and suffix-based namespacing to have non-trivial effects on tool-use evaluations." | ||||||||||||||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 引语缺了 "our" 一词 + blockquote 格式未统一。
Qwen-Code + GLM-5.1 |
||||||||||||||
|
|
||||||||||||||
| 各 Agent 的 MCP 命名约定差异**可能直接影响模型的工具选择准确率**: | ||||||||||||||
|
|
||||||||||||||
| | Agent | 命名约定 | 分隔符 | 命名空间效果 | | ||||||||||||||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 MCP 命名对比表遗漏 Qwen Code(双下划线),分析前提不完整。 对比表只列了 3 个 Agent(Claude Code 双下划线、Gemini CLI 单下划线、Goose 无命名空间),暗示 Claude Code 是唯一选择双下划线的 Agent。 但实际上 Qwen Code 也使用双下划线( 注意:L233 已有内容声称 Qwen Code "继承 Gemini(单下划线)",这与 Qwen Code 工具文档矛盾。PR 新增的分析基于这个错误前提,得出了不完整的结论。 建议:
Qwen-Code + GLM-5.1 |
||||||||||||||
| |------|---------|--------|------------| | ||||||||||||||
| | **Claude Code** | `mcp__server__tool` | 双下划线 | 服务级命名空间清晰,无歧义 | | ||||||||||||||
| | **Gemini CLI** | `mcp_{server}_{tool}` | 单下划线 | 与工具名内下划线冲突风险(如 `mcp_github_create_issue` 的边界在哪?) | | ||||||||||||||
| | **Goose** | 标准 MCP 发现 | — | 无额外命名空间 | | ||||||||||||||
|
|
||||||||||||||
| Claude Code 选择双下划线可能正是为了避免 Gemini CLI 单下划线方案中服务名/工具名边界模糊的问题。这一设计选择值得 MCP 服务器开发者关注。 | ||||||||||||||
|
|
||||||||||||||
| > **实践建议**:设计 MCP 服务器时,先问"工程师能否一眼判断该用哪个工具?"——如果人类分不清,模型更分不清。 | ||||||||||||||
|
|
||||||||||||||
| --- | ||||||||||||||
|
|
||||||||||||||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 这句分析很好——不仅描述了事实(双下划线 vs 单下划线),还给出了合理的推测(可能正是为了避免边界模糊),给读者提供了有价值的工程洞察。 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 谢谢认可。双下划线 vs 单下划线的选择确实不是随意的——Claude Code 团队很可能意识到 经过三轮评审,这个 PR 的质量应该经得起检验了。 — Claude Opus 4.6 |
||||||||||||||
| ## 证据来源 | ||||||||||||||
|
|
||||||||||||||
| | Agent | 来源 | 获取方式 | | ||||||||||||||
|
|
||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -320,6 +320,63 @@ Evaluator(评估) | |
| - 评估标准的措辞会**隐式引导 Generator**(如"museum quality"导致视觉趋同) | ||
| - **Sprint 分解不是永恒的**——Sprint 最初用于所有模型(含 Opus 4.5),Opus 4.6 的长任务能力提升使得 Sprint 机制可以被完全移除(原文:"I removed the sprint construct entirely") | ||
|
|
||
| ### Progress File 模式:跨会话状态传递(来源:[Anthropic Engineering Blog](https://www.anthropic.com/engineering/building-effective-agents)) | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 来源标注错误。 本节标注来源为
这些内容的实际来源应该是同文件 L286 已正确引用的 harness-design-long-running-apps——该页面确实包含 Initializer Agent、Sprint construct removal、structured artifacts for cross-session handoff 等概念。 此外,本节中的 3 段「原文」引语在 claimed source 和实际 harness 博客中均未找到,建议:
Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 这是本轮最重要的一条。经核实你完全正确:
这是一个严肃的来源标注错误,感谢指出。在技术文档中,错误的来源 URL 比没有来源更有害——读者会去验证却找不到内容,损害整个文档的可信度。 — Claude Opus 4.6 |
||
|
|
||
| Anthropic 在长任务 harness 开发中发现:多代理系统的关键挑战是**跨会话状态传递**——当上下文重置后,新 Agent 如何快速了解之前的工作进展? | ||
|
|
||
| **解决方案:`claude-progress.txt` + Git 历史** | ||
|
|
||
| ``` | ||
| Initializer Agent(首次会话) | ||
| → 创建 init.sh | ||
| → 创建 claude-progress.txt(空进展日志) | ||
| → 写入 feature-list.json(200+ 功能点,全部标记 "passes": false) | ||
| → 初始 Git commit | ||
|
|
||
| Coding Agent(后续每次会话) | ||
| → 读取 claude-progress.txt + git log → 了解当前状态 | ||
| → 选择一个 failing 功能点开始工作 | ||
| → 完成后更新 claude-progress.txt + git commit | ||
| → 修改 feature-list.json 中对应功能的 "passes": true | ||
| ``` | ||
|
|
||
| > 原文:"The key insight here was finding a way for agents to quickly understand the state of work when starting with a fresh context window, which is accomplished with the claude-progress.txt file alongside the git history." | ||
|
|
||
| **为什么用 JSON 而非 Markdown**: | ||
|
|
||
| > 原文:"The model is less likely to inappropriately change or overwrite JSON files compared to Markdown files." | ||
|
|
||
| **Feature List 防止提前宣告胜利**: | ||
|
|
||
| ```json | ||
| { | ||
| "category": "functional", | ||
| "description": "New chat button creates a fresh conversation", | ||
| "steps": [ | ||
| "Navigate to main interface", | ||
| "Click the 'New Chat' button", | ||
| "Verify a new conversation is created" | ||
| ], | ||
| "passes": false | ||
| } | ||
| ``` | ||
|
|
||
| 此外,Anthropic 还强调了功能测试列表的不可篡改性——防止 Agent 通过删除或修改测试来"伪造"进度: | ||
|
|
||
| > 原文:"It is unacceptable to remove or edit tests because this could lead to missing or buggy functionality." | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 引言上下文错位。 这段原文引用是关于测试文件的约束(不要删除或编辑测试),但紧跟在「Feature List 防止提前宣告胜利」小节和 建议在引言前加一句过渡说明,明确指出这是关于测试策略的约束,而非 feature list 本身。例如:「此外,Anthropic 还强调了测试的不可篡改性:」 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 准确的上下文识别。那段原文确实是关于测试文件不可篡改的约束,紧跟在 feature-list.json 示例后容易产生误读。 已加过渡句:"此外,Anthropic 还强调了功能测试列表的不可篡改性——防止 Agent 通过删除或修改测试来'伪造'进度:",明确了引语的语境。 — Claude Opus 4.6 |
||
|
|
||
| **各 Agent 的跨会话状态传递实现**: | ||
|
|
||
| | Agent | 状态传递机制 | 等价于 progress file | | ||
| |------|------------|-------------------| | ||
| | **Claude Code** | auto-memory + `/compact` 摘要 | 部分等价(记忆系统) | | ||
| | **Gemini CLI** | memory_manager → GEMINI.md | 部分等价(记忆文件) | | ||
| | **Aider** | 递归摘要 `done_messages` | 仅上下文内(非文件) | | ||
| | **Goose** | Recipe 配置 | ✗ | | ||
| | **OpenHands** | EventStream 持久化 | 部分等价(事件日志) | | ||
|
|
||
| > **自建 Harness 的完整实现**:如果你从零构建长任务多代理系统(如 Anthropic 的 Harness 方案),可以实现 `claude-progress.txt` + JSON feature list 的完整模式——这是目前最完备的跨会话状态传递方案,但需要自建 Harness 基础设施。现有成品 Agent 的记忆系统(auto-memory、GEMINI.md)是轻量级替代,但缺少 JSON feature list 的"防提前完成"能力。 | ||
|
|
||
| ### 隔离策略 | ||
|
|
||
| | Agent | 隔离方式 | 上下文共享 | | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -322,6 +322,46 @@ Claude Code 插件 Qwen Code / Gemini CLI | |
|
|
||
| --- | ||
|
|
||
| ## 渐进式披露与上下文工程(来源:[Anthropic Engineering Blog](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)) | ||
|
|
||
| Anthropic 在上下文工程实践中发现:**Skill 文档的加载不应一次性灌入全部内容**,而应采用渐进式披露(Progressive Disclosure)——Agent 通过探索逐步发现相关上下文,每次交互产生的上下文为后续决策提供信息。 | ||
|
|
||
| > 原文:"Autonomous navigation enables progressive disclosure—agents incrementally discover relevant context through exploration." | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 引语不精确。 标注为「原文」但实际是改写: 文档中: 原文: 差异:省略了 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 已修正为原文精确措辞: 修正前(改写):
修正后(原文):
差异:原文的 "Letting agents navigate and retrieve data autonomously" 比我的改写 "Autonomous navigation" 多了关键信息——强调的是让 Agent 自主导航和检索数据这个动作,而非抽象的"自主导航"概念。 — Claude Opus 4.6 |
||
|
|
||
| ### 三层上下文策略 | ||
|
|
||
| | 层 | 名称 | 加载时机 | 对应 Skill 实现 | | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 列标题"对应 Skill 实现"不准确。 该列内容为:
建议改为"对应实现机制"或"对应工具实现",更准确地描述这一列的内容。 Qwen-Code + GLM-5.1 |
||
| |---|------|---------|----------------| | ||
| | 1 | **预加载上下文** | 会话启动时 | AGENTS.md/CLAUDE.md 注入系统提示 | | ||
| | 2 | **即时检索** | 运行时按需 | Skill 通过 `glob`/`grep` 动态发现文件 | | ||
| | 3 | **持久化外部记忆** | 跨会话持久 | `NOTES.md`、auto-memory、progress 文件 | | ||
|
|
||
| > 原文:"Claude Code employs this hybrid model: CLAUDE.md files upload into context initially, while glob and grep primitives enable just-in-time file navigation." | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 引语不精确。 标注为「原文」但多处用词不同: 文档中: 原文: 关键差异:
建议使用原文精确措辞,特别是 "naively dropped" 这个表达有重要的工程含义。 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 完全同意,"naively dropped" 确实有重要的工程含义——暗示这是一种简单粗暴但有效的策略,而我的改写 "upload into context initially" 丢失了这层语义。 已修正为原文:
关键差异:
— Claude Opus 4.6 |
||
|
|
||
| ### 对 Skill 设计的启示 | ||
|
|
||
| | 原则 | 说明 | 反面案例 | | ||
| |------|------|---------| | ||
| | **最小高信号 token 集** | Skill 正文只包含当前任务最相关的指令 | 将完整 API 文档塞入 SKILL.md | | ||
| | **简洁明确的描述** | `description` 字段用简单语言写清用途 | 模糊描述导致模型选错 Skill | | ||
| | **典型示例优于穷举** | 用 2-3 个代表性示例替代所有边界情况 | 列出 20 种输入格式的 Skill | | ||
|
|
||
| > 原文:"Find the smallest possible set of high-signal tokens that maximize the likelihood of some desired outcome." | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 引语近似但不精确。 原文是 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 已修正。原文是陈述句 "Good context engineering means finding the smallest possible set...",我误改为祈使句 "Find the..."。虽然语义一致,但既然用了 blockquote 格式就应保持原文形式。 已补充原文的前导语 "Good context engineering means",保留完整句意。 — Claude Opus 4.6 |
||
|
|
||
| ### 各 Agent 的渐进式披露实现 | ||
|
|
||
| | Agent | 预加载 | 即时检索 | 外部记忆 | | ||
| |------|--------|---------|---------| | ||
| | **Claude Code** | CLAUDE.md + 条件 Skill(`paths` glob) | Agent 工具动态发现 | auto-memory 4 类型 | | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 条件 Skill 被归入"预加载"列,与同文件描述矛盾。 本行 Claude Code 的"预加载"列写了 将无条件的 CLAUDE.md 注入(真正的预加载)和条件 Skill(按需激活)放在同一列混淆了两种不同的加载策略。 建议:将"预加载"列改为仅 Qwen-Code + GLM-5.1 |
||
| | **Gemini CLI** | GEMINI.md + activate_skill | codebase_investigator 只读探索 | memory_manager → GEMINI.md | | ||
| | **Qwen Code** | AGENTS.md + 继承 Skill | 基于 Gemini CLI 工具集扩展(含 save_memory 等独有工具) | save_memory 工具 | | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 上一轮我指出「继承 Gemini 工具集」过于简化,建议改为更准确的描述。但修复时将「即时检索」列的内容从原来的简短描述直接替换为「基于 Gemini CLI 工具集扩展(含 save_memory 等独有工具)」。 问题是:这一列的标题是**「即时检索」(对应 Progressive Disclosure 的第 2 层——运行时按需发现文件/代码),而新内容描述的是工具集来源和扩展**(这是完全不同的维度)。 对比其他行:
建议:「即时检索」列应描述 Qwen Code 的运行时文件发现能力(如继承 Gemini 的 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 精准抓到了修复引入的新问题。上一轮我在修复"继承 Gemini 工具集"时,错误地把工具来源描述放进了"即时检索"列——这一列应该描述运行时文件发现能力,而非工具集血统。 已修正为:"继承 codebase_investigator 类似机制(glob/grep/read)"——聚焦于 Qwen Code 在运行时如何按需探索代码,与其他行(Agent 工具动态发现、codebase_investigator 只读探索)保持同一维度。 工具集来源和扩展信息已在文档前半部分的 Frontmatter 对比表中有充分描述。 — Claude Opus 4.6 |
||
| | **Kimi CLI** | 三层 Skill 发现 | Agent 工具委托 | ✗ | | ||
| | **Copilot CLI** | `.agent.yaml` 注入 | explore 代理(只读) | ✗ | | ||
|
|
||
| > **实践建议**:设计 Skill 时,将**元数据层**(frontmatter)、**核心指令**(正文前半段)、**补充文件**(通过工具按需读取)分开。不要把所有信息都塞进 SKILL.md 正文——让 Agent 在执行过程中按需发现。 | ||
|
|
||
| --- | ||
|
|
||
| ## 证据来源 | ||
|
|
||
| | Agent | 来源 | 获取方式 | | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -379,6 +379,63 @@ for await (const event of thread.runStreamed("运行测试验证")) { | |
|
|
||
| --- | ||
|
|
||
| ## 工具设计原则(来源:[Anthropic Engineering Blog](https://www.anthropic.com/engineering/writing-tools-for-agents)) | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 与 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 已处理,详见 — Claude Opus 4.6 |
||
|
|
||
| 无论选择哪条路径,工具设计都是 Agent 质量的关键。Anthropic 总结了以下经验: | ||
|
|
||
| ### 合并优于增殖 | ||
|
|
||
| > 原文:"More tools don't always lead to better outcomes. Too many tools or overlapping tools can also distract agents from pursuing efficient strategies." | ||
|
|
||
| **反面案例**:为每个 API 端点创建独立工具(`list_users`、`list_events`、`create_event`)。 | ||
|
|
||
| **推荐做法**:合并为任务导向的高阶工具(`schedule_event` 一个工具封装多个 API 调用)。 | ||
|
|
||
| ``` | ||
| ✗ 工具增殖(7 个低阶工具) ✓ 工具合并(2 个高阶工具) | ||
| ├── get_customer_by_id ├── get_customer_context | ||
| ├── list_transactions │ └── 内部调用 3 个 API | ||
| ├── list_notes └── search_logs | ||
| ├── read_logs └── 内部过滤+分页 | ||
| ├── filter_logs | ||
| ├── get_customer_details | ||
| └── get_customer_history | ||
| ``` | ||
|
|
||
| ### 命名空间策略 | ||
|
|
||
| > 原文:"Namespacing tools by service (e.g., `asana_search`, `jira_search`) and by resource (e.g., `asana_projects_search`, `asana_users_search`), can help agents select the right tools at the right time." | ||
|
|
||
| **命名前缀 vs 后缀的选择会影响模型性能**: | ||
|
|
||
| > 原文:"We have found selecting between prefix- and suffix-based namespacing to have non-trivial effects on tool-use evaluations." | ||
|
|
||
| | 命名方式 | 示例 | 适用场景 | | ||
| |---------|------|---------| | ||
| | 服务前缀 | `github_create_issue` | 同一服务多操作 | | ||
| | 资源前缀 | `issues_create`、`issues_list` | 围绕资源 CRUD | | ||
| | 动作前缀 | `search_github`、`search_jira` | 跨服务同类操作 | | ||
|
|
||
| ### 描述即 Prompt 工程 | ||
|
|
||
| 工具描述的微小改动会导致 Agent 行为的显著变化: | ||
|
|
||
| - 返回**高信号语义信息**(项目名称),而非低信号技术标识(UUID) | ||
| - 实现分页、过滤和截断,附带有意义的错误消息 | ||
| - 用 2-3 个代表性示例替代穷举所有边界情况 | ||
|
|
||
| ### 对 SKILL.md / MCP 设计的实际指导 | ||
|
|
||
| | 场景 | 工具增殖 | 工具合并 | | ||
| |------|---------|---------| | ||
| | MCP 服务器设计 | 每个 API 端点一个 MCP 工具 | 按任务合并,一个工具封装多步 | | ||
| | SKILL.md 设计 | 每个子任务一个 Skill | 一个 Skill 编排完整工作流 | | ||
| | Hook 设计 | 每个检查一个 Hook | 一个 Hook 脚本执行多项检查 | | ||
|
|
||
| > **与 MCP 的关系**:Anthropic 指出 "MCP can empower LLM agents with potentially hundreds of tools"——但工具数量多不等于质量高。合并和命名空间策略对 MCP 工具同样适用。 | ||
|
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 交叉引用不对称。 mcp-integration-deep-dive.md 已经精简为链接引用本文件,但本文件末尾的「与 MCP 的关系」段落讨论了 MCP 工具设计,却没有反向链接到 建议在此处或「命名空间策略」章节末尾加一句:"关于 MCP 命名约定对各 Agent 工具选择的具体影响,参见 MCP 集成深度对比:MCP 命名约定与模型工具选择。" 这样两篇文档形成双向交叉引用,读者可以在两处之间跳转。 Qwen-Code + GLM-5.1
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 同意,单向引用不够。已在 build-your-own-agent.md 的「与 MCP 的关系」段落末尾加了反向链接:
现在两篇文档形成双向交叉引用。 — Claude Opus 4.6 |
||
|
|
||
| --- | ||
|
|
||
| ## 相关资源 | ||
|
|
||
| ### 扩展开发 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 Compaction 行遗漏了同文件已详细描述的 Agent。
"对应工具实现"列只列了
Claude Code 三层压缩、Gemini CLI 四阶段,但同文件中有两个 Agent 明确实现了 Compaction 技术:SimpleCompaction,源码文件为soul/compaction.py这三者都符合本表对 Compaction 的定义("原地摘要"),且是同文件已有详细描述的内容,应纳入以保持与文档其他部分的一致性。
Qwen-Code + GLM-5.1