Skip to content

Latest commit

 

History

History
118 lines (76 loc) · 3.89 KB

File metadata and controls

118 lines (76 loc) · 3.89 KB

汇报文档:基于行为性干预的Agent能力提升路径探索

一、典型案例导入:行为性干预的力量

通过具体实例展示**“模型明明知道,但没有做”**的现象,从而引出我们关注的“行为缺失”问题。

案例一:明知可查文档,却不主动查

目标:实现基于flash_attn_with_kvcache的paged attention.

问题现象:模型被要求调用该函数,但直接尝试书写调用代码,未主动查阅文档,导致报错或行为失败。

一旦引导:加入一句模糊引导(e.g., “让我首先查看这个函数的定义”)后,模型能立即能反应过来用pydoc。

✅ 说明这是一个行为触发问题,而不是知识缺失问题。


案例二:网页查股票失败却不切换策略

初始行为:模型试图网页查询股票,但API不可用(未授权/Key失效)。

行为卡死:模型陷入反复请求网页的回路中。

一段模糊干预后转变

“Since we're encountering issues with API rate limits and invalid API keys, let’s try another approach by python…”

模型立即切换到 yfinance,并输出:

pip install yfinance

✅ 显示其具备备选方案知识,但未能自主切换。


这些案例揭示出一个关键问题:

模型不是不知道,而是不知道“什么时候该做什么”。

这正是“行为性干预”的切入点: 我们不需再“告诉模型答案”,而是训练它“在关键节点上主动触发已有知识”。


二、动机与核心理念:调动而非灌输

我们提出一个关键观点:

Agent的知识瓶颈并不主要在“事实知识缺失”,而在“行为模式不对”

我们将干预划分为两类:

类型 定义 示例
事实性干预 明确告知具体信息或答案 “我应该用yfinance”
行为性干预 只引导行为路径,不告知答案 “我好像可以用python解决这个问题” / “wait, it seems xxx”

我们的方法强调后者。


三、为什么相信这条路径有效?

1. 易于学习

  • 行为模式的触发概率本身不低, (在正确的命名工具后);
  • 在标注中观察到大量 in-context 模仿行为;
  • 初步 SFT 结果显示行为可快速迁移。

2. 易于标注

  • 不需要逐条补知识,只需做行为示范;
  • 少量专家标注几个问题就能快速总结出“行为准则”;

3. 提升明显

  • DevStral + 人类行为干预远超 DeepSeek;
  • 模型缺乏基本能力如 Debug这种基础的能力;
  • 提示这个方向仍有大量未挖掘潜力。

四、具体执行路径

步骤 1:专家标注与行为归类

  • 研究人员围绕自己熟悉的repo设计少量复杂的Swe任务;
  • 标注其完整解题行为链(包括中间思考);
  • 建议5–10人,1–2周即可;
  • 整理汇总成标注准则

步骤 2:SFT阶段(行为训练)

  • 针对上述行为构造自动合成数据, 不涉及多个行为组合, 只针对单一行为;
  • 例如用 inspect + 多repo合成很多代码查找类的问题;
  • 少量标注即可产生行为迁移。

步骤 3:RL阶段(大规模能力泛化)

  • 用wild code构造任务,模型自行强化;

  • 推荐构造方式:

    • 通过llm删除函数片段再要求agent补全;
    • 通过llm对代码加入bug后要求修复;
    • 使用真实的 commit/issue。

✅ 构造式任务可控性强,适合自动化大规模训练。

步骤 4:专家回顾分析缺失能力并补齐

  • RL结束后再用专家对行为覆盖情况进行分析;
  • 用于指导下一轮行为补齐训练。