PPT 제작의 세 가지 큰 고통, 모든 직장인이 경험해봄

월요일 부서 정례회의, 분기말 OKR 보고, 프로젝트 인도 전 고객 프레젠테이션—이러한 상황에는 공통적인 악몽이 있습니다: PPT 만들기.

2026년 Microsoft Work Trend Index 보고서에 따르면, 지식 노동자는 평균적으로 주당 3.2시간을 프레젠테이션 제작에 소비하며, 그 중 60%는 콘텐츠 창작이 아닌 레이아웃 조정에 사용됩니다. 더 잔혹한 현실은:

  1. 콘텐츠 추출에 시간 소요: 50페이지 기술 문서에서 15페이지의 핵심을 추출하려면 반복적으로 읽고, 요약하고, 재구성해야 합니다
  2. 레이아웃 디자인의 높은 진입장벽: 색상 조합, 정렬, 텍스트와 이미지 비율—디자이너가 아닌 이상 "볼만한" 슬라이드를 만들기 어렵습니다
  3. 반복 작업이 심각: 매번 보고할 때마다 "템플릿 찾기→내용 채우기→형식 조정"의 무한 반복

시장에는 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 모드(개인 사용 권장)

BASH
# 설치
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(서버 배포)

BASH
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. 소스 코드 빌드(개발자 모드)

BASH
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 샌드박스를 사용하여 코드 생성 작업(그래프 그리기, 데이터 처리)을 실행하여, 악성 코드가 호스트 환경에 영향을 미치는 것을 방지합니다. 핵심 설정:

YAML
# 샌드박스 타임아웃 제어
MCP_CONNECT_TIMEOUT: 120  # 연결 타임아웃(초)
MCP_CALL_TIMEOUT: 1800    # 호출 타임아웃(초)

# 도구 호출 제한
MAX_TOOLCALL_PER_TURN: 7  # 라운드당 최대 7개 도구 호출
TOOL_CUTOFF_LEN: 4096     # 도구 출력 잘라내기 임계값(문자)

모델 설정 유연성

PPTAgent는 특정 LLM 제공업체에 바인딩되지 않으며, OpenRouter 또는 LiteLLM을 통해 100개 이상의 모델을 지원합니다:

YAML
# 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 키 직접 준비) $10/월부터 $12/월부터 무료 할당량+유료
대상 사용자 개발자/기술 팀 비즈니스/마케팅 담당자 디자이너 빠른 프로토타이핑

핵심 차이 요약:

  • PPTAgent는 유일한 오픈소스 솔루션으로, 데이터가 완전히 로컬화되어 프라이버시 요구가 있는 기업 시나리오에 적합합니다
  • PPTAgent의 반성 메커니즘은 독자적인 우위입니다—다른 도구는 모두 "일회성 생성"이지만, PPTAgent는 자체 점검 및 수정을 수행합니다
  • Gamma/Beautiful.ai는 사용 편의성에서 우위—웹 페이지를 열기만 하면 사용 가능하며, 환경 설정이 필요 없습니다
  • PPTAgent의 문서 이해 능력이 가장 강력—50페이지 PDF를 직접 넣어 핵심 요점을 자동 추출할 수 있습니다

실전: 기술 문서에서 프레젠테이션 PPT까지 전체 프로세스

아래에서는 실제 기술 백서를 사용하여 PPTAgent의 전체 워크플로를 시연합니다.

1단계: 환경 준비

BASH
# uv 설치(Python 패키지 매니저)
curl -LsSf https://astral.sh/uv/install.sh | sh

# PPTAgent 설치
uv tool install pptagent

# 초기 설정(인터랙티브 마법사, LLM API 키 설정)
pptagent onboard

pptagent onboard는 다음을 안내합니다: 1. LLM 제공업체 선택(OpenRouter/OpenAI/사용자 정의) 2. API 키 입력 3. 선택적 설정: Tavily(검색 강화), MinerU(PDF 해석 강화), T2I 모델(이미지 생성 강화)

2단계: PPT 생성

BASH
# 기본 사용법: 한 문장으로 생성
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: 출력 파일 경로

3단계: 확인 및 조정

생성된 PPTX 파일은 PowerPoint, WPS 또는 Google Slides에서 직접 열어 편집할 수 있습니다. PPTAgent의 출력 특징:

  • 구조가 명확: 각 페이지에 명확한 주제가 있으며, 논리적으로 진행
  • 텍스트-이미지 매칭: 핵심 개념에는 자동 생성된 도식이나 데이터 그래프가 포함
  • 스타일 통일: 색상과 폰트가 전체적으로 일관

조정이 필요한 경우, 프롬프트를 수정하여 재생성하거나 PPTX 파일을 직접 수동 편집할 수 있습니다.

Web UI 사용

BASH
# 소스 코드 모드에서 Web UI 실행
python webui.py

# 또는 Docker 모드에서
docker compose up -d
# http://localhost:7861 접속

Web UI는 문서 업로드, 프롬프트 편집, 결과 미리보기의 시각적 기능을 제공하며, 커맨드라인에 익숙하지 않은 사용자에게 적합합니다.

고급 사용법: 사용자 정의 템플릿, 배치 처리, API 통합

사용자 정의 템플릿

PPTAgent는 사용자 정의 PPTX 템플릿 가져오기를 지원하여, 생성된 프레젠테이션이 기업 VI 규격에 적합하도록 합니다:

BASH
# 템플릿을 작업 디렉토리에 배치
cp company-template.pptx ~/.cache/deeppresenter/templates/

# 생성 시 템플릿 지정
pptagent generate "제품 소개" \
  --template company-template.pptx \
  -o product-intro.pptx

템플릿의 마스터 레이아웃, 색상 구성, 폰트 설정은 유지되며, PPTAgent는 콘텐츠 영역만 채웁니다.

배치 처리

PPT를 배치 생성해야 하는 시나리오(예: 각 논문마다 프레젠테이션 자동 생성)에서는 스크립트를 작성할 수 있습니다:

PYTHON
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 등)에서 도구로 호출할 수 있습니다:

JSON
// mcp.json 설정
{
  "mcpServers": {
    "pptagent": {
      "command": "pptagent-mcp",
      "args": [],
      "env": {
        "DEEPPRESENTER_WORKSPACE_BASE": "~/.cache/deeppresenter"
      }
    }
  }
}

설정 후, 다른 Agent는 MCP 프로토콜을 통해 PPTAgent의 프레젠테이션 생성 기능을 호출하여 "대화형 PPT 제작"을 실현할 수 있습니다.

완전 오프라인 모드

데이터에 민감한 시나리오에서, PPTAgent는 완전 오프라인 실행을 지원합니다:

YAML
# config.yaml
offline_mode: true

# 로컬 PDF 해석 배포(MinerU)
# 로컬 LLM 배포(DeepPresenter-9B GGUF 등)
# 로컬 T2I 모델 설정

오프라인 모드에서는 모든 처리가 로컬에서 완료되며, 외부 서비스로 데이터를 전송하지 않습니다.

한계 및 주의사항

PPTAgent는 만능이 아닙니다, 다음은 현재 버전에서 알려진 제한사항입니다:

  1. Windows 네이티브 환경 미지원: Windows 사용자는 WSL(Windows Subsystem for Linux)을 사용해야 합니다
  2. LLM API 비용: 15페이지 PPT 생성에 약 50K-100K 토큰을 소비하며, GPT-4 수준 모델을 사용하면 약 $0.5-1.5/회
  3. 초기 시작이 느림: Docker 이미지를 다운로드해야 하며(sandbox + host 약 3GB), 이후 시작은 빠름
  4. 중국어 레이아웃 간혹 문제 발생: 일부 중국어 폰트가 HTML 렌더링 시 정렬 어긋남이 발생할 수 있으며, 생성 후 PowerPoint에서 미세 조정 권장
  5. 복잡한 그래프 지원 제한적: 고도로 사용자 정의된 데이터 시각화(인터랙티브 그래프 등)의 경우 계속 수동 처리 필요
  6. 외부 서비스 선택적이지만 권장: Tavily 검색과 MinerU PDF 해석은 품질을 현저히 향상시키지만, 추가 API 키 필요

성능 벤치마크

M2 MacBook Pro(16GB RAM)에서의 실측 데이터:

문서 규모 생성 페이지 수 소요 시간 토큰 소비
5페이지 PDF 8페이지 PPT 약 2분 약 30K 토큰
20페이지 Word 15페이지 PPT 약 5분 약 65K 토큰
50페이지 논문 20페이지 PPT 약 8분 약 95K 토큰

총평

PPTAgent는 현재 가장 강력한 오픈소스 AI PPT 생성 프레임워크이며, 다른 추종을 불허합니다. 핵심 우위는:

  • 학술급 방법론: EMNLP 2025 + ACL 2026 두 개의 최상위 컨퍼런스 논문 뒷받침
  • 반성적 생성: 일회성 출력이 아닌, 다중 반복 최적화
  • 완전 오픈소스: MIT 라이선스, 데이터 로컬화, 자유롭게 사용자 정의 가능
  • 풍부한 생태계: CLI/Web UI/MCP Server 세 가지 모드로, 개인부터 팀까지 커버

권장 사용자: - 기술 보고를 자주 만들어야 하는 개발자/연구자 - 데이터 프라이버시 요구가 있는 기업 사용자 - PPT 생성을 AI 워크플로에 통합하려는 Agent 개발자 - 오픈소스 솔루션을 기반으로 이차 개발하려는 팀

비권장 사용자: - 가끔 PPT를 만드는 일반 사용자(Gamma가 더 간단) - 극한의 디자인 감각이 필요한 브랜드 프레젠테이션(여전히 전문 디자이너 필요) - LLM API 키가 없고 설정하고 싶지 않은 사용자

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) 오픈소스로 제어 가능—데이터는 로컬에서 나가지 않으며, 모델은 교체 가능합니다.