如何构建一个 PPT Agent:从需求调研到 SVG 页面生成
本文整理一条可复现的 PPT Agent 工程流程,目标不是“一键套模板”,而是把 PPT 生产拆成多个 AI 更容易执行的阶段:需求调研、结构化大纲、资料检索、页面策划、视觉生成,以及最终的 SVG 交付。
如果你要自己实现一个最小可用版本,这篇文章可以直接作为流程说明。
2.0 升级说明
这篇文章对应的是 PPT Agent 1.0 的思路,重点在于把 PPT 生产拆成 5 个内容阶段,解决“不要一上来就套模板”的问题。
如果你更关心一条真正可交付、可复用的完整链路,包括:
- 多阶段文档如何衔接
- SVG 页面如何批量生成
- 如何把 SVG 稳定导出成
.pptx - 如何补演讲稿、测试和 SOP
可以直接看升级版:
简单理解:
1.0更偏方法框架2.0更偏真实案例 + 工程化交付
目标定义
一个可用的 PPT Agent,至少要解决下面几个问题:
- 输入不应只有一个标题,还要补充场景、受众、目标和页数要求。
- 输出不应直接跳到设计稿,而应该先经过大纲和页面策划两个中间层。
- 页面生成不应依赖固定模板,而要依赖可解释的布局规则。
- 最终结果要尽量兼顾可编辑性、清晰度和导入 PPT 的兼容性。
基于这个目标,可以把整条链路拆成 5 个阶段:
- 需求调研与任务澄清
- 生成结构化大纲
- 按页面主题检索资料
- 生成页面策划稿
- 按布局规则生成 SVG 页面
最终效果示例
下面这些页面是最终阶段的输出示例,模型使用 Gemini 3 Flash。
完整流程跑完后,最终会输出整套页面设计:

整体流程
从工程实现角度,这个系统可以理解为一个多阶段内容编排器:
- 阶段 1 负责明确任务边界,避免一开始就生成空洞大纲。
- 阶段 2 负责把主题转成结构化目录和页面列表。
- 阶段 3 负责为每一页补充真实资料。
- 阶段 4 负责把内容组织成可设计的页面草图。
- 阶段 5 负责根据布局语言生成最终页面代码。
如果只想实现一个最小可用版本,可以先不做复杂编排器,直接把这 5 步串起来即可。
第一步:需求调研与任务澄清
目标
在生成大纲之前先明确任务边界,避免模型直接输出模板化内容。
输入
- PPT 主题
- 使用场景
- 目标受众
- 期望结果
- 页数要求
处理方式
这一阶段不直接生成页面,而是先补足上下文。核心原则是:PPT 的起点不是版式,而是信息目标。
如果用户只给出一个标题,例如“Dify 企业介绍”,系统需要继续追问或主动补调研信息,例如:
- 这是用于销售介绍、内部汇报还是融资路演
- 面向技术团队、管理层还是客户
- 更关注产品能力、商业价值还是技术架构
- 需要多少页,以及是否有必须覆盖的章节
如果你要做一个更直观的编辑界面,可以把每一页都显示成一张“数字便利贴”,用来承载页面标题和核心信息点,方便后续调整顺序和增删页面。

输出
- 一份补充过上下文的任务描述
- 一个明确的页数约束
- 一个可用于大纲生成的调研上下文
第二步:生成结构化大纲
目标
把主题和调研结果转换成结构化 PPT 大纲,而不是直接输出自然语言段落。
输入
- 用户主题
- 需求调研结果
- 搜索摘要或背景资料
- 页数要求
处理方式
这一阶段建议强制模型输出结构化 JSON,而不是普通 Markdown。这样做有两个好处:
- 后续流程更容易消费,比如目录页、章节页、内容页可以直接程序化处理。
- 页面列表天然适合映射到“逐页检索”和“逐页生成”的后续步骤。
我们使用的提示词如下,这里保持原样:
# Role: 顶级的PPT结构架构师
## Profile
- 版本:2.0 (Context-Aware)
- 专业:PPT逻辑结构设计
- 特长:运用金字塔原理,结合**背景调研信息**构建清晰的演示逻辑
## Goals
基于用户提供的 **PPT主题** 和 **背景调研信息 (Context)**,设计一份逻辑严密、层次清晰的PPT大纲。
## Core Methodology: 金字塔原理
1. 结论先行:每个部分以核心观点开篇
2. 以上统下:上层观点是下层内容的总结
3. 归类分组:同一层级的内容属于同一逻辑范畴
4. 逻辑递进:内容按照某种逻辑顺序展开
## 重要:利用调研信息
你将获得一些关于主题的搜索摘要。请务必参考这些信息来规划大纲,使其切合当前的市场现状或技术事实,而不是凭空捏造。
例如:如果调研显示"某技术已过时",则不要将其作为核心推荐。
## 输出规范
请严格按照以下JSON格式输出,结果用[PPT_OUTLINE]和[/PPT_OUTLINE]包裹:
[PPT_OUTLINE]
{
"ppt_outline": {
"cover": {
"title": "引人注目的主标题",
"sub_title": "副标题",
"content": []
},
"table_of_contents": {
"title": "目录",
"content": ["第一部分标题", "第二部分标题", "..."]
},
"parts": [
{
"part_title": "第一部分:章节标题",
"pages": [
{ "title": "页面标题1", "content": [] },
{ "title": "页面标题2", "content": [] }
]
}
],
"end_page": {
"title": "总结与展望",
"content": []
}
}
}
[/PPT_OUTLINE]
## Constraints
1. 必须严格遵循JSON格式。
2. **页数要求*:{{PAGE_REQUIREMENTS}}输出
- 结构化大纲 JSON
- 目录页信息
- 章节划分结果
- 页面标题列表
第三步:按页面主题检索资料
目标
给每一页补足真实信息,避免后续页面生成阶段依赖模型硬编内容。
输入
- 第二步得到的页面标题列表
- 每一页对应的主题描述
处理方式
这里的关键不是“搜一次总资料”,而是“按页面粒度检索”。也就是说,大纲里每一页的标题都应该单独作为一次检索任务。
例如:
- 页面标题是“Dify 的产品定位”,就检索产品定位相关资料
- 页面标题是“企业落地场景”,就检索案例和应用场景
- 页面标题是“技术架构”,就检索架构和能力边界
我们自己的工程实现里接的是国内搜索接口。如果你是自己搭最小可用版本,也可以直接把页面标题依次交给 Grok 这类搜索和归纳能力较强的模型,让它为每一页生成一份资料摘要。
输出
- 每一页对应的一份资料摘要
- 关键事实、数据、案例和术语
- 可直接用于页面策划的内容原料
第四步:生成页面策划稿
目标
在视觉设计之前,先生成结构清晰的页面草图,明确每一页要承载哪些元素。
输入
- 结构化大纲
- 页面资料摘要
处理方式
这一步可以理解为“先做策划,再做设计”。
很多 AI PPT 流程的问题在于:模型刚拿到内容就开始生成装饰性页面,导致内容组织和视觉表达混在一起,页面经常看起来花哨但信息混乱。
更稳定的做法是先生成一个低视觉复杂度的页面策划稿,明确:
- 这页的核心观点是什么
- 需要几个信息区块
- 每个区块放什么内容
- 图表、图片、数字和正文的优先级是什么
传统高端 PPT 服务里,这一步通常由策划师完成。迁移到 AI 流程里,它的作用也一样:把“信息组织”从“视觉美化”里拆出来。
策划稿通常会长这样:
模型先输出一个结构化页面初稿:
然后再进入最终设计阶段:
输出
- 每一页的内容模块划分
- 模块优先级和主次关系
- 可直接交给视觉生成阶段的页面草图
第五步:按布局规则生成视觉页面
目标
让模型按照明确的布局语言生成页面,而不是随机套模板。
核心原则
这一阶段不要只告诉模型“做得高级一点”,而要告诉它页面应该如何组织信息。
我们验证下来,对 AI 最友好的页面语言之一是卡片式布局,也就是 Bento Grid。它适合信息密度较高的页面,且容易建立清晰层级。原因主要有三点:
- 一页可以稳定承载较多信息。
- 卡片大小和位置可以自由组合。
- 这种布局语言容易被模型理解并复用。
参考示例:
用于定义布局规则的提示词如下,保持原样:
内容页的便当网格 (Bento Grid) 布局
这是一种灵活的网格系统,其布局应由内容本身的需求驱动,而非僵硬的模板。通过组合不同尺寸的卡片,创造出动态且视觉有趣的布局。
- 核心原则:
- 灵活性: 卡片数量不固定。可以是 1, 2, 3, 4, 5 或更多个,取决于如何更好地呈现信息。
- 层级感: 使用卡片尺寸建立视觉层级。最重要的信息放在最大的卡片上。
- 留白: 在所有卡片之间保持至少 20px 的间距。
- 布局组合示例:
- 单一焦点: 一张大卡片覆盖大部分区域 (w=1200, h=580)。适用于单一、有力的信息或详细的图表。
- 两栏布局:
- 50/50 对称: 两张等宽的卡片。
- 非对称: 一张较宽的卡片(如 2/3 宽度)用于主内容,一张较窄的(1/3 宽度)用于辅助信息、数据或图片。
- 三栏布局: 三张等宽的卡片,适合并列比较三项内容。
- 主次结合: 一张大的居中卡片,两侧各一张小的垂直卡片。
- 顶部英雄式: 顶部一张宽幅“英雄”卡片,下方是 2-4 个较小的等宽卡片网格。
- 混合网格 (自由度最高): 自由混合各种尺寸的卡片,例如一个中等方块、两个小的水平矩形和一个垂直矩形。这种方式可以极大地适应不同内容的需求。页面生成提示词
当页面策划稿和页面内容准备好之后,可以把资料内容和布局规则一起交给模型,直接生成 SVG 页面。
下面这段提示词同样保持原样:
作为精通信息架构与 SVG 编码的专家,你的任务是将完整的文字内容转化为一张高质量、结构化、具备高级感、简洁感和专业感的 SVG 演示文稿页面。要求如下:
1.画布: SVG viewBox 必须是 0 0 1280 720。
2.内容页的便当网格 (Bento Grid) 布局
这是一种灵活的网格系统,其布局应由内容本身的需求驱动,而非僵硬的模板。通过组合不同尺寸的卡片,创造出动态且视觉有趣的布局。
- 核心原则:
- 灵活性: 卡片数量不固定。可以是 1, 2, 3, 4, 5 或更多个,取决于如何更好地呈现信息。
- 层级感: 使用卡片尺寸建立视觉层级。最重要的信息放在最大的卡片上。
- 留白: 在所有卡片之间保持至少 20px 的间距。
- 布局组合示例:
- 单一焦点: 一张大卡片覆盖大部分区域 (w=1200, h=580)。适用于单一、有力的信息或详细的图表。
- 两栏布局:
- 50/50 对称: 两张等宽的卡片。
- 非对称: 一张较宽的卡片(如 2/3 宽度)用于主内容,一张较窄的(1/3 宽度)用于辅助信息、数据或图片。
- 三栏布局: 三张等宽的卡片,适合并列比较三项内容。
- 主次结合: 一张大的居中卡片,两侧各一张小的垂直卡片。
- 顶部英雄式: 顶部一张宽幅“英雄”卡片,下方是 2-4 个较小的等宽卡片网格。
- 混合网格 (自由度最高): 自由混合各种尺寸的卡片,例如一个中等方块、两个小的水平矩形和一个垂直矩形。这种方式可以极大地适应不同内容的需求。
请你根据我的内容输出SVG代码,我的内容是:如果你用 Gemini 跑这一阶段,我们验证过 3 Flash 可以完成,有条件也可以直接上 3.1 Pro。
它可以直接输出完整页面的 SVG 代码:
输出
- 单页 SVG 页面代码
- 可批量拼接的页面结果
- 可导入 PPT 的最终设计资产
为什么最终选择 SVG
这一阶段的核心不是“页面能不能生成”,而是“生成之后能不能用”。
相比 HTML 或其他中间格式,整页 SVG 的主要优势是:
- 可以直接导入 Office 2016 及以上版本
- 保留较好的可编辑性
- 支持无损缩放
- 对设计软件和 PPT 的兼容性更好
这也是我们最终选择 SVG 作为页面交付格式的原因。
当然,SVG 路线的代价也很明确:
- 生成稳定性需要额外调优
- 结构复杂时更容易出现细节兼容问题
- 工程处理成本高于简单 HTML 方案
如果你只是做个人使用、并不强依赖可编辑性,那么 HTML 方案依然是一个成本更低的替代选项。
最小可复现版本
如果你要自己快速复现一个简化版 PPT Agent,可以按下面的顺序实现:
- 接收主题、场景、受众和页数要求。
- 调用大纲提示词,强制输出结构化 JSON。
- 遍历每个页面标题,逐页做检索和摘要。
- 把每页资料整理成页面策划稿。
- 将页面内容和 Bento Grid 规则一起发送给模型,生成 SVG。
- 把生成的 SVG 导入 PPT 或进一步做自动排版。
这个最小流程已经足够验证方案是否成立。后续再逐步补充交互、调度、缓存、重试和多模型协作。
总结
这套 PPT Agent 流程的关键,不是让模型直接“做设计”,而是把 PPT 生产拆成几个边界明确的工程阶段:
- 需求调研负责明确目标。
- 大纲生成负责确定结构。
- 资料检索负责补足事实。
- 页面策划负责组织内容。
- SVG 生成负责完成视觉交付。
流程拆对之后,模型生成结果会明显稳定,也更适合工程化落地。















