PPT 製作的三大痛點,每個上班族都經歷過
每週一的部門例會、季末的 OKR 報告、專案交付前的客戶演示——這些場景有一個共同的噩夢:做 PPT。
根據 2026 年 Microsoft Work Trend Index 報告,知識工作者平均每週花費 3.2 小時在簡報製作上,其中 60% 的時間用於排版調整而非內容創作。更殘酷的現實是:
- 內容提煉耗時:從 50 頁技術文件中提煉出 15 頁精華,需要反覆閱讀、歸納、重組
- 排版設計門檻高:配色、對齊、圖文比例——非設計師很難做出「能看」的投影片
- 重複勞動嚴重:每次報告都是「找範本→填內容→調格式」的死循環
市面上不缺 PPT 工具,但真正能理解文件內容並自動生成結構化簡報的開源方案,直到 PPTAgent 出現才填補了這個空白。
PPTAgent 是什麼:不只是「文件轉 PPT」
PPTAgent 是由中國科學院計算技術研究所(ICIP-CAS)開源的 AI 簡報生成框架,GitHub 已收穫 4,900+ Stars。它不是簡單的範本填充工具,而是一個多智能體協作系統(Agentic Framework),能夠:
- 深度理解文件:解析 PDF、Word、Excel 等格式,自動提取核心論點與數據
- 反思式生成:透過 Research → Design → Reflect 的迭代循環,持續優化輸出品質
- 圖文混排:自動調用文生圖模型生成配圖,或從文件中提取圖表
- 多格式匯出:支援 PPTX 原生格式和 HTML 投影片
文件輸入 → Research Agent(內容研究)→ Design Agent(視覺設計)→ 反思優化 → PPTX 輸出
2025 年 8 月,PPTAgent 論文被 EMNLP 2025 接收;2026 年 4 月,其微調模型 DeepPresenter 被 ACL 2026 接收——這是學術界對這套方法論的雙重認可。
核心功能矩陣:PPTAgent 能做什麼
| 功能模組 | 說明 | 技術實現 |
|---|---|---|
| 文件理解 | 解析 PDF/Word/Excel/Markdown | MinerU + MarkItDown |
| 內容研究 | 自動檢索補充資訊,深化內容 | Tavily Web Search + arXiv |
| 智慧排版 | 根據內容類型選擇最佳版式 | Design Agent + HTML 渲染 |
| 圖文生成 | 自動生成配圖、圖表、流程圖 | T2I 模型 + Mermaid + Plotly |
| 反思優化 | 偵測並修正內容/排版問題 | Reflection Loop(最多 10 輪) |
| MCP 服務 | 作為工具被其他 Agent 調用 | FastMCP Server |
| Web UI | 瀏覽器視覺化操作介面 | Gradio(連接埠 7861) |
| CLI 模式 | 命令列快速生成 | Typer CLI |
三種執行模式
1. CLI 模式(個人使用推薦)
# 安裝
uv tool install pptagent
# 互動式設定精靈
pptagent onboard
# 一句話生成 PPT
pptagent generate "Q4 季度報告" -o report.pptx
# 帶附件生成
pptagent generate "技術方案評審" \
-f architecture.pdf \
-f benchmark.xlsx \
-p "10-15" \
-o tech-review.pptx
2. Docker Compose(伺服器部署)
docker pull forceless/deeppresenter-sandbox
docker pull forceless/deeppresenter-host
docker tag forceless/deeppresenter-sandbox deeppresenter-sandbox
docker tag forceless/deeppresenter-host deeppresenter-host
docker compose up -d
# 存取 http://localhost:7861
3. 原始碼建置(開發者模式)
git clone https://github.com/icip-cas/PPTAgent.git
cd PPTAgent
uv pip install -e .
playwright install-deps && playwright install chromium
npm install --prefix deeppresenter/html2pptx
python webui.py
技術架構深度解析
PPTAgent 的核心設計理念是**「反思式生成」**(Reflective Generation)——不是一次性輸出,而是透過多輪迭代逼近最佳結果。
多智能體協作流程
┌─────────────────────────────────────────────────┐
│ AgentLoop.run() │
├─────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Research │───▶│ Design │───▶│ Reflect │ │
│ │ Agent │ │ Agent │ │ Loop │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Web │ │ HTML │ │ 品質 │ │
│ │ Search │ │ Render │ │ 評估 │ │
│ │ arXiv │ │ PPTX │ │ 修正 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────┘
Research Agent 負責內容層:解析輸入文件,必要時連網搜尋補充背景知識,生成結構化的「研究報告」(manuscript)。它支援上下文管理,當文件過長時自動摺疊早期內容(context_folding: true),避免超出模型上下文視窗。
Design Agent 負責視覺層:根據內容類型(技術報告/產品介紹/教學課件)選擇合適的版式,生成 HTML 投影片程式碼,再透過 Playwright 渲染為圖片或直接轉換為 PPTX。
Reflection Loop 是品質保障的關鍵:系統會評估生成內容的完整性、邏輯性和視覺一致性,發現問題後自動觸發修正,最多迭代 10 輪(MAX_SUBAGENT_TURNS)。
沙箱隔離機制
PPTAgent 使用 Docker 沙箱執行程式碼生成任務(圖表繪製、資料處理),避免惡意程式碼影響宿主環境。核心設定:
# 沙箱逾時控制
MCP_CONNECT_TIMEOUT: 120 # 連線逾時(秒)
MCP_CALL_TIMEOUT: 1800 # 調用逾時(秒)
# 工具調用限制
MAX_TOOLCALL_PER_TURN: 7 # 每輪最多 7 個工具調用
TOOL_CUTOFF_LEN: 4096 # 工具輸出截斷閾值(字元)
模型設定靈活性
PPTAgent 不綁定特定 LLM 供應商,透過 OpenRouter 或 LiteLLM 支援 100+ 模型:
# config.yaml 範例
research_agent:
base_url: "https://openrouter.ai/api/v1"
model: "anthropic/claude-sonnet-4.5"
api_key: "your_key"
design_agent:
base_url: "https://openrouter.ai/api/v1"
model: "google/gemini-3-pro-preview"
api_key: "your_key"
# 也支援 LiteLLM 路由
# research_agent:
# provider: "litellm"
# model: "anthropic/claude-sonnet-4-6"
# api_key: "your_anthropic_key"
官方強烈推薦使用微調模型 DeepPresenter-9B(HuggingFace 可下載),在 PPT 生成任務上顯著優於通用開源模型。
PPTAgent vs Gamma vs Beautiful.ai vs ChatBA:橫向對比
市面上 AI PPT 工具不少,但定位差異很大。以下是 2026 年主流方案的對比:
| 維度 | PPTAgent | Gamma | Beautiful.ai | ChatBA |
|---|---|---|---|---|
| 開源 | ✅ MIT 授權 | ❌ 閉源 SaaS | ❌ 閉源 SaaS | ❌ 閉源 SaaS |
| 部署方式 | 本地/Docker/原始碼 | 線上 SaaS | 線上 SaaS | 線上 SaaS |
| 文件理解 | 深度(PDF/Word/Excel 全解析) | 中等(文字貼上) | 弱(純文字) | 弱(純文字) |
| 圖文混排 | ✅ 自動生圖+圖表 | ✅ 範本圖庫 | ✅ 智慧排版 | ⚠️ 基礎配圖 |
| 反思優化 | ✅ 多輪迭代 | ❌ 一次性 | ❌ 一次性 | ❌ 一次性 |
| 自訂模型 | ✅ 支援 100+ LLM | ❌ 固定模型 | ❌ 固定模型 | ❌ 固定模型 |
| MCP 整合 | ✅ 可作為 Agent 工具 | ❌ | ❌ | ❌ |
| 資料隱私 | ✅ 完全本地 | ❌ 資料上傳 | ❌ 資料上傳 | ❌ 資料上傳 |
| 價格 | 免費(自備 API Key) | $10/月起 | $12/月起 | 免費額度+付費 |
| 適合人群 | 開發者/技術團隊 | 商務/市場人員 | 設計師 | 快速原型 |
核心差異總結:
- PPTAgent 是唯一開源方案,資料完全本地化,適合對隱私有要求的企業場景
- PPTAgent 的反思機制是獨家優勢——其他工具都是「一次生成」,PPTAgent 會自我檢查並修正
- Gamma/Beautiful.ai 勝在易用性——打開網頁就能用,無需設定環境
- PPTAgent 的文件理解能力最強——可以直接丟入 50 頁 PDF,自動提煉要點
實戰:從技術文件到簡報 PPT 全流程
下面以一份真實的技術白皮書為例,演示 PPTAgent 的完整工作流程。
第一步:環境準備
# 安裝 uv(Python 套件管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安裝 PPTAgent
uv tool install pptagent
# 首次設定(互動式精靈,設定 LLM API Key)
pptagent onboard
pptagent onboard 會引導你完成:
1. 選擇 LLM 供應商(OpenRouter/OpenAI/自訂)
2. 填入 API Key
3. 可選設定:Tavily(增強搜尋)、MinerU(增強 PDF 解析)、T2I 模型(增強配圖)
第二步:生成 PPT
# 基礎用法:一句話生成
pptagent generate "介紹 Transformer 架構的核心原理" -o transformer.pptx
# 進階用法:基於文件生成
pptagent generate "請根據附件文件製作技術報告 PPT" \
-f ~/docs/annual-report-2026.pdf \
-f ~/data/metrics.xlsx \
-p "12-18" \
-o annual-review.pptx
參數說明:
- -f:附件路徑,支援 PDF/Word/Excel/Markdown
- -p:目標頁數範圍(如 "12-18" 表示 12 到 18 頁)
- -o:輸出檔案路徑
第三步:檢視與調整
生成的 PPTX 檔案可以直接用 PowerPoint、WPS 或 Google Slides 開啟編輯。PPTAgent 的輸出特點是:
- 結構清晰:每頁有明確的主題,邏輯遞進
- 圖文匹配:關鍵概念配有自動生成的示意圖或數據圖表
- 風格統一:配色和字型全域一致
如果需要調整,可以修改 prompt 後重新生成,或直接手動編輯 PPTX 檔案。
使用 Web UI
# 原始碼模式下啟動 Web UI
python webui.py
# 或 Docker 模式下
docker compose up -d
# 存取 http://localhost:7861
Web UI 提供視覺化的文件上傳、prompt 編輯和結果預覽功能,適合不熟悉命令列的使用者。
進階用法:自訂範本、批次處理與 API 整合
自訂範本
PPTAgent 支援匯入自訂 PPTX 範本,讓生成的簡報符合企業 VI 規範:
# 將範本放入工作目錄
cp company-template.pptx ~/.cache/deeppresenter/templates/
# 生成時指定範本
pptagent generate "產品介紹" \
--template company-template.pptx \
-o product-intro.pptx
範本中的母版版面配置、配色方案、字型設定會被保留,PPTAgent 只填充內容區域。
批次處理
對於需要批次生成 PPT 的場景(如為每篇論文自動生成簡報),可以編寫腳本:
import subprocess
import glob
papers = glob.glob("papers/*.pdf")
for paper in papers:
output = paper.replace(".pdf", ".pptx").replace("papers/", "presentations/")
subprocess.run([
"pptagent", "generate",
"請根據這篇論文製作 15 分鐘的學術報告 PPT",
"-f", paper,
"-p", "15-20",
"-o", output
])
print(f"Generated: {output}")
MCP 整合:讓其他 AI Agent 調用 PPTAgent
PPTAgent 提供 MCP Server 模式,可以作為工具被其他 Agent(如 OpenClaw、Hermes)調用:
// mcp.json 設定
{
"mcpServers": {
"pptagent": {
"command": "pptagent-mcp",
"args": [],
"env": {
"DEEPPRESENTER_WORKSPACE_BASE": "~/.cache/deeppresenter"
}
}
}
}
設定後,其他 Agent 可以透過 MCP 協定調用 PPTAgent 的簡報生成能力,實現「對話式 PPT 製作」。
完全離線模式
對於資料敏感場景,PPTAgent 支援完全離線執行:
# config.yaml
offline_mode: true
# 部署本地 PDF 解析(MinerU)
# 部署本地 LLM(如 DeepPresenter-9B GGUF)
# 設定本地 T2I 模型
離線模式下所有處理在本地完成,不發送任何資料到外部服務。
局限性與注意事項
PPTAgent 不是萬能的,以下是當前版本的已知限制:
- 不支援 Windows 原生環境:Windows 使用者需要使用 WSL(Windows Subsystem for Linux)
- LLM API 成本:生成一份 15 頁 PPT 大約消耗 50K-100K tokens,使用 GPT-4 級別模型約 $0.5-1.5/次
- 首次啟動較慢:需要下載 Docker 映像檔(sandbox + host 約 3GB),後續啟動很快
- 中文排版偶有問題:部分中文字型在 HTML 渲染時可能出現對齊偏差,建議生成後在 PowerPoint 中微調
- 複雜圖表支援有限:對於高度客製化的資料視覺化(如互動式圖表),仍需手動處理
- 依賴外部服務可選但推薦:Tavily 搜尋和 MinerU PDF 解析能顯著提升品質,但需要額外 API Key
效能基準
在 M2 MacBook Pro(16GB RAM)上的實測數據:
| 文件規模 | 生成頁數 | 耗時 | Token 消耗 |
|---|---|---|---|
| 5 頁 PDF | 8 頁 PPT | ~2 分鐘 | ~30K tokens |
| 20 頁 Word | 15 頁 PPT | ~5 分鐘 | ~65K tokens |
| 50 頁論文 | 20 頁 PPT | ~8 分鐘 | ~95K tokens |
總結評價
PPTAgent 是目前最強大的開源 AI PPT 生成框架,沒有之一。它的核心優勢在於:
- 學術級方法論:EMNLP 2025 + ACL 2026 雙頂會論文背書
- 反思式生成:不是一次性輸出,而是多輪迭代優化
- 完全開源:MIT 授權,資料本地化,可自由客製
- 生態豐富:CLI/Web UI/MCP Server 三種模式,覆蓋個人到團隊場景
推薦人群: - 需要頻繁製作技術報告的開發者/研究員 - 對資料隱私有要求的企業使用者 - 希望將 PPT 生成整合到 AI 工作流的 Agent 開發者 - 想基於開源方案二次開發的團隊
不推薦人群: - 偶爾做一次 PPT 的一般使用者(Gamma 更簡單) - 需要極致設計感的品牌簡報(仍需專業設計師) - 沒有 LLM API Key 且不願設定的使用者
PPTAgent 代表了 AI PPT 生成的一個新範式:不是替代人類做 PPT,而是理解人類的需求後,自動生成高品質的初稿。你仍然需要審閱和調整,但那些「從 0 到 0.8」的重複勞動,終於可以交給 AI 了。
常見問題(FAQ)
1. PPTAgent 是免費的嗎?
PPTAgent 本身完全免費開源(MIT 授權),但執行時需要 LLM API。使用 OpenRouter 等服務的模型會產生 API 費用,生成一份 15 頁 PPT 約 $0.5-1.5。如果本地部署 DeepPresenter-9B 模型,則可以實現零成本執行(需要足夠的 GPU 記憶體)。
2. PPTAgent 支援哪些語言?
PPTAgent 支援中文和英文的文件解析與 PPT 生成。對於其他語言(日語、韓語等),內容生成基本可用,但排版可能需要手動調整。Web UI 介面支援 21 種語言。
3. 生成的 PPT 品質如何?需要手動修改嗎?
PPTAgent 生成的 PPT 結構和內容品質較高,可以直接用於內部技術分享或初稿。但對於正式的客戶演示或品牌展示,建議在 PowerPoint 中進行微調(調整字型、替換配圖、優化動畫)。反思機制會顯著提升首次生成的品質。
4. 如何在公司內網部署 PPTAgent?
PPTAgent 支援完全離線模式。步驟:1)在有網環境拉取 Docker 映像檔;2)下載 DeepPresenter-9B GGUF 模型到本地;3)部署 MinerU 本地 PDF 解析服務;4)在 config.yaml 中設定 offline_mode: true。所有處理在本地完成,不發送資料到外部。
5. PPTAgent 和 Manus/ChatGPT 的 PPT 功能有什麼區別?
Manus 和 ChatGPT 的 PPT 功能本質上是「文字→PPT」——它們理解你的文字描述然後填充範本。PPTAgent 的核心差異在於:1)深度文件理解——可以直接解析 PDF/Excel 等複雜文件;2)反思機制——生成後自我檢查並修正;3)開源可控——資料不離開本地,模型可替換。