在花费一周持续探索优化路径后,我把自己的 HanaAgent 优化方案推翻了四次

0 阅读4分钟

最近一直在折腾 HanaAgent。

最开始,我只是想解决一个很简单的问题:希望 Agent 能够真正"成长",而不是每次都像重新开始。

我原本以为这是一个 Memory 问题。

第一阶段:我认为 Memory 就是最大的短板

最开始的思路其实很直接。

Agent 会忘记信息,所以增加长期 Memory;Memory 越丰富,Agent 理论上就越聪明。

于是开始围绕长期记忆设计方案,包括记忆分类、项目记忆、任务记忆以及更新策略。

刚开始我认为方向完全正确。

但随着测试越来越多,一个问题开始出现。

Memory 越来越大,Prompt 越来越长,维护成本越来越高,而 Agent 的行为改善却没有达到预期。

我开始怀疑自己的第一个假设。

Memory 能保存信息,但不能保证 Agent 会正确使用这些信息。

于是我放弃继续堆 Memory。


第二阶段:我开始认为 Workflow 才是真正的问题

既然不是 Memory,那是不是 Workflow?

于是我开始建立固定流程。

规范输入。

规范知识更新。

规范长文本解析。

希望 Agent 每一步都按照固定流程执行。

测试下来确实比以前稳定一些。

但新的问题又出现了。

很多流程设计得很好。

模型却不一定执行。

尤其是复杂任务,经常又回到自己的默认行为。

这时候我意识到:

Workflow 能约束流程,但不能真正约束模型。

于是第二个假设也被我推翻。


第三阶段:我开始建立 Experience Library

后来我把重点放到经验沉淀。

希望 Agent 不只是保存知识,而是保存已经验证过的经验。

建立统一的经验模板。

记录成功案例。

记录失败案例。

希望以后遇到类似问题能够直接复用。

效果确实不错。

重复犯错减少了。

但是新的问题还是来了。

经验存在。

并不代表 Agent 一定会调用。

也就是说:

经验库存在,不等于经验真正进入执行链。

这时候我开始意识到,我可能一直在优化结果,而不是优化执行过程。


第四阶段:一路追到了 Runtime

后来整个探索方向发生了变化。

我不再研究 Memory。

也不再研究 Workflow。

开始研究 Runtime。

开始研究插件。

开始研究 Tool Calling。

开始研究 Adapter。

开始研究 Hook。

因为我越来越怀疑:

真正决定 Agent 行为的,不是知识有没有保存。

而是这些知识有没有机会进入执行链。

所以最近一直在尝试寻找更加合适的注入点,希望尽量不修改 HanaAgent 主体,而是在插件层完成能力扩展。

目前还没有最终答案。

但整个思路已经和最开始完全不同了。


回头看,我犯过最大的几个错误

错误一:把 Agent 当成人来理解

我一直认为:

人需要记忆。

所以 Agent 最大的问题一定也是记忆。

后来发现这是我自己的思维投射。

Agent 和人并不是同一种工作方式。


错误二:认为保存经验等于利用经验

后来发现:

经验只是数据。

真正重要的是:

Agent 是否会主动检索。

是否会主动调用。

是否真正影响执行。


错误三:一直优化表层,而没有追执行链

前面一直围绕 Memory、Workflow、Experience 做优化。

直到后来才意识到:

很多问题最终都会落到 Runtime 和执行路径。

很多看起来是"知识问题"。

实际上可能是"执行问题"。


目前我的认知

这几轮探索下来,我暂时得到三个结论。

第一,Memory 很重要,但它不是 Agent 能力提升的唯一瓶颈。

第二,Workflow 可以提高稳定性,但无法保证模型一定执行。

第三,如果知识和经验无法进入执行链,再完善的设计价值都会被削弱。

这些结论都还在继续验证,不代表最终答案。


我想请教社区几个问题

  1. 有没有人也经历过类似的认知变化?最后你们定位到的核心瓶颈是什么?
  2. 如果目标是在尽量不修改 HanaAgent 主体的情况下增强能力,除了 Runtime、Hook、插件化之外,还有哪些值得继续探索的方向?
  3. 我目前越来越倾向于把重点放在"执行链"而不是"知识存储",这个判断有没有明显的盲区?

欢迎直接反驳我的结论,或者分享你们踩过的坑。

我更希望获得的是探索路径,感谢分享