Skip to content

如何构建一个 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 个阶段:

  1. 需求调研与任务澄清
  2. 生成结构化大纲
  3. 按页面主题检索资料
  4. 生成页面策划稿
  5. 按布局规则生成 SVG 页面

最终效果示例 ​

下面这些页面是最终阶段的输出示例,模型使用 Gemini 3 Flash。

封面-1-设计稿 (1)

分层架构设计:从数据层到编排层-7-设计稿

核心硬件:AIoT智能家居与人车家全生态闭环-8-设计稿

微信图片_20260317175828_1476_1

微信图片_20260317175833_1477_1

完整流程跑完后,最终会输出整套页面设计:

640 (5)

整体流程 ​

从工程实现角度,这个系统可以理解为一个多阶段内容编排器:

  • 阶段 1 负责明确任务边界,避免一开始就生成空洞大纲。
  • 阶段 2 负责把主题转成结构化目录和页面列表。
  • 阶段 3 负责为每一页补充真实资料。
  • 阶段 4 负责把内容组织成可设计的页面草图。
  • 阶段 5 负责根据布局语言生成最终页面代码。

如果只想实现一个最小可用版本,可以先不做复杂编排器,直接把这 5 步串起来即可。

第一步:需求调研与任务澄清 ​

目标 ​

在生成大纲之前先明确任务边界,避免模型直接输出模板化内容。

输入 ​

  • PPT 主题
  • 使用场景
  • 目标受众
  • 期望结果
  • 页数要求

处理方式 ​

这一阶段不直接生成页面,而是先补足上下文。核心原则是:PPT 的起点不是版式,而是信息目标。

如果用户只给出一个标题,例如“Dify 企业介绍”,系统需要继续追问或主动补调研信息,例如:

  • 这是用于销售介绍、内部汇报还是融资路演
  • 面向技术团队、管理层还是客户
  • 更关注产品能力、商业价值还是技术架构
  • 需要多少页,以及是否有必须覆盖的章节

如果你要做一个更直观的编辑界面,可以把每一页都显示成一张“数字便利贴”,用来承载页面标题和核心信息点,方便后续调整顺序和增删页面。

1

输出 ​

  • 一份补充过上下文的任务描述
  • 一个明确的页数约束
  • 一个可用于大纲生成的调研上下文

第二步:生成结构化大纲 ​

目标 ​

把主题和调研结果转换成结构化 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 这类搜索和归纳能力较强的模型,让它为每一页生成一份资料摘要。

640 (4)

ScreenShot_2026-03-19_104103_358

输出 ​

  • 每一页对应的一份资料摘要
  • 关键事实、数据、案例和术语
  • 可直接用于页面策划的内容原料

第四步:生成页面策划稿 ​

目标 ​

在视觉设计之前,先生成结构清晰的页面草图,明确每一页要承载哪些元素。

输入 ​

  • 结构化大纲
  • 页面资料摘要

处理方式 ​

这一步可以理解为“先做策划,再做设计”。

很多 AI PPT 流程的问题在于:模型刚拿到内容就开始生成装饰性页面,导致内容组织和视觉表达混在一起,页面经常看起来花哨但信息混乱。

更稳定的做法是先生成一个低视觉复杂度的页面策划稿,明确:

  • 这页的核心观点是什么
  • 需要几个信息区块
  • 每个区块放什么内容
  • 图表、图片、数字和正文的优先级是什么

传统高端 PPT 服务里,这一步通常由策划师完成。迁移到 AI 流程里,它的作用也一样:把“信息组织”从“视觉美化”里拆出来。

640 (5)

策划稿通常会长这样:

640 (7)

模型先输出一个结构化页面初稿:

640 (6)

然后再进入最终设计阶段:

640 (8)

输出 ​

  • 每一页的内容模块划分
  • 模块优先级和主次关系
  • 可直接交给视觉生成阶段的页面草图

第五步:按布局规则生成视觉页面 ​

目标 ​

让模型按照明确的布局语言生成页面,而不是随机套模板。

核心原则 ​

这一阶段不要只告诉模型“做得高级一点”,而要告诉它页面应该如何组织信息。

我们验证下来,对 AI 最友好的页面语言之一是卡片式布局,也就是 Bento Grid。它适合信息密度较高的页面,且容易建立清晰层级。原因主要有三点:

  1. 一页可以稳定承载较多信息。
  2. 卡片大小和位置可以自由组合。
  3. 这种布局语言容易被模型理解并复用。

参考示例:

640 (9)

640 (10)

用于定义布局规则的提示词如下,保持原样:

markdown
内容页的便当网格 (Bento Grid) 布局
这是一种灵活的网格系统,其布局应由内容本身的需求驱动,而非僵硬的模板。通过组合不同尺寸的卡片,创造出动态且视觉有趣的布局。
- 核心原则:
    - 灵活性: 卡片数量不固定。可以是 1, 2, 3, 4, 5 或更多个,取决于如何更好地呈现信息。
    - 层级感: 使用卡片尺寸建立视觉层级。最重要的信息放在最大的卡片上。
    - 留白: 在所有卡片之间保持至少 20px 的间距。
- 布局组合示例:
    - 单一焦点: 一张大卡片覆盖大部分区域 (w=1200, h=580)。适用于单一、有力的信息或详细的图表。
    - 两栏布局:
        - 50/50 对称: 两张等宽的卡片。
        - 非对称: 一张较宽的卡片(如 2/3 宽度)用于主内容,一张较窄的(1/3 宽度)用于辅助信息、数据或图片。
    - 三栏布局: 三张等宽的卡片,适合并列比较三项内容。
    - 主次结合: 一张大的居中卡片,两侧各一张小的垂直卡片。
    - 顶部英雄式: 顶部一张宽幅“英雄”卡片,下方是 2-4 个较小的等宽卡片网格。
    - 混合网格 (自由度最高): 自由混合各种尺寸的卡片,例如一个中等方块、两个小的水平矩形和一个垂直矩形。这种方式可以极大地适应不同内容的需求。

页面生成提示词 ​

当页面策划稿和页面内容准备好之后,可以把资料内容和布局规则一起交给模型,直接生成 SVG 页面。

下面这段提示词同样保持原样:

markdown
作为精通信息架构与 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。

ScreenShot_2026-03-19_104134_376

它可以直接输出完整页面的 SVG 代码:

ScreenShot_2026-03-19_103904_044

输出 ​

  • 单页 SVG 页面代码
  • 可批量拼接的页面结果
  • 可导入 PPT 的最终设计资产

为什么最终选择 SVG ​

这一阶段的核心不是“页面能不能生成”,而是“生成之后能不能用”。

相比 HTML 或其他中间格式,整页 SVG 的主要优势是:

  • 可以直接导入 Office 2016 及以上版本
  • 保留较好的可编辑性
  • 支持无损缩放
  • 对设计软件和 PPT 的兼容性更好

这也是我们最终选择 SVG 作为页面交付格式的原因。

当然,SVG 路线的代价也很明确:

  • 生成稳定性需要额外调优
  • 结构复杂时更容易出现细节兼容问题
  • 工程处理成本高于简单 HTML 方案

如果你只是做个人使用、并不强依赖可编辑性,那么 HTML 方案依然是一个成本更低的替代选项。

最小可复现版本 ​

如果你要自己快速复现一个简化版 PPT Agent,可以按下面的顺序实现:

  1. 接收主题、场景、受众和页数要求。
  2. 调用大纲提示词,强制输出结构化 JSON。
  3. 遍历每个页面标题,逐页做检索和摘要。
  4. 把每页资料整理成页面策划稿。
  5. 将页面内容和 Bento Grid 规则一起发送给模型,生成 SVG。
  6. 把生成的 SVG 导入 PPT 或进一步做自动排版。

这个最小流程已经足够验证方案是否成立。后续再逐步补充交互、调度、缓存、重试和多模型协作。

总结 ​

这套 PPT Agent 流程的关键,不是让模型直接“做设计”,而是把 PPT 生产拆成几个边界明确的工程阶段:

  1. 需求调研负责明确目标。
  2. 大纲生成负责确定结构。
  3. 资料检索负责补足事实。
  4. 页面策划负责组织内容。
  5. SVG 生成负责完成视觉交付。

流程拆对之后,模型生成结果会明显稳定,也更适合工程化落地。