들어가며: "만들어줘"라고 말하면 무슨 일이 일어나는가
"발표 자료 만들어줘", "보고서 써줘", "데이터 정리해줘" — AI에게 이런 요청을 하면, 화면에 결과물이 나타난다. 그런데 그 사이에 무슨 일이 일어나는 걸까?
Claude와 Gamma는 문서를 만드는 방식이 근본적으로 다르다. Claude는 코드를 실행해서 파일을 생성하는 엔지니어이고, Gamma는 템플릿 위에 콘텐츠를 배치하는 디자이너다. 같은 "PPT 만들어줘"라는 요청에 대해 두 도구가 거치는 과정은 완전히 다르다.
이 글에서는 PPT, Word, MD, Excel — 네 가지 포맷에 대해 각각 Claude와 Gamma가 어떤 과정을 거쳐 문서를 생성하는지를 비교한다. 블랙박스를 열어보는 이야기다.
1. PPT (.pptx) — 프레젠테이션
Claude의 방식: 코드로 슬라이드를 조립한다
Claude에게 "PPT 만들어줘"라고 하면, 내부적으로 이런 과정이 일어난다.
Step 1 — 스킬 파일 참조
Claude는 먼저 내부에 저장된 PPTX 생성 스킬 문서를 읽는다. 이 문서에는 "python-pptx 라이브러리를 사용하라", "슬라이드 레이아웃은 이렇게 잡아라", "폰트 크기는 이 범위로" 같은 베스트 프랙티스가 정리되어 있다.
Step 2 — Python 코드 작성
Claude는 python-pptx 라이브러리를 사용하는 Python 스크립트를 작성한다. 실제로 실행되는 코드의 구조는 대략 이렇다:
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
# 표지 슬라이드
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "프로젝트 현황 보고"
slide.placeholders[1].text = "2026년 1분기"
# 내용 슬라이드
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "핵심 지표"
# 표, 차트, 이미지 삽입...
prs.save('/mnt/user-data/outputs/report.pptx')
Step 3 — 컨테이너에서 실행
이 코드가 Claude의 리눅스 컨테이너(Ubuntu)에서 실제로 실행된다. 파일 시스템에 .pptx 파일이 물리적으로 생성된다.
Step 4 — 파일 전달
생성된 파일이 사용자에게 다운로드 링크로 제공된다.
핵심 특징:
- 프로그래밍 방식이기 때문에 세밀한 제어가 가능하다. 특정 셀의 폰트 색상, 슬라이드 번호 위치, 표의 셀 병합까지 코드로 지정한다
- 반면 디자인 감각은 제한적이다. python-pptx로 만든 PPT는 기능적이지만, 시각적으로 세련된 템플릿 위의 결과물은 아니다
- 에러가 나면 코드를 수정하고 다시 실행한다. 디버깅 과정이 보이기도 한다
Gamma의 방식: 템플릿 위에 콘텐츠를 흘려넣는다
Step 1 — 프롬프트 해석
사용자의 요청을 받으면, Gamma의 AI가 콘텐츠 구조를 결정한다. "7장 슬라이드, 이런 흐름으로" 같은 아웃라인을 잡는다.
Step 2 — 테마/템플릿 선택
Gamma는 수백 개의 사전 디자인된 템플릿을 보유하고 있다. AI가 콘텐츠의 성격에 맞는 테마를 자동 선택하거나, 사용자가 직접 고를 수 있다.
Step 3 — 웹 기반 렌더링
Gamma의 프레젠테이션은 기본적으로 웹 문서다. HTML/CSS/JS로 렌더링되며, 브라우저에서 바로 보고 편집할 수 있다. 애니메이션, 임베드, 반응형 레이아웃이 자연스럽게 적용된다.
Step 4 — 내보내기
웹 프레젠테이션을 .pptx로 내보낼 수 있지만, 이 과정에서 일부 디자인 요소가 손실될 수 있다. Gamma의 본질은 웹 기반 프레젠테이션이지, .pptx 파일 생성기가 아니다.
핵심 특징:
- 디자인 품질이 압도적이다. 처음부터 시각적으로 완성된 결과물이 나온다
- 웹 기반이라 공유와 협업이 쉽다. 링크 하나로 공유 가능
- 반면 .pptx로 내보냈을 때 호환성 이슈가 생길 수 있다. PowerPoint에서 열었을 때 레이아웃이 미세하게 어긋나기도 한다
- 코드를 만지지 않기 때문에 세밀한 프로그래밍적 제어는 불가능하다
PPT 비교 요약
| 생성 방식 | python-pptx 코드 실행 | 웹 템플릿 + AI 배치 |
| 디자인 품질 | 기능적 (텍스트·표 중심) | 시각적으로 세련됨 |
| 세밀한 제어 | 코드 수준으로 가능 | 템플릿 범위 내 |
| 최종 포맷 | 네이티브 .pptx | 웹 → .pptx 변환 |
| 강점 | 데이터 기반 자동 생성, 반복 작업 | 즉시 쓸 수 있는 디자인 |
| 약점 | 미적 감각 제한 | 세부 레이아웃 통제 어려움 |
2. Word (.docx) — 문서/보고서
Claude의 방식: XML 조립 또는 docx-js 실행
Word 문서의 정체는 ZIP으로 압축된 XML 파일 묶음이다. Claude는 이 사실을 알고 있고, 두 가지 방법으로 .docx를 생성한다.
방법 A — docx-js (Node.js)
const { Document, Paragraph, TextRun, HeadingLevel } = require('docx');
const doc = new Document({
sections: [{
children: [
new Paragraph({
text: "프로젝트 완료 보고서",
heading: HeadingLevel.HEADING_1,
}),
new Paragraph({
children: [
new TextRun({ text: "1. 개요", bold: true }),
],
}),
// 본문, 표, 목차...
],
}],
});
// .docx 파일로 저장
방법 B — XML 직접 조작
기존 .docx 파일을 수정할 때는 ZIP을 풀고, 내부 XML(word/document.xml)을 직접 편집한 뒤 다시 압축한다.
# .docx 압축 해제
unzip report.docx -d report_extracted/
# XML 편집 (sed, Python lxml 등)
# ...
# 다시 압축
cd report_extracted && zip -r ../report_modified.docx .
핵심 특징:
- 페이지 번호, 머리글/바닥글, 목차, 표 등 Word의 거의 모든 기능을 코드로 제어할 수 있다
- 기존 .docx 파일을 받아서 수정하는 것도 가능하다 (찾기/바꾸기, 서식 변경, 이미지 교체 등)
- 단, 시각적 프리뷰 없이 코드만으로 작업하기 때문에, "이 문단이 페이지 넘김에서 어떻게 보이는지"는 실행 후에야 알 수 있다
Gamma의 방식: 웹 문서를 문서 포맷으로 변환
Gamma에서 문서를 만드는 과정:
- AI가 콘텐츠를 구조화한다 (제목, 소제목, 본문, 이미지 배치)
- Gamma 에디터에서 웹 기반으로 편집한다
- 완성된 문서를 .docx 또는 .pdf로 내보낸다
핵심 특징:
- Gamma의 문서는 프레젠테이션과 마찬가지로 본질적으로 웹 콘텐츠다
- "보고서"보다는 "원페이저", "제안서", "브리프" 같은 시각 중심 문서에 강하다
- Word 고유의 기능 — 변경 추적, 메모, 복잡한 표 서식, 각주, 상호참조 — 에는 한계가 있다
- 디자인이 적용된 상태로 나오기 때문에, 받는 사람 입장에서 바로 인쇄 가능한 수준이다
Word 비교 요약
| 생성 방식 | docx-js 코드 또는 XML 직접 조작 | 웹 에디터 → .docx 변환 |
| 제어 수준 | Word 기능 거의 전부 | 기본 서식 + 시각 요소 |
| 기존 파일 수정 | 가능 (업로드 → 수정 → 재생성) | 불가 (새로 만들기만) |
| 디자인 | 수동 지정 필요 | 자동 테마 적용 |
| 강점 | 목차, 각주, 변경 추적 등 고급 기능 | 시각적으로 완성된 문서 즉시 생성 |
| 약점 | 디자인 작업 수동 | Word 고급 기능 미지원 |
3. Markdown (.md) — 기술 문서/블로그
Claude의 방식: 텍스트를 직접 생성한다
Markdown은 Claude의 가장 자연스러운 출력 포맷이다. 다른 포맷들은 코드를 실행해서 파일을 생성하지만, Markdown은 Claude가 하는 "말" 자체가 곧 Markdown이다.
과정:
- 사용자의 요청을 받는다
- Claude가 Markdown 문법으로 텍스트를 생성한다
- 파일로 저장한다 (또는 대화창에 바로 출력한다)
# 제목
## 소제목
본문 텍스트. **굵게**, *기울임*, `코드`.
| 열1 | 열2 |
|-----|-----|
| 값1 | 값2 |
```python
def hello():
print("Hello")
```
```
**핵심 특징**:
- **중간 과정이 없다**. 코드 실행, 라이브러리 설치, 변환 과정 없이 바로 결과물이 나온다
- 따라서 **가장 빠르고 안정적**이다. PPT나 Word 생성에서 가끔 발생하는 라이브러리 에러가 없다
- Claude의 200K~1M 토큰 컨텍스트 윈도우를 활용해 **매우 긴 문서**도 한 번에 생성 가능하다
- Git으로 버전 관리가 자연스럽다
- Mermaid, PlantUML 같은 다이어그램 문법도 Markdown 안에 포함할 수 있다
**Claude가 Markdown을 만들 때의 내부 판단**:
Claude는 사용자가 "블로그 글 써줘", "기술 문서 만들어줘"라고 하면, 먼저 **이게 파일이 필요한 요청인지, 대화에 바로 출력해도 되는 요청인지**를 판단한다. 짧은 글(수십 줄 이하)은 대화창에 바로 출력하고, 긴 글은 `.md` 파일로 저장해서 다운로드 링크를 준다.
### Gamma의 방식: Markdown을 직접 만들지 않는다
Gamma는 Markdown 파일을 생성하는 도구가 아니다. Gamma의 문서는 자체 웹 포맷이 기본이고, 내보내기 옵션에 `.md`가 없다.
다만 반대 방향은 가능하다 — **Markdown을 입력으로 받아서** 프레젠테이션이나 문서를 만들 수 있다. 즉 Gamma에서 Markdown은 출력 포맷이 아니라 **입력 포맷**이다.
이것은 중요한 시사점이 있다. Claude가 Markdown으로 구조화된 콘텐츠를 만들고, 그것을 Gamma에 넣어서 시각적 문서로 변환하는 파이프라인이 가능하다.
### Markdown 비교 요약
| | Claude | Gamma |
|---|---|---|
| 생성 가능 여부 | 핵심 강점 | 생성 불가 (입력으로만 사용) |
| 생성 방식 | 텍스트 직접 출력 | — |
| 속도 | 가장 빠름 (코드 실행 불필요) | — |
| 다이어그램 | Mermaid, PlantUML 내장 가능 | — |
| 활용 | 기술 문서, 블로그, README, 산출물 | Markdown을 입력받아 시각화 |
---
## 4. Excel (.xlsx) — 스프레드시트/데이터
### Claude의 방식: openpyxl 또는 SheetJS로 생성
Excel 역시 코드 실행 방식이다.
**Python (openpyxl)**:
```python
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
ws.title = "매출 데이터"
# 헤더
ws.append(["월", "매출", "비용", "이익"])
# 데이터
data = [
["1월", 5000, 3000, 2000],
["2월", 6200, 3500, 2700],
# ...
]
for row in data:
ws.append(row)
# 차트 생성
chart = BarChart()
chart.title = "월별 매출 추이"
data_ref = Reference(ws, min_col=2, max_col=4, min_row=1, max_row=13)
chart.add_data(data_ref, titles_from_data=True)
ws.add_chart(chart, "F2")
# 셀 서식
ws['B2'].number_format = '#,##0'
wb.save('/mnt/user-data/outputs/sales.xlsx')
```
**과정**:
1. 스킬 문서(SKILL.md) 참조 — xlsx 생성 베스트 프랙티스 확인
2. 데이터 구조 설계 — 시트 이름, 열 구성, 데이터 타입 결정
3. openpyxl 코드 작성 — 데이터 입력, 수식, 서식, 차트 포함
4. 컨테이너에서 실행 — `.xlsx` 파일 생성
5. 파일 전달
**핵심 특징**:
- **수식 삽입 가능**: `ws['D2'] = '=B2-C2'` — Excel 네이티브 수식을 코드로 넣을 수 있다
- **차트 생성 가능**: 막대, 선, 파이 등 기본 차트를 프로그래밍으로 삽입
- **조건부 서식**: 특정 값 이상이면 빨간색, 이하면 초록색 같은 규칙 설정 가능
- **여러 시트**: 하나의 파일에 여러 워크시트를 만들어 데이터를 구조화
- **대량 데이터**: 수천~수만 행의 데이터도 코드로 한 번에 처리
- 업로드된 `.xlsx`, `.csv` 파일을 **읽고 수정**하는 것도 가능
### Gamma의 방식: 표는 문서 안에, 스프레드시트는 아니다
Gamma는 `.xlsx` 파일을 생성하지 않는다. Gamma의 문서나 프레젠테이션 안에 **표(table)**를 넣을 수는 있지만, 그것은 Excel 스프레드시트가 아니라 HTML 테이블이다.
- 수식이 없다
- 정렬/필터링이 없다
- 셀 단위의 서식 제어가 제한적이다
- 차트는 Gamma 자체 시각화 엔진으로 생성한다 (Excel 차트와는 별개)
Gamma의 표는 **"보여주기 위한 데이터 정리"**이지, **"데이터를 다루기 위한 도구"**가 아니다.
### Excel 비교 요약
| | Claude | Gamma |
|---|---|---|
| .xlsx 생성 | 가능 (openpyxl, SheetJS) | 불가 |
| 수식 | Excel 네이티브 수식 삽입 가능 | 불가 |
| 차트 | 코드로 차트 생성·삽입 | 자체 시각화 (웹 기반) |
| 대량 데이터 | 수만 행 처리 가능 | 표시용 테이블만 |
| 기존 파일 수정 | 가능 (업로드 → 편집 → 재생성) | 불가 |
| 강점 | 데이터 처리 + 파일 생성 올인원 | 데이터를 시각적으로 보여주기 |
---
## 전체 비교 매트릭스
| 포맷 | Claude 생성 | Claude 강점 | Gamma 생성 | Gamma 강점 |
|---|---|---|---|---|
| **PPT** | python-pptx 코드 실행 | 데이터 기반 자동 생성, 세밀 제어 | 웹 템플릿 기반 | 즉시 쓸 수 있는 디자인 |
| **Word** | docx-js 또는 XML 조작 | 고급 기능 (목차, 각주, 변경추적) | 웹 → .docx 변환 | 시각적 완성도 |
| **MD** | 텍스트 직접 출력 | 가장 빠르고 안정적 | 생성 불가 (입력만) | Markdown 입력 → 시각화 |
| **Excel** | openpyxl 코드 실행 | 수식, 차트, 대량 데이터, 파일 수정 | 생성 불가 | 표시용 테이블만 |
---
## 실전 가이드: 언제 누구를 부를 것인가
**Claude를 쓸 때**:
- 기존 파일을 수정해야 할 때 ("이 Excel에서 3열 추가하고 차트 넣어줘")
- 데이터가 입력이고 문서가 출력일 때 ("이 CSV로 보고서 만들어줘")
- 프로그래밍적 정밀도가 필요할 때 ("슬라이드 3의 표에서 음수는 빨간색으로")
- Markdown 기술 문서를 작성할 때
- 반복 생성이 필요할 때 ("월별 보고서를 12개 만들어줘")
**Gamma를 쓸 때**:
- 디자인이 중요한 프레젠테이션을 즉시 만들어야 할 때
- 비개발자가 받아도 바로 인쇄/공유 가능해야 할 때
- 웹 링크로 공유하고 실시간 편집할 때
- 시각적 원페이저, 제안서, 브리프를 만들 때
**둘을 같이 쓸 때 (파이프라인)**:
1. Claude가 데이터를 분석하고 Markdown으로 구조화한다
2. 그 Markdown을 Gamma에 넣어서 시각적 프레젠테이션으로 변환한다
3. 또는 Claude가 Excel로 데이터를 정리하고, 핵심 인사이트를 Gamma 슬라이드로 만든다
---
## 맺으며: 도구의 정체를 알면 요청이 달라진다
Claude에게 "예쁜 PPT 만들어줘"라고 하면 기대에 못 미칠 수 있다. Claude는 python-pptx로 코드를 실행하는 것이지, 디자이너가 아니기 때문이다. 반면 "이 데이터를 기반으로 12개 시트의 Excel을 자동 생성해줘"라고 하면 Claude가 압도적이다.
Gamma에게 "이 Excel 파일에서 피벗 테이블 만들어줘"라고 하면 안 된다. Gamma는 스프레드시트를 다루는 도구가 아니기 때문이다. 반면 "이 내용으로 발표 자료 만들어줘"라고 하면 5분 만에 발표 가능한 슬라이드가 나온다.
도구의 내부 작동 방식을 이해하면, **올바른 도구에 올바른 요청을 하게 된다.** 그리고 그것이 AI 도구를 제대로 쓰는 첫 번째 단계다.
---
*"AI에게 '만들어줘'라고 말하기 전에, 그 AI가 '어떻게' 만드는지를 알면 결과가 달라진다.
'Product & Solution' 카테고리의 다른 글
| 2026년 AI 코딩 도구 3파전: Claude Code vs Cursor vs Google Antigravity (0) | 2026.04.02 |
|---|---|
| 우주에서의 핸드폰은 로봇일 것이다 (0) | 2026.03.30 |
| 논문 한 편을 네 명의 AI에게 던졌다 — Claude, Gamma, DeepL, Perplexity에게 묻는 논문 분석의 기술 (0) | 2026.03.30 |
| Claude Code가 짠 코드를 어느 정도 까지 믿을 것 인가에 대해 Dario Amodei의 AI 구조화 철학에서 답을 찾다 (3) | 2026.03.30 |
| 논문의 독창성·실용성·경제성 — 소프트웨어 개발자가 바라본 도메인 지식의 가치 (0) | 2026.03.30 |
