@dongxi_nlp: https://x.com/dongxi_nlp/status/2068922428516892998
摘要
本文是系列文章第六篇,详细解释了subagent的概念、工作原理及其在coding agent中的作用,包括tool call和runtime机制,以及不同subagent类型(fresh child、forked child、partial fork)的适用场景。
查看缓存全文
缓存时间: 2026/06/22 13:45
A Subagent Opens A New Context
Harness 系列文章之 6,关于 subagent。
Subagent 是一次 tool call,为 coding agent会打开一个新的 work context。
在启动一次 subagent 的过程中,发生了什么?
简要回答:Tool call outside, runtime inside.
先看 tool call
为什么说,subagent 的启动其实是一次 tool call。
比如,用户说:“Use a verifier subagent to audit webhook retries.”
如果 Harness 支持,可以直接使用 slash command /delegate 完成 spawn_agent 的 tool call。
tool 跑完以后,parent 会拿到 child handle。
再看 run time
在 harness 文章 3中,提到,每次 tool call,都改变了 coding agent 的世界状态。
那么 subagent 这次启动的 tool call 之后,发生了什么?来看 runtime inside。
Tool call 是入口 ,深入一层,Harness 会打开一个新的 work context。
subagent 的 context 与 coding agent 的 context 有什么关系?
Session, Context, Subagent
这三个词容易混在一起。
-
session 是 runtime container:thread、transcript、tools、permissions、resources、status、artifacts。
-
context 是某次 model call 能看到的 projection:instructions、skills、AGENTS.md、recent turns、summaries、tool results、file state。
-
subagent 是 parent session 下面新开的 child session。它可以继承 resources,也会拿到一段被选择过的 context slice。
Tool Call Outside, Runtime Inside
-
Subagent 这个词有点容易误导,它听起来像一个小一点的智能体。
-
在 harness 里,它更像一个 managed child runtime。subagent 可以使用很多 parent 也能使用的 Harness resources。例如 tools、skills、AGENTS.md,MCP servers、cwd、sandbox、permissions。
-
但 shared resources 不代表 shared transcript。child 有自己的 work context。parent 选择投影多少 context 给它。
Fresh Agent, Forked Agent or Partial Fork?
parent 选择投射多少 context 给 sub agent,由 subagent的类型决定, 常见的 subagent 有三种 pattern:
-
fresh child 它需要收到 goal、relevant files、已尝试过什么、exact output,以及回答深度。
-
forked child 已经继承了 surrounding context,prompt 应该直接给下一步 directive。
-
partial fork 是最实用的中间方案。它给 child 足够的 local memory 去工作,同时避免 parent history 变成 inherited noise。
这里给出一些列子,我们可以想想,什么样的 subagent 适合对应的task?
-
Parallelism Agent, 一个 subagent 查 database migration, 一个 subagent 看 frontend state, 一个 subagent 跑 verification
-
Role Specialization: Explorer, Planner, Verifier, Worker, reviewer …
-
Background Work, 例如多个 subgent 完成大型重构,长测试
Subagent workflow
一个实用的 subagent workflow :
如何组织好多个 subagent 完成工作,其实非常具有挑战性,越清晰的地定义 subagent 的 role,context, tool 越好。
最后:
更多 agents 不保证更好的工作,更多 agents 会制造更多 runtime state。
Harness 必须知道谁在工作、它知道什么、改了什么、什么时候完成、结果如何变成 evidence。
subagent 会为 coding agent 拓展世界,而 harness 则关于新世界是否更好还是更混沌,
相似文章
@dongxi_nlp: https://x.com/dongxi_nlp/status/2071729771126346093
本文阐述了coding agent中harness(运行时框架)作为产品的核心重要性,并详细分析了它需承担的六个关键组件和边界控制机制。
@AxtonLiu: https://x.com/AxtonLiu/status/2073791557547794579
本文讨论了Agent OS的概念,强调通过分工将任务拆解为多个工位(抓取、提炼、核查、确认),每个工位由独立的Agent负责,以实现可控的自动化。作者通过消化浏览器标签的例子,展示了如何通过分工隔离上下文、责任和风险,确保AI输出的准确性和可靠性。
@dongxi_nlp: Coding Agent Harness,七篇文章合集。
介绍了一个名为Coding Agent Harness的工具,并汇总了七篇相关文章,可能涉及编码代理的开发与评估框架。
@rseroter:"在本文中,我想带你回顾过去12个月里我观察到的子代理范式的演变过程…
在文章中,作者追溯了过去一年AI编程助手中子代理范式的演变,并介绍了'Swarm Coding'作为一种整合的代理技能,它将子代理管理委托给代理本身。
@dongxi_nlp: https://x.com/dongxi_nlp/status/2066290950352081336
本文讨论了Coding Agent中Markdown文件(如AGENTS.md和SKILL.md)通过Harness机制有效影响Agent行为的设计理念,强调了在正确时机加载不同上下文的重要性。