PPT生成助手Agent项目的理解

第一版想法:

(单Agent方案):用户输入 → 大模型 → 生成PPT → 输出

Config 配置大模型api key等信息+ Prompt提示词 + Tool封装工具调用 → 生成PPT

这种方案并不完善,只适合快速原型或者个人工具:

1个agent+1个prompt+1个工具函数+同步执行+无状态+无监控+无容错

真实的项目是:

企业级AI应用的标准架构:

多Agent协作 + 工作流引擎 + 状态管理 + 监控追踪 + 错误处理 + 基础设施 = 生产级AI系统

5个专业agent(core-agents)

content_planning_agent.py

“””

内容规划Agent模块

负责将解析后的结构化内容与PPT模板进行最佳匹配,规划每个章节应使用的幻灯片布局。

“””

markdown_agent.py

“””

Markdown解析Agent模块

负责解析Markdown文本,提取标题、段落、列表等结构化内容,并使用大模型对内容进行理解和分析。

“””

ppt_analysis_agent.py

“””

PPT模板分析Agent模块

负责分析PPT模板文件,提取布局、样式和主题特征。

“””

ppt_finalizer_agent.py

“””

PPT清理与保存Agent模块

负责清理模板幻灯片、整理最终PPT文件并保存输出。

“””

slide_generator_agent.py

“””

幻灯片生成Agent模块

负责根据内容规划生成具体的幻灯片内容,包括标题、文本、图片等元素。

使用PPTManager在已有PPTX模板上进行操作,不直接生成幻灯片内容。

同时集成了验证功能,直接对生成的幻灯片进行质量验证。

“””

6个复杂提示词文件(config-prompts)

content_planning_prompts.yaml

system_prompt: |

你是一位专业的PPT设计师,负责将结构化内容与PPT模板进行最佳匹配,规划完整的幻灯片布局方案。

markdown_agent_prompt.yaml

system_prompt: |

你是一个专业的PPT内容分析专家。请直接分析以下Markdown文本,生成适合PPT制作的完整结构化JSON,无需依赖任何已有的基础解析结果。

ppt_analyzer_prompt.yaml

system_prompt: |

你是专业的PPT模板分析专家,需要分析PPT模板的布局和设计特点,从而帮助内容规划模块更好地匹配内容与布局。

slide_generator_prompts.yaml

system_prompt: |

你是专业的PPT生成AI助手,负责将内容与幻灯片元素进行精确匹配,并生成操作指令。

slide_validation_prompts.yaml

system_prompt: |

你是专业的PPT质量检查专家,负责检查幻灯片中的显示问题并提供修复方案。

工作流 (config-workflow-ppt_assistant.yaml)

这个项目本质上就是一个代码化的可视化工作流平台

精确的对应关系如下所示:

Coze/Dify可视化节点 ↔ 这个项目的Agent

可视化平台 这个项目
🔘 开始节点 start (工作流入口)
🔘 LLM节点 MarkdownAgent (解析Markdown)
🔘 HTTP请求节点 PPTAnalysisAgent (分析PPT)
🔘 数据处理节点 ContentPlanningAgent (内容规划)
🔘 代码执行节点 SlideGeneratorAgent (生成幻灯片)
🔘 结束节点 end (工作流出口)

这就是可视化平台的”连线配置”

edges:

  • from: start
    to: markdown_parser # 开始 → Markdown解析
  • from: markdown_parser
    to: ppt_analyzer # Markdown解析 → PPT分析
  • from: ppt_analyzer
    to: content_planner # PPT分析 → 内容规划
  • from: content_planner
    to: slide_generator # 内容规划 → 幻灯片生成
  • from: slide_generator
    to: ppt_finalizer # 幻灯片生成 → PPT组装
  • from: ppt_finalizer
    to: end # PPT组装 → 结束

10个以上的工具模块+异步工作流编排+复杂状态管理+完整监控追踪+完善错误处理。