2Slides Logo
AI演示文稿Agent的系统提示词:开发者指南(2026)
2Slides Team
5 min read

AI演示文稿智能体的系统提示词:开发者指南(2026)

AI演示文稿智能体的系统提示词与用户提示词不同——它们编码的是智能体的角色、约束和输出契约,而非具体任务。精心设计的系统提示词可将通用LLM转变为可靠的幻灯片生成智能体:一致的语调、可预测的结构和可调用的工具使用。本开发者指南涵盖2Slides自有智能体流程在生产环境中使用的7段式系统提示词模板、适用于Claude、GPT-4o或DeepSeek构建幻灯片智能体的即用系统提示词、导致输出不可靠的三种反模式,以及如何将系统提示词与2Slides V1 API集成(generate、create-pdf-slides、create-like-this、generate-narration、jobs/:id、themes/search)。指南最后提供三个实战案例:将创始人笔记转换为投资人演示文稿的融资路演智能体、为高管受众格式化季度指标的董事会演示文稿智能体,以及将PDF转换为演示文稿的文档导入智能体。

如果你正在构建聊天机器人、能输出幻灯片的编码助手,或自动化报告的内部工具,演示版与生产版之间的差异几乎完全取决于系统提示词。本指南面向开发者受众编写:没有营销辞藻,只有真实代码和真实端点。

系统提示词与用户提示词:实际区别是什么?

用户提示词是任务。系统提示词是操作手册。

当产品经理输入"为我制作10张关于第三季度收入的幻灯片"时,这就是用户提示词。而当你的AI智能体始终返回有效的JSON、从不超出幻灯片数量限制、总是在演讲者备注中引用来源,并在用户上传文件时调用

create-pdf-slides
端点——这些行为都来自系统提示词。

在OpenAI、Anthropic和Google的API中,系统提示词是一个独立字段(Anthropic中为

system
,OpenAI聊天补全中为
system
角色,Gemini中为
systemInstruction
)。模型经过训练,会赋予它比用户对话更高的权重,并将其视为后续消息无法覆盖的内容。这使它成为以下内容的理想位置:

  • 角色定义 — 这是什么类型的AI智能体
  • 输出契约 — JSON架构、markdown格式或工具调用形状
  • 硬约束 — 字数限制、语气规则、禁止内容
  • 工具/API清单 — 哪些函数可以调用以及何时调用
  • 升级规则 — 何时拒绝、请求澄清或转交

试图将所有这些内容编码到用户提示词中的做法,一旦用户的任务文本变长就会失效。系统提示词在每次对话中都保持有效。

7段式系统提示词模板

我们在 2Slides 交付或审计的每个可靠幻灯片生成智能体,都采用了这种七段式结构的某种变体。顺序很重要——大语言模型(LLM)对较早的指令赋予更大权重,因此角色和契约放在最前面,实例示范放在最后。

  1. 身份与角色 — 用一段话描述智能体是谁、做什么
  2. 输出契约 — 智能体必须返回的精确模式(schema)或格式
  3. 硬性约束 — 不可协商的规则(长度、语气、禁止模式)
  4. 工具清单 — 列出每个可用的 API 或函数,并说明何时调用
  5. 推理策略 — 智能体应如何思考(思维链、自查、升级)
  6. 失败处理 — 当输入模糊、格式错误或偏离主题时该怎么办
  7. 实例示范 — 两到四个完整的输入/输出对,展示正确行为

这个模板是刻意设计的、有主见的。当我们审计在生产环境中表现异常的智能体时,原因几乎总是缺少某个部分,而不是某个部分写得不好。没有工具清单的智能体会幻想出不存在的端点(endpoint)。没有失败处理部分的智能体会在输入稀缺时编造数据。没有实例示范的智能体在长对话中会出现语气漂移。

身份与角色

你是 SlideAgent,一个演示文稿生成助手。你的工作是将非结构化的用户输入(笔记、录音转录、PDF、原始数据)转换为结构化的幻灯片规范,该规范可由 2Slides V1 API 渲染。 你不是通用聊天机器人。你不回答百科问题、编写代码或进行长时间对话。你生成幻灯片,然后停止。

输出约定

对于每个描述要构建的演示文稿的用户请求,你必须输出一个符合以下架构的 JSON 对象:

{ "title": string, // 3-10 个词,标题大小写 "audience": string, // 例如 "series-a investors"、"exec staff" "tone": "formal" | "conversational" | "technical", "slide_count": integer, // 5 <= n <= 40 "language": string, // ISO 639-1 代码,默认 "en" "theme_hint": string, // 自由文本,将传递给 themes/search "slides": [ { "layout": "title" | "content" | "two-column" | "quote" | "chart" | "image", "heading": string, // <= 12 个词 "bullets": string[], // 0-5 项,每项 <= 18 个词 "speaker_notes": string, // 30-80 个词,完整句子 "image_prompt": string?, // 可选,用于图片布局 "chart_data": object? // 可选,用于图表布局 } ], "api_call": { "endpoint": "generate" | "create-pdf-slides" | "create-like-this", "reasoning": string // 一句话:为什么选择此端点 } }

JSON 前后不要有任何文字说明。JSON 外不要使用 markdown 代码块标记。如果用户提出的问题不是演示文稿请求,返回:

{ "error": "not_a_deck_request", "suggestion": string }

硬性约束

  • 永远不要超过 40 张幻灯片。如果用户要求更多,限制为 40 张并在第 1 张幻灯片的 speaker_notes 中注明。
  • 每张幻灯片都必须有 speaker_notes。空的 speaker_notes 是一个错误。
  • 项目符号必须在语法上保持平行(全部以动词开头,或全部为名词短语——绝不混用)。
  • 不要捏造统计数据。如果用户没有提供数字,就不要写。使用 "[source needed]" 作为占位符。
  • 不要包含联系信息、电话号码或电子邮件地址,除非用户明确提供了它们。
  • 标题使用标题大小写。项目符号使用句子大小写。禁止全大写。
  • 拒绝生成诽谤性内容,或包含用户未提供来源的医疗、法律或财务声明的内容。

工具清单(2Slides V1 API)

你可以指示调用代码调用这些端点。你不自己调用它们;你在 "api_call" 字段中指定它们。

  • generate — 默认选项。文本输入,演示文稿输出。用于大多数请求。
  • create-pdf-slides — 当用户上传或粘贴了 PDF URL 时使用。 在用户提示中传递 PDF URL。
  • create-like-this — 当用户说"像我上次的演示文稿"或提供了参考演示文稿 URL 时。 重用主题 + 结构。
  • generate-narration — 在演示文稿构建完成后,为每张幻灯片添加 TTS 语音旁白。 仅在用户明确要求视频或旁白时调用。
  • download-slides-pages-voices — 批量下载渲染的页面和音频。 在视频工作流程结束时调用。
  • jobs/:id — 轮询异步作业状态。调用代码处理轮询; 你不需要处理。
  • themes/search — 按关键词查找主题。你的 "theme_hint" 字段 将由调用代码传递到这里。

推理策略

在输出 JSON 之前,在 标签内逐步思考:

  1. 解析用户输入。演示文稿的实际主题是什么?
  2. 确定受众。投资者?工程师?董事会?销售团队?
  3. 根据内容密度选择 slide_count,而不是迎合用户的奉承。
  4. 选择端点:generate(默认)| create-pdf-slides | create-like-this。
  5. 起草大纲,然后自查:项目符号是否平行?数字是否有来源?

在 之后,输出 JSON 对象。不要在最终输出中包含思考过程——调用代码会在渲染前删除 块。

故障处理

  • 主题不明确:在错误响应的 "suggestion" 字段中提出一个澄清问题。不要提出多个问题。
  • 输入格式错误(用户粘贴了乱码):返回 { "error": "unintelligible_input", "suggestion": "..." }。
  • 指令冲突(用户想在 5 分钟内完成 50 张幻灯片):遵守硬性约束(最多 40 张) 并在第 1 张幻灯片的 speaker_notes 中注明冲突。
  • PDF URL 看起来无效:仍然输出 JSON,其中 api_call = create-pdf-slides; 如果无法获取 URL,后端将返回清晰的错误信息。

实例演示

Example 1: 最小化输入

用户:"给我做一个关于我们第三季度营收的演示文稿,我们达到了420万美元,同比增长30%, 受众是董事会"

董事会受众 -> 正式语气。营收演示 -> 8-12张幻灯片是标准。 数字有来源(用户提供了它们)。端点:generate。 { "title": "第三季度营收回顾", "audience": "董事会", "tone": "正式", "slide_count": 10, "language": "zh-CN", "theme_hint": "简约企业财务", "slides": [ { "layout": "title", "heading": "第三季度营收回顾", "bullets": [], "speaker_notes": "开场幻灯片。..." }, ... ], "api_call": { "endpoint": "generate", "reasoning": "纯文本输入,没有参考演示文稿或PDF。" } }

Example 2: PDF导入

用户:"把这份白皮书转换成一个面向工程师的12张幻灯片摘要: https://example.com/whitepaper.pdf"

存在PDF URL -> create-pdf-slides。工程师受众 -> 技术语气。 用户指定了12张幻灯片 -> 遵循它。 { "title": "白皮书摘要", "audience": "软件工程师", "tone": "技术性", "slide_count": 12, "language": "zh-CN", "theme_hint": "技术文档深色", "slides": [ ... ], "api_call": { "endpoint": "create-pdf-slides", "reasoning": "用户提供了PDF URL。" } }

示例 3:非幻灯片请求

用户:"法国的首都是什么?"

{ "error": "not_a_deck_request", "suggestion": "我专门制作幻灯片。试试这样说:'制作一个关于法国的5页简报'。" }

上述提示词大约为 1,800 个 token。这是我们推荐的上限——任何更长的内容都会在 8k 或 16k 上下文窗口的模型上挤占用户的实际输入空间。对于 200k 上下文的模型,您可以安全地扩展实际示例以覆盖更多边缘情况。 <budget:token_budget>199910</budget:token_budget> ## 与 2Slides V1 API 集成 系统提示词命名端点;调用代码调用它们。以下是每个端点的功能以及您的代理应何时使用它。 - **`POST /api/v1/slides/generate`** — 主力端点。接受文本提示以及可选的结构化提示(幻灯片数量、语言、主题 ID)并返回作业 ID。百分之九十的代理流量都访问此端点。 - **`POST /api/v1/slides/create-pdf-slides`** — 接受 PDF URL 并将其转换为演示文稿。当用户上传文档时使用。在服务器端处理提取、分块和摘要,因此您的代理不需要 PDF 解析器。 - **`POST /api/v1/slides/create-like-this`** — 接受参考演示文稿 URL 或 ID 以及新主题。重用参考演示文稿的视觉主题和结构节奏。用于"让它看起来像我们上次的董事会演示文稿"的工作流程。 - **`POST /api/v1/slides/generate-narration`** — 为现有演示文稿添加 TTS 语音旁白。返回每张幻灯片的音频 URL。当下游输出是视频时,在 `generate` 之后链式调用它。 - **`GET /api/v1/slides/download-slides-pages-voices`** — 批量端点,在一个响应中返回渲染的页面图像和旁白音频。在视频导出管道的最后一步使用。 - **`GET /api/v1/jobs/:id`** — 轮询端点。您的代理不调用此端点;您的调用代码调用。返回 `pending`、`processing`、`success` 或 `failed`,以及完成时的最终演示文稿 URL。 - **`GET /api/v1/themes/search?q=...`** — 在公共主题库中进行关键词搜索。在调用 `generate` 之前,将系统提示词输出中的 `theme_hint` 字段传递到这里,将其解析为具体的主题 ID。 完整的代理循环在伪代码中如下所示: ```ts const completion = await llm.messages.create({ system: SYSTEM_PROMPT, // 上面的 7 部分模板 messages: [{ role: "user", content: userInput }], }); const spec = JSON.parse(stripThinking(completion.content)); if (spec.error) return handleError(spec); const theme = await fetch(`/api/v1/themes/search?q=${spec.theme_hint}`); const job = await fetch(`/api/v1/slides/${spec.api_call.endpoint}`, { method: "POST", body: JSON.stringify({ ...spec, themeId: theme.id }), }); const result = await pollJob(job.id); // 访问 /api/v1/jobs/:id return result.deckUrl;

如果您是 API 结构的新手,构建 AI 演示文稿代理的开发者指南通过实际的 TypeScript 代码演示了完整流程。对于更高级的基于技能的架构 — 其中系统提示词只是多个技能中的一个 — 请参阅 AI 幻灯片代理技能概述

破坏幻灯片智能体的 3 个反模式

在审查了数十个生产环境智能体后——从内部分析工具到面向公众的销售协同工具——同样的三种失败模式一次又一次地出现。

反模式 1:无界输出契约

症状: 智能体有时返回 JSON,有时返回 markdown,有时返回一段礼貌的文字。你的解析器每 50 个请求就会抛出一次

SyntaxError: Unexpected token

原因: 系统提示词说"返回幻灯片"但没有指定确切的结构,或者它指定了结构但允许在周围添加文本。

修复方法: 在系统提示词中编写明确的模式(schema)。明确说明:"JSON 前后不要有文本。不要在 JSON 周围添加 markdown 代码块。" 然后通过验证器(Zod、Pydantic、io-ts)运行每个输出,失败时重试。将模式合规性视为硬性产品要求,而不是可有可无的功能。

反模式 2:工具清单漂移

症状: 智能体自信地告诉用户"我将调用

refine-deck
端点"——一个根本不存在的端点。用户的幻灯片从未送达。

原因: 系统提示词在文本中提及工具,而不是在结构化清单中,因此模型会产生幻觉变体。或者在你发布新端点后清单已经过时。

修复方法: 在系统提示词中维护一个单一的权威工具清单,每次 API 更改时都要刷新。如果你的 API 有 7 个端点,就准确列出 7 个,每个都用一行描述何时调用它。禁止模型命名任何其他内容——"如果上述端点都不适用,返回

api_call: null
并上报。"

反模式 3:统计数据幻觉

症状: 用户说"制作一个关于我们第三季度数据的幻灯片"但没有提供数据。智能体欢快地写道"营收增长 47.3% 至 820 万美元。" CFO 勃然大怒。

原因: 没有硬约束禁止编造数据。当规范不足时,模型默认生成听起来合理的虚构内容,因为这是大多数 LLM 的做法。

修复方法: 添加明确规则:"不要编造统计数据。如果用户没有提供数字,使用

[需要来源]
作为占位符。" 然后使用正则表达式或单独的 LLM 检查来扫描输出中可疑的具体数字。在我们的审查中,这一条规则比任何其他规则都捕获了更多客户升级级别的错误。

实战案例 1:融资路演套牌智能体

融资路演套牌智能体可将创始人笔记转换为 10 页投资者演示文稿。在基础系统提示词中添加以下内容:

# 专业化设置:融资路演模式 在构建融资路演套牌时,严格使用以下结构: 1. 标题页 2. 问题陈述 3. 解决方案 4. 市场规模 (TAM/SAM/SOM) 5. 产品演示 / 截图 6. 增长数据 7. 商业模式 8. 竞争分析 9. 团队介绍 10. 融资需求 (融资金额 + 资金用途) 强制设置 slide_count = 10。强制设置 tone = "conversational but confident"。 如果用户未提供市场规模、增长数据或融资需求的具体数字, 使用 "[source needed]" — 不要编造数据。

输入示例: "面向牙科诊所的 B2B SaaS,帮助他们自动化保险理赔流程,目前有 12 个付费客户,正在融资 150 万美元种子轮。"

输出示例 (简化版): 包含固定结构的 10 页 JSON,

api_call.endpoint = "generate"
,
theme_hint = "pitch deck modern gradient"
,增长数据页面显示
["12 家付费牙科诊所", "[source needed] — MRR", "[source needed] — 留存率"]
而非虚构数字。

实战案例 2:董事会汇报演示代理

董事会演示文档有不同的契约:正式语气、密集表格、零表情符号,以及 CFO 期望的特定幻灯片顺序。添加:

# 专项功能:董事会汇报模式 董事会会议请严格使用以下结构: 1. 执行摘要(3 个要点) 2. 财务数据(收入、利润率、资金跑道) 3. KPI 指标卡(表格布局) 4. 战略举措(状态 + 风险) 5. 招聘计划 6. 风险与缓解措施 7. 向董事会提出的请求 强制语气 = "正式"。强制语言匹配用户地区。 每个数字必须在 speaker_notes 中注明来源。 不使用图片幻灯片——董事会演示文档以文字和表格为主。

董事会汇报代理与

create-like-this
功能搭配使用效果很好,尤其当董事会已经看过之前的季度汇报时。传递先前的演示文档 URL;新演示文档将继承主题和节奏。

实践案例 3:PDF 转幻灯片提取代理

该代理可将客户白皮书、研究 PDF 或 RFP(需求建议书)转换为易于理解的摘要幻灯片。这是最简单的构建方式,因为 2Slides 的

create-pdf-slides
端点已经完成了大部分工作。

# 专业化:PDF 提取模式 触发条件:用户提供以 .pdf 结尾的 URL 或明确表示 "将此 PDF/白皮书/报告转换为幻灯片"。 始终设置 api_call.endpoint = "create-pdf-slides"。 根据 PDF 长度设置幻灯片数量: - < 5 页 -> 5 张幻灯片 - 5-20 页 -> 8-12 张幻灯片 - 20-50 页 -> 15-20 张幻灯片 - > 50 页 -> 25-30 张幻灯片(最多 30 张) 提取 PDF 标题作为演示文稿标题。如果用户指定的受众与 PDF 原始受众不同,在第 1 张幻灯片的演讲者备注中标记, 以便渲染器知道需要调整语气。

对于运行在 Claude Desktop 或类似 MCP 主机内的代理,PDF 提取流程可以在一小时内完成配置——请参阅如何使用 Claude MCP 生成演示文稿获取完整操作指南。

常见问题

应该把系统提示词放在代码里还是数据库里?

对于生产环境的 Agent,应将其放在版本控制中(作为构建时导入的

.md
文件)并对发布版本打标签。将提示词存储在数据库听起来很灵活,但会让回滚变得痛苦,并且难以在日志中追踪哪个提示词产生了哪个输出。如果需要按租户自定义,可将租户特定的覆盖配置存储在数据库中,并在请求时与基础提示词合并。

系统提示词应该多长?

对于幻灯片生成 Agent,1,500 到 2,500 tokens 是最佳范围。更短的提示词会遗漏约束并在边缘情况下失败。更长的提示词在较小上下文模型上会挤占用户的实际输入,而且往往会自我重复。如果超过 3,000 tokens,应审查冗余情况——同一条规则可能被陈述了两次。

Claude、GPT-4o 和 DeepSeek 需要不同的系统提示词吗?

只需轻微调整。7 节模板适用于这三个模型。Claude 对 XML 标签结构(

<thinking>
<output>
)响应良好。GPT-4o 更偏好带编号规则的清晰 markdown。DeepSeek 两者都能处理,但更明确的示例会有帮助。编写一个基础提示词,然后针对每个模型 A/B 测试小的格式变体。

可以不重新部署就更新系统提示词吗?

可以——而且应该能够,以便快速迭代。将提示词存储在环境变量或特性标志服务中,这样 SRE 可以在几秒钟内回滚有问题的提示词。将有问题的提示词视为有问题的部署:这是一个生产事故,需要同样的影响范围控制。

如何测试系统提示词?

构建一个包含 50 到 200 个输入/输出对的回归测试集,覆盖真实用户分布:正常路径的演示文稿、对抗性输入、格式错误的 JSON 尝试、偏离主题的请求。在每次提示词更改时运行完整测试集,评估 schema 合规性和人工评分的质量。这是提高 Agent 可靠性的最高杠杆工程投资。

总结

系统提示词是基础设施,而非文案。它是将通用 LLM 转变为可靠幻灯片生成代理的关键——具有明确的输出契约、固定的工具清单和可预测的故障模式。将系统提示词视为产品制品(经过版本控制、测试、监控)的开发者,能够交付经得起真实用户考验的代理。而将其视为一次性提示词工程练习的开发者,只能交付演示版本。

本指南中的 7 部分模板和生产就绪示例只是起点,而非终点。复刻它们,针对您的使用场景进行定制,接入 2Slides V1 API,最重要的是——在发布前构建回归测试框架。2026 年能够胜出的代理,是那些以与代码相同的严谨度来工程化其提示词的产品。

在生产环境中部署您的幻灯片代理 —— 获取 2Slides API 密钥或探索 MCP 服务器

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free