Add Milky notes: 20 file(s)
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# 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不行,先看接口是否有问题 |
|
||||
| 关系定位 | 互补,非替代 | 互补,非替代 |
|
||||
|
||||
---
|
||||
|
||||
## 局限性
|
||||
|
||||
1. **最适合确定性、规则型的环境**:需要大量创造性、开放性的任务可能效果不明显
|
||||
2. **依赖训练轨迹**:需要有足够多的失败案例才能总结干预规则
|
||||
3. **干预维度固定**:目前是4个维度,能否扩展到更多类型环境还需验证
|
||||
|
||||
---
|
||||
|
||||
## 未来发展方向
|
||||
|
||||
### 1. 自动发现与进化
|
||||
不用人工定义4个维度,让系统自己发现需要什么样的接口适配
|
||||
|
||||
### 2. 跨环境迁移
|
||||
在一个环境上学到的接口适配,能否用到另一个类似环境
|
||||
|
||||
### 3. 协同进化(最具潜力)
|
||||
Harness和模型的协同进化,接口层与模型共同进化
|
||||
|
||||
---
|
||||
|
||||
## 对普通人的意义
|
||||
|
||||
### 短期
|
||||
- 企业级Agent体验大幅提升
|
||||
- "你得用精确话术跟AI说话"的情况越来越少
|
||||
- 接口层帮你把意图转换成系统能理解的格式
|
||||
|
||||
### 中期
|
||||
- Agent开发门槛大幅降低
|
||||
- 不需要海量数据去SFT大模型
|
||||
- 只要把接口适配做好,中等模型就能有很好的效果
|
||||
|
||||
### 长期
|
||||
- 可能改变整个AI产业的分工:
|
||||
- **大模型厂商**:负责通用推理能力
|
||||
- **垂直领域厂商**:负责接口适配层
|
||||
- 比现在每个公司都训练自己的模型更高效
|
||||
- Harness可解释、可审计,解决监管问题
|
||||
|
||||
---
|
||||
|
||||
## 核心启示
|
||||
|
||||
> 不要一遇到问题就想着堆算力、堆参数。有时候真正的突破来自于对问题本身的重新定义。
|
||||
>
|
||||
> 不是模型不行,可能是我们的接口不行。
|
||||
>
|
||||
> 换个角度看问题,整个世界都不一样了。
|
||||
Reference in New Issue
Block a user