5.1 KiB
5.1 KiB
Life Harnessness:北大Agent优化新范式
核心发现
传统Agent优化的核心假设被推翻:Agent的效果并非完全由模型能力决定。北京大学这篇论文证明,在很多情况下,Agent的失败不是因为模型"笨",而是因为模型与环境之间的接口不匹配。
Agent的本质再定义
传统观点认为:Agent ≈ LLM,能力强则Agent强
论文新观点:Agent是一个完整的交互循环系统,包含以下组件:
环境 → 观测 → 运行时系统 → 工具定义 → 动作模型 → 输出动作
↑ ↓
←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←
| 组件 | 说明 |
|---|---|
| 运行环境 | 环境给观测,定义工具和动作 |
| 动作执行器 | 模型输出动作,执行器执行 |
| 反馈循环 | 执行结果反馈回来更新下一步决策 |
关键洞察:模型输出相同,结果可能完全不同。整个行为是模型和运行时环境共同决定的。
问题根源:接口层不匹配
传统Agent常见的失败场景:
- 模型不知道API的调用格式
- 不知道什么动作是合法的
- 不知道反馈信号是什么意思
- 不知道什么时候该停止
传统解决方案:通过SFT(监督微调)把这些知识灌进模型权重
新方案思路:为什么把环境特定的知识硬编码到模型里?这些东西应该在接口层处理。
Life Harnessness 框架
核心思路
不改模型权重,只改运行时接口
从训练轨迹中学习,把反复出现的交互失败转换成可复用的干预。
四个维度的可复用干预
| 维度 | 功能 | 说明 |
|---|---|---|
| 环境契约 (Environment Contract) | 告诉模型环境规则 | 明确这个环境中什么能做、什么不能做 |
| 程序技能 (Program Skill) | 任务分解标准化 | 把复杂任务拆解成标准流程 |
| 动作实现 (Action Implementation) | 格式转换 | 把模型的高层意图转换成环境能理解的精确格式 |
| 轨迹调控 (Trajectory Regulation) | 流程控制 | 决定什么时候该回溯、什么时候该停止、什么时候该重试 |
核心特征
- 训练后固定:Harness一旦训练好就固定下来,评估时不再改变
- 非动态调整:不是推理时还在动态调整的东西
- 标准化接口适配层:类似于给Agent配了一个"经验丰富的项目经理"
实验结果
评估规模
- 7个确定性环境
- 18个模型骨干(从最小到最大全覆盖)
- 126个模型-环境组合
效果数据
| 指标 | 数值 |
|---|---|
| 有提升的组合数 | 116 / 126 |
| 平均相对提升 | 88.5% |
88.5%是接近翻倍的提升,不是小数点后一位的微弱改进。
迁移能力验证
- 使用 Qwen-34B 的训练轨迹进化出来的Harness
- 能直接迁移到其他 17个模型 上
- 从最小到最大的模型全部适用
关键发现:这说明Harness抓到的不是某个模型的特性行为,而是环境本身的结构。
范式转变
| 维度 | 旧范式(模型中心) | 新范式(接口中心) |
|---|---|---|
| 优化方向 | 调模型:SFT、蒸馏、更大参数 | 调接口:优化运行时适配层 |
| 适用场景 | Agent不行就调模型 | Agent不行,先看接口是否有问题 |
| 关系定位 | 互补,非替代 | 互补,非替代 |
局限性
- 最适合确定性、规则型的环境:需要大量创造性、开放性的任务可能效果不明显
- 依赖训练轨迹:需要有足够多的失败案例才能总结干预规则
- 干预维度固定:目前是4个维度,能否扩展到更多类型环境还需验证
未来发展方向
1. 自动发现与进化
不用人工定义4个维度,让系统自己发现需要什么样的接口适配
2. 跨环境迁移
在一个环境上学到的接口适配,能否用到另一个类似环境
3. 协同进化(最具潜力)
Harness和模型的协同进化,接口层与模型共同进化
对普通人的意义
短期
- 企业级Agent体验大幅提升
- "你得用精确话术跟AI说话"的情况越来越少
- 接口层帮你把意图转换成系统能理解的格式
中期
- Agent开发门槛大幅降低
- 不需要海量数据去SFT大模型
- 只要把接口适配做好,中等模型就能有很好的效果
长期
- 可能改变整个AI产业的分工:
- 大模型厂商:负责通用推理能力
- 垂直领域厂商:负责接口适配层
- 比现在每个公司都训练自己的模型更高效
- Harness可解释、可审计,解决监管问题
核心启示
不要一遇到问题就想着堆算力、堆参数。有时候真正的突破来自于对问题本身的重新定义。
不是模型不行,可能是我们的接口不行。
换个角度看问题,整个世界都不一样了。