新开发了一个 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 组件呢?
魔法就是“选择窗格”:

在这里,我们可以精确地选择组件,并且给它标记:文本、序号、图片、图标。
我选择使用 `@` 符号开头,代表一个标记的开始。
### 2 自动扩缩的列表
除了这些简单的标记,我们还需要解决一个关键问题:
```
PPT 经常表达一些组合的子项,构成一个列表。
```

我们常常组合一些形状、文字和图标,然后复制它们。如果 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)
我知道市面上已经有太多太多的 PPT 生成 Agent,但他们都不够亲民。如果能不依赖 Codex 和多模态大模型,根据模板精准生成 PPT,你觉得怎么样?请大家指点一下我的想法靠不靠谱。
### 1 设计一套 PPT 的专属标记语言
我已经调查了许多 PPT 生成 Agent,得出了一个重要结论:
```
只有在 PowerPoint 中,才能制作出最好的 PPT。
```
这看似是一句废话,但实际上市面上大多数 Agent 都是在疯狂生成 pptx 文件。我为此专门学习了如何制作 PPT,我认为,除非教会 LLM 如何使用 PowerPoint,否则很多炫酷的效果都是无法实现的。
所以我进行了一次反向思考,如果 LLM 能力尚且达不到这个标准,我们能否给制作好的 PPT 打上标签,让 LLM 识别出:这是文本、这里填充图片、这里填充序号?
这样,LLM 不需要动这个 PPT 的形状、动画和过渡效果,它只需精准地根据标记找到对应 PPTX 数据的位置,修改这些数据即可。一个文本大模型就足够完成这个工作。
那么,我们该怎么精准地标记某个 PPT 组件呢?
魔法就是“选择窗格”:

在这里,我们可以精确地选择组件,并且给它标记:文本、序号、图片、图标。
我选择使用 `@` 符号开头,代表一个标记的开始。
### 2 自动扩缩的列表
除了这些简单的标记,我们还需要解决一个关键问题:
```
PPT 经常表达一些组合的子项,构成一个列表。
```

我们常常组合一些形状、文字和图标,然后复制它们。如果 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)
· 0 个赞