Skip to content

173787247/multi-agent-article-system

Repository files navigation

多Agents协作与通信机制 - 基于MCP协议的文章自动编写系统

项目概述

本项目实现了一个基于MCP (Model Context Protocol) 的多代理系统,能够协作完成文章写作任务。系统包含四个专业化代理,按顺序协作完成从研究到最终成稿的完整流程。

核心功能

  • 输入: 用户问题(如"帮我写一篇关于 AI Agent 的文章")
  • 输出: 完成的文章文档和执行过程记录

系统架构

四个专业化代理

  1. 研究代理 (Research Agent)

    • 使用搜索工具收集相关信息
    • 输出结构化的研究资料
  2. 撰写代理 (Writing Agent)

    • 基于研究结果生成文章初稿
    • 支持调整文章风格和长度
  3. 审核代理 (Review Agent)

    • 检查内容质量和逻辑一致性
    • 提供修改建议
  4. 润色代理 (Polishing Agent)

    • 优化语言表达和文章结构
    • 确保风格一致性

技术特性

MCP协议集成

  • 基于MCP协议实现代理间通信
  • 支持结构化消息传递
  • 实现上下文保持和状态管理

三级重试策略

  • 一级: 相同代理重新执行(最多2次)
  • 二级: 切换至备用代理执行
  • 三级: 向用户请求补充信息

实时协作展示

  • 终端实时展示协作过程
  • 完整的执行过程记录
  • 异常处理日志

快速开始

安装依赖

pip install -r requirements.txt

运行系统

python main.py

使用示例

# 启动文章编写系统
python main.py "帮我写一篇关于AI Agent的文章"

项目结构

multi-agent/
├── main.py                 # 主入口文件
├── report.md              # 示例输出文档
├── agents/                # 代理实现
│   ├── research_agent.py  # 研究代理
│   ├── writing_agent.py   # 撰写代理
│   ├── review_agent.py    # 审核代理
│   └── polishing_agent.py # 润色代理
├── mcp/                   # MCP协议实现
│   ├── server.py          # MCP服务器
│   ├── client.py          # MCP客户端
│   └── protocol.py        # 协议定义
├── tools/                 # 工具函数
│   ├── search_tools.py    # 搜索工具
│   ├── writing_tools.py   # 写作工具
│   └── review_tools.py    # 审核工具
├── workflows/             # 工作流定义
│   └── article_workflow.py # 文章编写工作流
└── utils/                 # 工具函数
    ├── retry_strategy.py  # 重试策略
    └── logger.py          # 日志系统

核心特性

1. 多代理协作

  • 四个专业化代理按顺序协作
  • 基于LangGraph的工作流管理
  • 实时状态同步和通信

2. MCP协议支持

  • 标准化的代理间通信协议
  • 上下文保持和状态管理
  • 支持异步消息传递

3. 智能重试机制

  • 三级重试策略
  • 自动故障恢复
  • 完整的异常处理日志

4. 实时监控

  • 终端实时展示协作过程
  • 详细的执行日志
  • 性能监控和统计

使用场景

  • 技术文章自动编写
  • 研究报告生成
  • 内容创作辅助
  • 多代理协作研究

技术栈

  • LangChain: 代理框架
  • LangGraph: 工作流管理
  • MCP: 代理通信协议
  • OpenAI: 语言模型
  • Rich: 终端界面
  • Pydantic: 数据验证

许可证

MIT License

About

基于MCP协议的多代理文章自动编写系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors