@extends('layouts.app') @section('title', '견적서 자동기획 프로젝트') @section('content')
AI WORKFLOW DOCUMENTATION
제조 현장의 목소리를 데이터화하고 자동으로 문서화하는 프로세스입니다.
Gemini의 멀티모달 분석과 Claude의 코드 생성 능력을 결합한 최적의 솔루션
음성 녹음 파일
(MP3, WAV)
AI 분석 & 변환
(Gemini + Claude)
견적서 PPTX 파일
(자동 생성)
Gemini 1.5 Pro 활용
// Structured Data (JSON)
{
"customer": "A사",
"items": [...],
"total_price": "..."
}
Claude Web Page Skill
확정 버튼을 누르면 PPTX 생성 스크립트로 데이터가 전달됩니다.
Claude Code Skill
python-pptx 라이브러리 활용
OUTPUT
최종 견적서 파일 (.pptx)
Review & Iteration
"표의 색상을 변경해줘"
"마지막에 안내 문구를 추가해줘"
| 단계 | 담당 AI | 기술 및 도구 | 비고 |
|---|---|---|---|
| 음성 인식 & 추론 | Gemini |
Multimodal Audio Input
|
긴 대화의 맥락 파악에 최적 |
| 데이터 구조화 | Gemini / Claude |
JSON Schema 추출
|
비정형 → 정형 데이터 변환 |
| UI/UX 구성 | Claude |
React / HTML/JS
|
사용자 데이터 확인 인터페이스 |
| 문서 생성 | Claude |
Python (python-pptx)
|
실제 파일 바이너리 생성 |
Gemini에게 음성을 넘길 때, "이전 견적서 사례" 2~3개를 함께 예시로 주면 추출 정확도가 대폭 향상됩니다.
핵심: 예시 기반 학습으로 정확도 향상
PPTX의 배경 디자인이나 로고는 미리 만든 template.pptx 파일을 활용하고, AI는 값만 채우도록 설정
핵심: 디자인 품질 유지에 유리
대화 중 불확실한 내용은 Unconfirmed 플래그를 달아 웹 페이지에서 강조 표시되도록 설계
핵심: 불확실성 명시적 관리
음성 → 텍스트 변환 이후 PPTX 생성까지 Claude Code의 Subagent와 Skills를 활용한 자동화 파이프라인
자연어 텍스트 분석 및 PDF 템플릿 구조 매핑
node txt-to-pptx.js
PDF 기획서 분석 및 PPT 기획서 자동 생성
npm run create-proposal
HTML 슬라이드를 PowerPoint 파일로 변환
node html2pptx.js
Input
source/*.txt
Parser
텍스트 파싱
Analyzer
섹션 인식
Mapper
템플릿 매핑
Output
PPTX 생성
flow-chart/ ├── source/ # TXT 입력 파일 ├── pptx/ # PPTX 출력 ├── templates/ # JSON 템플릿 ├── data/ # 샘플 데이터 ├── run.js # 통합 실행 └── estimate-pptx-generator.js
npm run ppt
# TXT → PPTX
npm run estimate
# 견적서 생성
npm run template
# 템플릿 기반
{
"company": "(주) 주일기업",
"documentNumber": "ABC123",
"client": {
"name": "회사명",
"site": "현장명",
"contact": "연락처"
},
"items": [
{
"name": "FSSB01(주차장)",
"width": 2530,
"height": 2550,
"materialCost": 1420000,
"laborCost": 510000
}
],
"summary": {
"grandTotal": 93950000
}
}
자연어 텍스트의 구조와 내용을 자동 파싱
섹션 인식 패턴:
프로젝트명:
메타데이터 추출
=== 섹션 ===
주요 섹션 구분
1. 항목
번호 목록 인식
파싱된 데이터를 PDF 템플릿 구조에 매핑
매핑 대상:
JavaScript 기반 PowerPoint 생성
// 색상 코드 (# 없이)
{ color: 'FF0000' }
{ fill: { color: '1e3a5f' } }
// 슬라이드 크기 (16:9)
pres.defineLayout({
name: 'CUSTOM_16x9',
width: 10,
height: 5.625
});
Playwright + PptxGenJS 조합
HTML 작성 규칙:
음성 녹음
Gemini STT
JSON 데이터
웹 검토
Claude Code
PPTX 완성
AI 기반 제조 견적서 자동화 시스템
Powered by Gemini + Claude