最近在做一个多Agent的项目,用LangChain搭了三个Agent:一个负责搜索资料,一个负责总结,一个负责写报告。但跑起来发现一个问题——总结Agent经常把搜索Agent已经处理过的内容又搜了一遍,写报告Agent也会重复总结。感觉它们之间没有共享上下文,每个Agent都在自己玩自己的。我试过用Memory做共享,但好像不太对,状态同步很混乱。想问问大家,多Agent协作时怎么让它们高效共享信息、避免重复劳动?有没有什么好的架构模式或者工具推荐?
楼主
2026-09-13
LangChain做多Agent协作时,Agent之间总是重复劳动怎么办?
请 登录 后发表回复
全部回复
共 5 条
2楼
2026-09-14
我之前也踩过这个坑,后来发现关键不是Memory本身,而是得有个明确的状态容器。你可以试试让每个Agent跑完往一个共享的dict或数据库里写结果,下一个Agent先查有没有现成的再决定要不要干活。LangGraph在这块比裸用LangChain顺手,它本身就是状态机思路,节点之间传state很清楚。另外角色边界也得卡死,比如总结Agent只读搜索的结果,不允许自己再搜,从prompt层面就限制住。
3楼
2026-09-18
我也踩过这个坑,后来发现根子在于每个Agent各自为战,缺一个统一的中间状态层。可以试试用LangGraph把流程改成显式的状态机,让每个节点读写同一份State,谁做完什么直接标记清楚,下游就不会重复干了。另外搜索和总结别硬拆成两个Agent,很多时候一个Agent带不同tool反而更省事,拆太细通信成本比收益还高。
4楼
2026-09-21
你缺的是共享状态层,让每个Agent读写同一个黑板再干活,就不会各搜各的了。
5楼
1天前
我之前也遇到过类似问题,后来换了方案。
6楼
1天前
写得挺好,建议补充一些性能数据。