AutoGen 多智能体初体验:让两个 AI 自己对话解决问题的尝试与翻车
张张老师956 阅读
微软的 AutoGen 主打多智能体协作:你定义几个角色,让它们自己对话完成任务。听起来很酷,我实际跑了一周,说下真实体验。
最简单的用法:两个 Agent 对话。
Python
from autogen import ConversableAgent
writer = ConversableAgent("writer", llm_config=llm_config,
system_message="你是资深 Python 工程师")
reviewer = ConversableAgent("reviewer", llm_config=llm_config,
system_message="你是代码审查员,挑剔且严谨")
result = writer.initiate_chat(reviewer, message="写一个爬虫抓取某个网站")
跑起来之后你会看到 writer 写代码、reviewer 挑毛病、writer 改代码……能来回好几轮,最后生成一个"看起来不错"的版本。
实际遇到的问题:
第一,对话会跑偏。两个模型聊着聊着就脱离原始需求了,特别是没有约束最大轮数的时候。我设置 max_turns 后好一些,但还是会看到它们讨论一些无关话题,比如互相恭维。
第二,质量不稳定。多轮对话放大了模型的幻觉。writer 说"我用了 requests 库",reviewer 说"requests 用法有误"——但可能两个都是错的。多智能体并不能保证正确性,只是让错误看起来更"有来有回"。
第三,成本翻倍。两个模型来回对话,token 消耗是指数级的。一轮任务下来,比单个模型调用贵 3-5 倍。
第四,调试困难。出问题了很难定位是哪个 Agent 哪一轮说错了话。
我的结论:多智能体适合"头脑风暴"类任务,比如方案讨论、需求分析;不适合"必须正确"的任务,比如代码生成、数据处理。如果你想要的是后者,建议单 Agent + 工具调用 + 人工审核,比多智能体靠谱得多。
AutoGen 2.0 改了很多 API,如果要用记得看新版文档,网上老教程大多失效了。
评论0
还没有评论,来抢沙发~