最近一直在折腾 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 可以提高稳定性,但无法保证模型一定执行。
第三,如果知识和经验无法进入执行链,再完善的设计价值都会被削弱。
这些结论都还在继续验证,不代表最终答案。
我想请教社区几个问题
- 有没有人也经历过类似的认知变化?最后你们定位到的核心瓶颈是什么?
- 如果目标是在尽量不修改 HanaAgent 主体的情况下增强能力,除了 Runtime、Hook、插件化之外,还有哪些值得继续探索的方向?
- 我目前越来越倾向于把重点放在"执行链"而不是"知识存储",这个判断有没有明显的盲区?
欢迎直接反驳我的结论,或者分享你们踩过的坑。
我更希望获得的是探索路径,感谢分享