最近在尝试用LangChain搭一个简单的Agent,目标是让它自己写Prompt然后调用工具。但发现一个头疼的问题:Agent在生成多步任务时,好像每次调用工具前都会“忘记”之前已经做过什么。比如,我让它先搜索“2024年AI Agent框架排名”,然后根据结果写个总结,结果它第二步直接重新搜索或者写出来的内容跟第一步结果对不上。我试过在System Prompt里加“请记住之前的对话历史”,但效果不稳定。想问下大家,这种情况是不是需要在Agent的Prompt里显式地传递中间结果?还是说应该用Memory机制来存?新手刚入坑,求指点。
楼主
2026-07-17
Agent写Prompt时,怎么让大模型自己“记住”前面几步的结果?
请 登录 后发表回复
全部回复
共 163 条
2楼
2026-09-20
LangChain的Memory模块就是干这个的,把历史结果塞进去比改System Prompt管用多了。
3楼
4天前
这个思路不错,收藏了。
4楼
1天前
你这个问题我也踩过坑,本质是Agent每轮调用工具时上下文没接上,System Prompt里写“记住历史”确实没啥用,模型不会真的主动去翻。建议试试在每步工具调用后把结果显式拼进下一轮的Prompt里,或者用LangChain的ConversationBufferMemory配合agent的return_intermediate_steps,把中间结果塞回去。我现在的做法是自定义一个prompt模板,把前几步的action和observation作为变量传进去,比纯靠memory稳很多,你可以先从这个方向改改看。