Table of Contents
本文记录我在尝试构建智能体和多智能体系统的过程,探索其应用潜力。这会是一个系列文章,这一章节关注的是智能体的构建与多智能体动态交互行为的实现。最后会给出各类学术文章生成的报告示例。
前情
智能体发展迅速,但我对它的了解只停留在各种名词和概念的层面,于是想通过实际动手构建一些智能体系统来加深理解。
之前使用 Cherry Studio 结合个人知识库 MCP 工具实现的一个文章理解的智能体:文本从 PDF 中提取出来后,结合包含理解文章和生成报告任务的提示词发送给API,最终 LLM 调用 MCP 工具生成报告储存在知识库中。
现在的模型 API,上下文窗口已经足够大,可以直接将文章内容发送给模型进行处理,这个智能体的效果还挺不错的。但更进一步,我想试试设计不同的智能体和多智能体交互行为,实现读论文这个任务上多样的需求:
- 体系化的文章理解
- 模型自己决定阅读策略
- 多智能体互相交流(提问和回应)寻求共识
智能体框架
为了挑选合适的工具,我去 Reddit 看看都在用什么,发现下面这些项目比较流行:
- crewAI 多智能体框架,可以快速构建多 agent 协作、任务委派与工具调用流程。
- AutoGen 微软的项目,专注多智能体系统,通过对话协作(agent-agent、agent-人、工具集成)解决复杂任务流程
- Agno 专注多模态智能体的构建。
- openai-agents-python OpenAI 的项目,主打极简 API 构建 agent,支持同步和异步模式,工具调用和流程控制。
- PydanticAI Pydantic 团队的项目,专注于让 LLM 输出结构化、类型安全、验证可控,强化数据模型定义与验证能力。
- LangGraph LangChain 的项目,通过图结构(graph)方式编排工作流。
我选用了 PydanticAI,主要是看中他数据模型定义和验证的能力。 另外,PydanticAI 并没有封装太多智能体的行为逻辑,更多是提供一个工具库,方便我自己设计智能体和多智能体交互的流程。
系列展望
这个系列文章预计会有四个部分:
- 第 0 章:任务的定义,难点,构建智能体使用的工具(本文)
- 第 1 章:三种阅读理解学术文献的智能体框架
- 第 1.5 章:交互多智能体框架
- 第 2 章:文本检索增强生成与高质量召回
- 第 3 章:通过工具调用使能更多能力
- 第 4 章:混合模型编排
敬请期待!