Articles
Agent Optimizer:不训练模型,而是优化经验与策略
Agent 变强不一定首先意味着修改模型权重,也可以通过经验记忆、策略调整和工具调用方式的优化实现。
我们讨论 Agent 优化时,一个问题很快出现了:Agent 变强,是不是一定要重新训练模型?我当时越来越倾向于认为,不一定。
Model + Experience + Policy + Tool Routine + Evaluation
模型权重只是其中的一层。
一、把 Agent 和模型分开
模型变弱 ↓ Fine-tuning / RL ↓ 模型变强 另一条路径: Task → Experience → Retrieval / Reflection → Policy Adjustment → Next Action
这里并没有修改 LLM 的参数。优化的是 Agent 如何利用已经发生过的经验,以及下一次面对类似任务时采取什么策略。这也是我们讨论 Local RL Optimizer 时形成的一个方向:把优化器放在模型之外,让它优化策略,而不是直接修改 LLM weights。
二、经验可以成为 Agent 的外部参数
Task ↓ Trajectory ↓ Outcome ↓ Critique ↓ Case / Experience Memory
一次执行产生的轨迹不应该只是日志。它可以成为下一次 Agent 决策时能够使用的经验。
三、JitRL 给我的一个启发
我们讨论过 ICLR 2026 的 JitRL。它让我注意到一个方向:不改变模型梯度,也可以通过非参数化的经验记忆来估计行动的价值。
当前任务 ↓ 寻找相似历史轨迹 ↓ 比较历史 Action 的结果 ↓ 估计 Action Advantage ↓ 帮助当前决策
这里的意义不只是降低训练成本,也让我开始把 Agent Optimizer 看成一个独立系统。
四、EvoTest:执行本身成为改进输入
Actor ↓ 执行任务 ↓ Transcript ↓ Evolver ↓ 分析问题 ↓ Prompt / State / Tool Routine ↓ 下一轮 Actor
这和“重新训练一个模型”是不同的工程路径。它优化的是 Agent 的行为程序:Prompt、Persistent Memory、State、Tool Call Routine 和 Execution Strategy。
五、Prompt Evolution 说明了另一种优化对象
我们还聊过 DSPy 生态和 GEPA(Reflective Prompt Evolution)。这里让我关注的不是某一个 benchmark,而是它体现出的方向:优化对象不一定是模型参数,也可以是模型周围的程序。
LLM + Prompt + Tools + Memory + Policy + Evaluation
如果把 Agent 看成这个整体,那么真正需要优化的可能是整个行为程序,而不是只有 LLM。
六、Optimizer 最危险的问题:错误的评价信号
API PASS
12 tests passed
outcome.ok = true
↓
用户:问题没有解决
如果 Optimizer 只相信前面的信号,它就会把这个失败案例当成成功案例继续学习。
错误 Proxy
↓
Optimizer
↓
更强的策略
↓
更高的 Proxy 分数
↓
更大的 Real Outcome 偏差
因此 Optimizer 的第一步不是“怎么优化”,而是先回答:这个成功信号是真的吗?
七、Case Memory 应该成为 Optimizer 的第一层
Tier 1
Case / Experience Memory
Task
Critique
Trajectory
Outcome
Ground Truth Status
Cost
↓
Decision Layer
↓
Prompt / Policy / Tool Routine
↓
Agent
这些 Case 可以被向量化,用于寻找相似问题;上面再放一个轻量的 Decision Layer。这样比一开始就重新训练一个模型更轻,也更容易观察究竟是什么发生了变化。
这一层我先做成了一个很薄的实现:llm-trace-reuse(站内:Projects)。不改模型权重,只在任务开始时路由:命中 playbook 就走手册,能复用上次的 preferred_path 就不要重新规划。它还没有完整的 Ground Truth,所以 outcome.ok 仍然可能只是 Proxy。
八、Task Fingerprint 连接经验与任务
如果所有历史经验只是一个巨大的向量库,那么相似度本身并不足够。我们讨论过 task_fingerprint:它试图描述问题类型、失败模式、所需能力以及过去什么策略有效。
“和它长得像”
↓
“属于同一种问题,因此某种策略可能有效”
九、Optimizer 真正优化的可能是“下一次怎么做”
Agent Optimizer
│
┌───────────────┼───────────────┐
↓ ↓ ↓
Experience Policy Tool Routine
Memory Adjustment Tuning
│ │ │
└───────────────┼───────────────┘
↓
Agent
↓
Outcome
↓
Evaluation
↓
Memory
↺
它优化的不是“模型知道多少”,而是:面对一个任务,Agent 下一次应该怎么做。
十、为什么这条路线可能更适合 Agent
Agent 的任务分布可能一直变化。如果每遇到一种新情况都重新训练模型,周期和成本都很高,也很难知道究竟是什么改变了模型行为。
新问题 ↓ 执行 ↓ 得到经验 ↓ 验证结果 ↓ 写入 Case Memory ↓ 下一次相似任务直接利用
Agent 可以形成一种轻量的持续改进机制:不是让模型本身不断变化,而是让模型周围的系统不断积累经验。
十一、这不意味着永远不要训练模型
我并不认为经验记忆和策略优化可以替代模型训练。更合理的理解是,它们处在不同层次:
Model Training
↓
基础能力
Agent Optimizer
↓
任务策略 / 经验 / 工具使用方式 / 行为程序
Runtime / Control Plane
↓
执行与治理
十二、最终形成一个持续学习的 Loop
Goal ↓ Agent ↓ Action ↓ Environment ↓ Outcome ↓ Evaluation ↓ Experience ↓ Optimizer ↓ Policy / Memory / Tool Routine ↓ Next Agent ↺
这里最重要的不是“自动优化”四个字,而是:经验不会只留在日志里,而是成为下一次决策的一部分。
所以 Agent 的持续进化未必首先表现为模型参数发生变化,也可能表现为经验越来越丰富、策略越来越稳定、工具调用越来越合理、失败模式越来越少。
而整个系统真正需要解决的,仍然是另一个问题:Optimizer 到底应该相信什么结果? 评测怎么接到优化器,见 Agent 的评价:Proxy Metric ≠ Real Outcome。