新开发了一个 Skill,任何大模型都能用它来生成任意模板 PPT,而且跟模板样式完全一致。

发布于

feng950704:

我知道市面上已经有太多太多的 PPT 生成 Agent,但他们都不够亲民。如果能不依赖 Codex 和多模态大模型,根据模板精准生成 PPT,你觉得怎么样?请大家指点一下我的想法靠不靠谱。

### 1 设计一套 PPT 的专属标记语言

我已经调查了许多 PPT 生成 Agent,得出了一个重要结论:

```
只有在 PowerPoint 中,才能制作出最好的 PPT。
```

这看似是一句废话,但实际上市面上大多数 Agent 都是在疯狂生成 pptx 文件。我为此专门学习了如何制作 PPT,我认为,除非教会 LLM 如何使用 PowerPoint,否则很多炫酷的效果都是无法实现的。

所以我进行了一次反向思考,如果 LLM 能力尚且达不到这个标准,我们能否给制作好的 PPT 打上标签,让 LLM 识别出:这是文本、这里填充图片、这里填充序号?

这样,LLM 不需要动这个 PPT 的形状、动画和过渡效果,它只需精准地根据标记找到对应 PPTX 数据的位置,修改这些数据即可。一个文本大模型就足够完成这个工作。

那么,我们该怎么精准地标记某个 PPT 组件呢?

魔法就是“选择窗格”:

![选择窗格](https://cdn.joyword.link/materials/2/eb2708a611a9eb6a935ec4019cf462ca.png)

在这里,我们可以精确地选择组件,并且给它标记:文本、序号、图片、图标。

我选择使用 `@` 符号开头,代表一个标记的开始。

### 2 自动扩缩的列表

除了这些简单的标记,我们还需要解决一个关键问题:

```
PPT 经常表达一些组合的子项,构成一个列表。
```

![自动扩缩列表](https://cdn.joyword.link/materials/2/20eb56439b79c215f598f07618b72ec7.png)

我们常常组合一些形状、文字和图标,然后复制它们。如果 LLM 学不会扩缩这些列表,它就只能机械地填充内容,无法自动扩缩。

所以我还设计了动态列表标记,`@` 开头,`@1` 代表第一个列表,由于没有长度标记,它是定长列表,无法动态扩缩。
`@[1][3-5]` 代表它是可以扩缩的列表,最少 3 项,最多 5 项。`@1[3-5]@1` 代表这框住的是第一个列表的第一项。

列表的单项必须用组合功能框在一起,然后给组合标记上列表。

### 3 打包成 Skill

我一开始想把标记语言做成 Skill,但发现太难,太依赖视觉和操作了,目前这个步骤只能由 PPT 模板设计者完成。

但是只要标记完毕,后续的 PPT 生成完全可以由 Skill 自动化。我们只需把标记好的 PPT 发送给大模型,让它解析模板,并用这个模板生成任意内容的 PPT。

我已经把这个 Skill 完全开源,欢迎大家下载、研究:

[pp-dsl-generator](https://github.com/HYY-yu/ppt-dsl-generator)

### 广告时间

这个 Skill 已经被我集成到我的项目:JoyfulWords,只需动动手指,它就可以帮你生成文章、信息图、思维导图、PPT、播客音频,欢迎试用(基础功能完全免费,AI 功能送 200 积分,足够使用一个月了)。

[点击进入](https://joyword.link/)

---

原文链接:[点击查看](https://www.v2ex.com/t/1227939)

评论(1)

· 0 个赞