编排者的代价

编排者的代价

💡 原文英文,约2700词,阅读约需10分钟。
📝

内容提要

子代理的真正价值在于保护主代理的工作记忆,而非并行速度。通过将噪声推理隔离在子代理上下文中,避免污染主线程,可提升长期多代理工作的效率。需按认知局部性分配任务,并明确委派规则。

🔎

延伸解读

子代理的真正价值:保护主代理的工作记忆

文章指出,子代理的核心价值不在于并行速度,而在于将噪声推理隔离在子代理上下文中,避免污染主代理的工作记忆。作者通过一次实际会话发现,状态轮询导致原始转录被导入主线程,造成上下文污染,影响后续决策。因此,设计多代理系统时,应关注如何保持主代理上下文的清洁,而非单纯追求并行效率。

认知局部性:任务划分的关键原则

作者提出“认知局部性”概念,认为需要相同心智模型的任务应尽量保持在一起,避免多个子代理重复构建相同的代码库理解。在案例中,两个子代理处理同一区域的不同任务,各自支付了独立的定向成本。合理划分任务,减少重复认知,是提升多代理效率的重要策略。

治理规则:避免过度流程化

作者强调,在制定治理规则时,应避免过度流程化。他建议,在向CLAUDE.md添加规则前,先判断一个称职的编排者是否只需知道一个缺失事实就能做出正确决策。如果是,则直接陈述事实;如果规则开始指定决策程序(如审批、检查点),则可能是在编码流程而非解决问题。这种启发式方法有助于保持规则的简洁和有效。

Q&A

子代理的真正价值是什么?

子代理的真正价值在于保护主代理的工作记忆,通过将噪声推理隔离在子代理上下文中,避免污染主线程,从而提升长期多代理工作的效率。

为什么说子代理的价值不在于并行速度?

因为并行速度只是可见的副产品,而真正的价值在于子代理能隔离噪声推理,防止其进入主代理的上下文,从而保护主代理的工作记忆,减少注意力竞争。

什么是认知局部性?

认知局部性是指需要相同心智模型的任务应该尽量放在一起,避免拆分后导致多个代理各自重建相同的理解,从而浪费资源。

如何避免子代理污染主代理的上下文?

通过明确委派规则,确保子代理只返回必要信息,将探索、重复文件读取、失败尝试等噪声推理留在子代理上下文中,不导入主线程。

在编排子代理时,如何分配任务更合理?

按认知局部性分配任务,即需要相同心智模型的任务应放在一起,避免过度细分导致多个代理重复构建相同的理解。

为什么说状态轮询(如检查代理)可能带来高成本?

因为状态轮询可能将子代理的完整原始转录(包括中间推理和工具输出)导入主线程,造成大量token消耗,并长期占用主代理的上下文,影响后续决策。

在编写CLAUDE.md等指令文件时,应遵循什么原则?

应遵循最小化原则,只添加必要的事实或规则,避免过度规定决策过程。如果仅需一个事实就能让代理做出正确决策,就只陈述事实;如果开始指定审批、检查点等流程,可能是在过度编码。

子代理是否会继承主代理的技能?

不会,子代理不会自动继承主代理会话中激活的技能,除非主代理明确传递。因此,在生成子代理时,需要明确指定相关技能并指向技能文件。

🏷️

标签

➡️

继续阅读