Agentic Engineering 智能体编排
只是一个上下文助手-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 领域专长。产品文档、架构决策记录、风格指南、合规要求。按需加载(s05),不要前置塞入。Agent 应该知道有什么可用,然后自己拉取所需。
-
管理上下文。 给 agent 干净的记忆。子 agent 隔离(s04)防止噪声泄露。上下文压缩(s06)防止历史淹没。任务系统(s07)让目标持久化到单次对话之外。
-
控制权限。 给 agent 边界。沙箱化文件访问。对破坏性操作要求审批。在 agent 和外部系统之间实施信任边界。这是安全工程与 harness 工程的交汇点。
-
收集任务过程数据。 Agent 在你的 harness 中执行的每一条行动序列都是训练信号。真实部署中的感知-推理-行动轨迹是微调下一代 agent 模型的原材料。你的 harness 不仅服务于 agent -- 它还可以帮助进化 agent。
未来
- 像OpenClaw、Claude Code这样的框架,本身就是一个非常重要的前置条件。它们很大的价值在于,把国内那些还没有完全逼近闭源模型、但已经位于开源模型赛道前列的模型,上限显著拉高了。
- 可以依靠一整套harness系统、skills体系,以及很多初步但有效的设计,来保证任务完成度和准确率
- OpenClaw点燃了大家的想象力,让大家发现大模型外的Agent层有巨大空间,更多人,不仅是研究员,开始参与AGI变革,这在一定程度上替代了重复工作,释放了时间去做更有想象力的事
- 那么其实我们又到了另外一个维度的竞争,这个竞争就是算力,或者说是推理芯片,甚至下到能源