Agentic Engineering 智能体编排
只是一个上下文助手-Agent工程化
我们知道当前不管是Code、Cowork 以及 比较火的OpenClaw 等助手类的Agent,不外乎两个特点
- 所有的自洽和逻辑都只能维持在当前的上下文
- 上下文可以被动态的追加、压缩、整理、拼接
- 外挂一些固定的处理接口:Task、SubAgent、Skills、Mcp等等
- 支持额外的记忆
- 支持和现有一些软件的控制、执行
- MCP 支持现有一些服务的的对接
主要的问题
- 上下文局限性,决定了不能进行大范围,高深度的思考和自洽
- 使用有限的上下文处理经过拆分的大范围的知识片段会非常的繁琐
- LLM本身存在的抽象深度问题,智商不够
- 虽然现在的上下文长度可以达到1M,但是实际的理解深度还是非常欠缺
- 依赖把全部的信息塞到LLM的上下文来维持自洽
- 动态学习能力的欠缺
- 没有主动的学习和总结的能力
- 效率低
- LLM需要深度思考
- 拆解大任务成很多的小任务
- 智能体在遇到困难时陷入低效试错循环,而非通过反思实现突破
- 利用todo list工具,进行简单的线性任务规划
- 如果中间步骤执行异常,将难以处理
具体问题
- 复杂非直接可读代码:流程图的xml,PCB的xml
- 编程问题的测试和复现比较困难
- 需要结合系统服务,图形界面的应用程序
- 需要复杂的测试步骤,键盘输入测试输入法
- 需要其他的网络环境
- 随机问题
智能体的自动编排
- LLM比喻成一个计算器,那么Agent编排的目标就是,使用计算器开发一个编译器
- 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(交互流): 用户的指令以及上下文的维护。