MultiAgentPPT
基于 A2A+MCP+ADK 架构的多智能体 PPT 生成系统,输入主题自动调研、生成大纲、流式渲染可编辑 PPT
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 A2A+MCP+ADK 架构的多智能体 PPT 生成系统,输入主题自动调研、生成大纲、流式渲染可编辑 PPT
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你一定遇到过这样的场景:明天要做项目汇报,今晚加班赶PPT,翻遍了全网资料却发现内容还是干巴巴的——没有数据支撑、没有行业背景、页面排版也是复制粘贴的流水账。手动搜索、整理、撰写、排版,一套流程下来,几个小时就没了。
MultiAgentPPT 正是为解决这一痛点而生。它用多智能体(Multi-Agent)替代人工流水线:输入一个主题,系统自动完成资料检索、大纲生成、内容撰写、PPT渲染,全流程流式输出,你实时看到每一页是怎么"长"出来的。
MultiAgentPPT 的作者 johnson7788 在 GitHub 上活跃多年,专注于 AI Agent 方向的工程实践。2025年,他注意到市面上虽然有不少 AI 生成 PPT 的工具,但大多数本质上是"模板填充器"——用户选模板、填文字,AI 的参与感极弱。
他希望做一套真正能"理解主题、主动调研、自动生成"的 PPT 生成系统。经过数月迭代,MultiAgentPPT 从一个简单的单 Agent 脚本,逐步演变为集成 A2A(Agent-to-Agent)协议、MCP(Model Context Protocol)和 Google ADK(Agent Development Kit)三大架构的多智能体协作平台,在 GitHub 上获得 1600+ Stars,成为该领域的标杆开源项目之一。
MultiAgentPPT 的技术选型极具前瞻性,不是简单拼凑工具,而是围绕多智能体协作这一核心需求精心设计。
A2A 是 Google 主导的智能体通信协议,旨在解决不同厂商、不同框架构建的 Agent 之间互联互通的问题。在 MultiAgentPPT 中,大纲生成 Agent(Outline Agent)和 PPT 内容生成 Agent(Slide Agent)通过 A2A 协议通信——Outline Agent 生成的大纲通过 A2A 发送给 Slide Agent,后者接收后启动并行处理流程。
A2A 协议的优势在于状态感知:Agent 之间不是简单的请求-响应,而是共享任务状态,支持流式输出和长时间运行的复杂任务。这对于 PPT 生成这种多步骤协作场景至关重要。
MCP 是 Anthropic 主导的模型上下文协议,允许 AI 模型调用外部工具和知识库。在 MultiAgentPPT 的 slide_outline 模块中,MCP 被用来连接本地 RAG(检索增强生成)知识库——当大纲生成 Agent 需要获取领域背景资料时,通过 MCP 调用 rag_tool,从本地知识库检索相关内容,生成的大纲不再是空洞的标题,而是有真实数据支撑的内容框架。
MCP 的另一大优势是工具标准化:无论是 Bing 搜索、本地数据库还是 API 调用,都通过统一的 MCP 接口暴露给 Agent,无需为每个工具单独写适配代码。
ADK(Agent Development Kit)是 Google 提供的官方 Agent 开发工具包。相比 LangChain 等通用框架,ADK 对 Google 自家的 Agent 模式(Sequential Agent、Loop Agent)有原生支持,且与 Gemini 模型深度集成。
MultiAgentPPT 中,ADK 被用来构建三种核心 Agent 模式:
整个 PPT 生成流程如下:
这是整个系统的大脑。slide_outline 模块负责接收用户主题,通过 MCP 工具调用本地知识库,生成有深度的大纲。
核心文件:
这是系统的双手。slide_agent 接收大纲后,启动并行研究流程,最终逐页生成 PPT 内容。
核心 Agent 子模块:
后端渲染模块,使用 python-pptx 将 Agent 生成的结构化内容(JSON/XML)转换为可下载的 .pptx 文件。用户确认大纲后,系统在后端完成 PPT 文件渲染,通过 /download 接口提供下载。
前端采用 Next.js 14(App Router),配合 Prisma ORM 连接 PostgreSQL 数据库,存储用户生成的 PPT 记录。页面支持:主题输入框、大纲实时流式展示、PPT 内容逐页预览、版本历史管理。
MultiAgentPPT 的 create_model.py 体现了工程上的深思熟虑:它不绑定任何特定模型提供商,而是通过 LiteLLM 抽象层,支持几乎所有主流 LLM API:
| Provider | 示例模型 |
|---|---|
| gemini-2.0-flash | |
| Anthropic Claude | claude-3-opus |
| OpenAI | GPT-4o |
| DeepSeek | deepseek-chat |
| 阿里通义 | qwen-plus |
| 字节豆包 | doubao-pro |
| 本地模型 | 任意 OAI-compatible |
用户只需在 .env 中配置对应的 API Key 和 Provider,即可切换不同的模型后端。这种设计让系统在快速变化的 LLM 领域保持灵活性。
项目为每个核心模块提供了独立的 Dockerfile:
docker-compose 只覆盖前端部分(包含数据库),后端各 Agent 服务需要单独部署——不同 Agent 可能有不同的扩展需求,独立部署更灵活。
部署前需要准备:
由于涉及 3 个独立后端服务(outline、slide、ppt_api)+ 1 个前端,完整部署对运维有一定要求。作者也推荐参考其新项目 TrainPPTAgent 获取更企业化的部署方案。
前端界面提供了完整的交互体验:主题输入 - 大纲流式生成 - 确认大纲 - PPT 内容流式生成 - 下载 .pptx,每一步都有实时状态反馈,Agent 的思考过程可见。
多服务部署复杂度高:需要同时启动 outline agent、slide agent、ppt_api、frontend 四个服务,对非 DevOps 用户不友好。作者也坦承这一点,在 README 中推荐使用新的 TrainPPTAgent 项目
依赖外部 LLM API:系统本身不包含模型,所有内容生成依赖第三方 API,有成本考量,且在网络受限环境下可能不可用
RAG 知识库需自建:MCP RAG 功能需要用户自己构建知识库,入门门槛不低
PPT 模板维护成本:作者在 News 中提到"PPT 内容和模板无法很好维护",这也是项目重构的原因之一
不支持纯离线运行:即使配置本地模型,也需要 Ollama 等本地推理服务,不是完全零依赖
MultiAgentPPT 代表了 AI 应用的一个明确趋势:从"AI 辅助工具"到"AI 自主工作流"的演进。
传统 AI PPT 工具本质上是"高级模板",人在整个流程中仍占主导。而 MultiAgentPPT 展现了一种更激进的思路:让多个专业 Agent 协同工作,覆盖从调研到输出的完整价值链。用户只需要做两件事:输入主题、确认大纲。
这种模式在以下场景特别有价值:
从 GitHub Stars 增长曲线来看(1600+ Stars,5 个 Open Issues),项目处于活跃维护状态。虽然作者建议转向 TrainPPTAgent,但 MultiAgentPPT 作为学习多智能体协作架构的参考项目,仍有极高的研究价值。
总结:MultiAgentPPT 是一个工程质量极高的多智能体协作系统范本,它不是简单的 Python 脚本,而是将 A2A、MCP、ADK 三大协议有机融合的实战项目。对于想深入理解 Agent 协作、了解如何在生产环境中编排多个 AI 服务的开发者来说,这个项目是极佳的学习素材。对于普通用户,如果接受一定的部署门槛,它也能显著提升 PPT 制作效率。