一个能直接交出 PPTX 文件的智能体,和普通对话机器人差在哪?差的不是模型,是工程结构:交付形态、写作约束、渲染链路这三层各管各的。本文以一个线上 PPT 专家的真实实现为例,拆开看成品型智能体的骨架。
先分清两件事:内容怎么想,长什么样
多数人把提示词写成大杂烩,内容规则和排版规则混在一起,改一处崩全身。这个实现的做法是彻底切开——
人设提示词只管内容思维:动手前先按用途定骨架(路演、汇报、课件的经典结构各不同),默认 8 到 12 页;每页一个结论,页标题就是结论句;数据要么联网检索带来源,要么明说没有、绝不编数字。
格式规则全部下沉到平台层的写作契约:怎么分页、怎么写卡片、什么配色,模型一概不用操心。两层各自迭代,互不牵连。
这个划分有个直接的好处:写人设时完全不用考虑排版,换一套视觉主题也不用动提示词。
成品形态钉在服务端
配置里有两个关键字段:output_kind 标记默认交付形态,一共五种(报告、幻灯片、网页应用、图片、视频),两百多个预置专家里只有少数钉死了形态。形态由服务端解析,客户端传什么不采信——只有用户在输入框显式选了成品类型,才覆盖默认值。
形态钉死后会连锁改变三处:系统提示追加一句交付约定(顺带说明纯提问不需要真出 PPT,避免一问"路演几页合适"就生成整个文件);执行档案换成幻灯片专用流程;出图类工具解锁。
render_slides:大纲进,成品出,全文不回传
交付靠一个专门工具。模型只交一份逐页大纲,平台另起一次独立的"成文"调用,把大纲、调研结果和格式契约一起交给模型,产出幻灯片 Markdown 后渲染落盘。
两个设计细节值得抄走:
- 主持模型的上下文不背几千字的版式规则,成文那一步专注把内容写对;
- 工具完成后只回一句话(共几页、标题是什么、文件在哪),整份文稿不塞回上下文——省一遍重复 token。
还有一条防失控的硬规则:一轮最多重做两版。线上出过事故——模型嫌页数不对,连做五版,154 秒,每版都要重新成文计费。提示词劝不住的事,就在工具层数调用次数,第三次直接拒绝,让它拿最后一版如实交代。
卡片式契约:用格式逼模型只写重点
成文契约的核心是一种固定写法:每页用 --- 分隔,页标题一级,正文由若干"图标 小标题 :: 一句话说明"的条目构成。小标题限八字,说明限三十字且必须带数字或案例。另有整页大数字、并排指标、编号流程、两栏对比、金句、数据表几种变体,每页最多六个单元、不超二百二十字。
为什么这么设计?三个原因:
主 :: 次的语法把"要点"和"解释"分开,渲染器能稳定画出卡片,模型不必碰排版;- 长度上限是硬约束,比任何"不要写文字墙"的劝告都有效,想写长句格式上就放不下;
- 同一份 Markdown 在网页、iOS、小程序、PDF、PPTX 五个端用同一套规则解析,一份文本五处渲染。
一个容易漏的细节:契约里带的示例文稿后面必须标注"仅示意结构,严禁照抄文字",否则示例里的具体数字会被模型原样搬进用户的文稿。
版式推断与多端一致性
解析器按内容形状推断版式:单个带单位的数字进大数字页,多项数字进指标页,三到六条编号进流程页,恰好两条进对比页,拿不准一律按普通内容页处理。
多端一致性靠共享夹具保证:同一组幻灯片 Markdown 和期望的解析结果喂给每一端的解析器,持续集成里逐字段比对。注释里写得很直白——不这么做,就会出现"手机上八页、导出的 PPTX 九页"这种事故。
导出链路的两个坑
PDF 用无头 Chromium 把 1920×1080 的 HTML 打印出来,文字是矢量的;容器一次性的,断网、只读根盘、低内存、超时即杀。PPTX 用 python-pptx 直接生成,和 PDF、网页放映共用一套色值——python-pptx 不支持透明度,半透明效果按叠底结果换算成实色。
同时出 PDF 还有个现实原因:iOS 的 QuickLook 认得出 PPTX 却渲染不出内容,只显示一个图标。所以端上点开文件卡时先找同名 PDF 做预览,卡片仍显示 PPTX——用户带走可编辑的那份,但不会被空预览困惑。
配图不走 AI 生图:早期版本试过"规划配图方案再生成三张"的流程,后来整条删除,还有测试守着防止回归。理由是又花钱又常配出无关装饰图,幻灯片真正缺的是数据表达——成组数字用图表工具画,示意图用 HTML 截图,产品界面用真实截图,一分生图钱不花。
最后是参考来源页:成文时只要求模型在要点里标编号,来源页由系统用调研时真实打开过的链接生成。模型没有机会编造出处。
验收与成本
交付验收落在文件上:导出的 PPTX 页数、页序与大纲一致;PDF 与 PPTX 内容、配色对得上;讲者备注只进备注区不上画面。计费参考一组线上记录:首次生成约 183 秒、十三次工具调用、约二十万 token;两轮修订各在十万至二十五万 token 区间。修改提示词或契约时,拿这套数字做基线对比,超出一倍就该查是哪一步在空转。
成品型智能体的本质可以压缩成一句话:人设管内容怎么想,契约管长什么样,工具管什么时候停。

评论0