智能体编排的目标
目的:写给做 Agent 编排层和 harness 的人,说清楚现在的助手类 Agent 卡在哪里,以及编排层该往哪个方向做。
顶层论点:助手类 Agent 的自洽和逻辑只能维持在当前上下文里,要突破,就得把自洽、记忆和调度移到 LLM 外面的编排层。
只是一个上下文助手:Agent 工程化
当前不管是 Code、Cowork,还是比较火的 OpenClaw,这些助手类的 Agent 不外乎两个特点。
- 所有的自洽和逻辑都只能维持在当前的上下文
- 上下文可以被动态的追加、压缩、整理、拼接
- 外挂一些固定的处理接口:Task、SubAgent、Skills、MCP 等等
- 支持额外的记忆
- 支持和现有一些软件的控制、执行
- MCP 支持现有一些服务的对接
主要的问题:大范围、高深度的思考和自洽
- 上下文局限性,决定了不能进行大范围、高深度的思考和自洽
- 使用有限的上下文处理经过拆分的大范围的知识片段会非常繁琐
- LLM 本身存在抽象深度的问题,智商不够
- 虽然现在的上下文长度可以达到 1M,但是实际的理解深度还是非常欠缺
- 依赖把全部的信息塞到 LLM 的上下文来维持自洽
- 动态学习能力的欠缺
- 没有主动的学习和总结的能力
- 效率低
- LLM 需要深度思考
- 拆解大任务成很多的小任务
- 智能体在遇到困难时陷入低效试错循环,而不是通过反思实现突破
- 利用 todo list 工具,进行简单的线性任务规划
- 如果中间步骤执行异常,将难以处理
- 黑盒式的编程,容易造成疯狂堆砌“屎山”
- 不能做到逐步的、有逻辑的、教程式的代码编写
- 不能做到和开发者匹配的开发节奏
具体问题
- 复杂的、非直接可读的代码:流程图的 XML,PCB 的 XML
- 编程问题的测试和复现比较困难
- 需要结合系统服务、图形界面的应用程序
- 需要复杂的测试步骤,比如键盘输入测试输入法
- 需要其他的网络环境
- 随机问题
- 单个文件超出上下文就很难处理
- 超大代码文件的整理
- 大范围的批量编码会有问题
- 把所有以
_开头的命名都去掉_,这个任务会导致大量的 token 消耗,而且导致代码修改不全、命名冲突出错
- 把所有以
- 不自洽,不能理解用户问题里的信息不完整,从而继续咨询补充信息
- 生成一个解析 JSON 的图形化界面,只会根据已经有的一个 JSON 里面的字段做支持,而不能根据 JSON 的格式进行自动递归的解析所有可能的字段,不能从更高级的维度进行工作的设计
- 虽然可以通过 CLAUDE.md 来部分提示工程信息,但是复杂代码的逻辑关系,每次都要 LLM 重新使用 tool 探索,非常浪费,而且可能造成遗漏。这就是和人类工程师一个比较大的差异
智能体的自动编排
- 把 LLM 比喻成一个计算器,那么 Agent 编排的目标就是,使用计算器开发一个编译器
- 信息分层处理,分层表达,以实现全局的自洽
- LLM 直接写代码执行任务,比通过文本传参数调用工具更高效
- TodoWrite 类语义是 LLM 一种内置的自动编排技能
- 能扩展上下文的理解广度和深度
- 递归式 AI
- 不仅仅用于软件编程、工程设计,也可以用于深度研究、长期科研
人性化
作为一个工具,虽然不是所有的场景需要人性化,比如编译器、秒表,但是很多工具的瓶颈就是缺少人性化。比如:
- 个人助理 Agent 在比价需要购买的物品的过程中,遇到各种非正常情况时的不正常处理
- 我想去洗车,洗车店距离我家 50 米,我应该开车过去还是走过去
- AI Coding 工具会反复询问执行权限。尽管同一个项目我已经默认同意了很多次,但是它还是机械地执行 prompt 的准则。这里和完全开放权限不同,需要的是能自动判断我的预期的同意
- 记忆的自动遗忘,人类助理需要理解人类的记忆习惯
- 记忆内容优先级排序
- 比较关心的关键词提取
- 任何响应,都是先思考,再行动
- 自动触发检索记忆
- 自动的反思总结
要让人类觉得 AI 很聪明、很听得懂人话,这里面还缺了一个非常重要的,就是机器的人性化。
人性化能无缝地捕获人类指令中的一些隐含的意思。有了人性化之后,就会显得很容易听懂,很能理解对方的感受。
在处理人类的需求的时候,比如说修改代码,作为人类首先会主动地去了解一下整个工程,而不是像现在的 AI 一样,直接上手就修改某个文件,这就是人性和自洽。
人性化的可能途径和前提:
- 支持意识和自我的信息处理,也就是情商,能理解和处理人类的一些抽象的高层级的复杂情感、人文信息
- 具有存储和实现意识/自我的实际载体
Harness
这套方法不是理论上的概念,而是一种工程结构(Engineering Structure),让 Agent 不再“一口气做完所有事”,而是像一个真正的软件工程师一样:
- 从一个明确定义的 feature list 开始
- 初始化项目骨架
- 每轮做一小步、只做一个 feature
- 每轮产生可追踪的 artifact 和 commit
- 保持项目状态的连续性
- 通过日志、文件结构、状态缓存持续“记住”上下文
最关键的约束:Agent 永远在“小步快走”,这样才能跨数十轮保持稳定。
- 拥有持久化工作空间(workspace)
- 拥有 feature list / task list
- 拥有日志、状态、内存
- 通过一轮轮“patch + commit”前进
- 由 harness 保证其可控性、稳定性和可追踪性
Agent Harness 是包裹在 LLM 外层的一套编排系统。它的核心作用是将不确定的模型行为转化为稳定、高效的生产力。
-
Instructions(指令系统): 包含 System Prompt 和动态规则(Rules)。
-
Tools(工具集): 赋予模型“手脚”,如文件读写、终端执行、搜索能力。
-
User Messages(交互流): 用户的指令以及上下文的维护。
-
实现工具。 给 agent 一双手:文件读写、Shell 执行、API 调用、浏览器控制、数据库查询。每个工具都是 agent 在环境中可以采取的一个行动,设计它们时要原子化、可组合、描述清晰。
-
整理知识。 给 agent 领域专长:产品文档、架构决策记录、风格指南、合规要求。按需加载,不要前置塞入。Agent 应该知道有什么可用,然后自己拉取所需。
-
管理上下文。 给 agent 干净的记忆。子 agent 隔离防止噪声泄露,上下文压缩防止历史淹没,任务系统让目标持久化到单次对话之外。
-
控制权限。 给 agent 边界。沙箱化文件访问,对破坏性操作要求审批,在 agent 和外部系统之间实施信任边界。这是安全工程与 harness 工程的交汇点。
-
收集任务过程数据。 Agent 在 harness 中执行的每一条行动序列都是训练信号。真实部署中的感知—推理—行动轨迹,是微调下一代 agent 模型的原材料。harness 不仅服务于 agent,它还可以帮助进化 agent。
未来
- 像 OpenClaw、Claude Code 这样的框架,本身就是一个非常重要的前置条件。它们很大的价值在于,把国内那些还没有完全逼近闭源模型、但已经位于开源模型赛道前列的模型,上限显著拉高了
- 可以依靠一整套 harness 系统、skills 体系,以及很多初步但有效的设计,来保证任务完成度和准确率
- OpenClaw 点燃了大家的想象力,让大家发现大模型外的 Agent 层有巨大空间。更多人,不仅是研究员,开始参与 AGI 变革,这在一定程度上替代了重复工作,释放了时间去做更有想象力的事
- 那么其实我们又到了另外一个维度的竞争,这个竞争就是算力,或者说是推理芯片,甚至下到能源