智能体编排的目标 目的:写给做 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 变革,这在一定程度上替代了重复工作,释放了时间去做更有想象力的事 那么其实我们又到了另外一个维度的竞争,这个竞争就是算力,或者说是 推理芯片 ,甚至下到能源