AI 에이전트로 견적서 PDF 자동 생성하기 — 가격 증빙까지 한 번에

2 minute read

문제: 견적서 만들기가 너무 귀찮다

SaaS 인프라 견적서를 만들 때 가장 시간 잡아먹는 건 가격 조사다. AWS, OpenAI, Anthropic 등 10개 넘는 서비스의 가격 페이지를 돌아다니며 스크린샷 찍고, 엑셀에 정리하고, PDF로 변환하는 작업이 반복된다.

이걸 AI 에이전트로 자동화했다. 결과물은 14개 항목 견적서 PDF + 가격 증빙 스크린샷 7장이 한 번에 나온다.

아키텍처

┌─────────────┐
│  메인 에이전트  │
│  (오케스트레이터)│
└──────┬──────┘
       │ spawn 3개 병렬
  ┌────┴────┬────────┐
  ▼         ▼        ▼
[증빙A]  [증빙B]  [증빙C]
AWS/RDS  OpenAI   Pinecone
S3/CF    Anthropic 기타SaaS
  │         │        │
  ▼         ▼        ▼
스크린샷   스크린샷   스크린샷
  └────┬────┴────────┘
       ▼
┌─────────────┐
│ HTML→PDF 변환 │
│ (Headless)   │
└─────────────┘

핵심은 증빙 수집을 서브에이전트 3개로 분산한 것이다. 각 에이전트가 브라우저로 가격 페이지에 접속해서 스크린샷을 찍고 가격을 파싱한다.

구현: HTML 견적서 템플릿

견적서 본체는 HTML 템플릿이다. Jinja 같은 복잡한 건 안 쓰고, 에이전트가 직접 HTML을 생성한다.

<table class="quotation-table">
  <thead>
    <tr>
      <th>No</th><th>항목</th><th>규격/사양</th>
      <th>수량</th><th>단가</th><th>금액</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>AWS EC2 (t3.xlarge)</td>
      <td>4vCPU, 16GB RAM, 월간</td>
      <td>12개월</td>
      <td>₩187,000</td>
      <td>₩2,244,000</td>
    </tr>
    <!-- 에이전트가 동적으로 행 추가 -->
  </tbody>
</table>

CSS로 인쇄용 레이아웃을 잡고, Headless Chrome으로 PDF 변환한다:

# Headless Chrome PDF 변환
chromium --headless --disable-gpu \
  --print-to-pdf="/output/quotation.pdf" \
  --no-pdf-header-footer \
  "file:///tmp/quotation.html"

핵심: 증빙 스크린샷 자동 수집

가격 증빙이 견적서의 신뢰도를 결정한다. 서브에이전트가 브라우저를 열고 각 서비스 가격 페이지를 캡처한다.

// 에이전트가 실행하는 브라우저 액션 (의사코드)
await browser.navigate("https://aws.amazon.com/ec2/pricing/");
await browser.screenshot({ path: "evidence-aws-ec2.png" });

// 가격 파싱
const price = await browser.evaluate(() => {
  return document.querySelector('.pricing-column .price').textContent;
});

3개 에이전트가 병렬로 돌면서 총 7장의 증빙 스크린샷을 2분 만에 수집한다. 수동으로 하면 20분은 걸리는 작업이다.

결과물 구조

quotation-evidence/
├── quotation-saas.pdf          # 견적서 본체
├── evidence-aws-ec2.png        # AWS EC2 가격
├── evidence-aws-rds.png        # AWS RDS 가격
├── evidence-openai-api.png     # OpenAI API 가격
├── evidence-anthropic-api.png  # Anthropic 가격
├── evidence-pinecone.png       # Pinecone 가격
├── evidence-s3-cf.png          # S3+CloudFront 가격
└── evidence-etc.png            # 기타 SaaS 가격

교훈

1. HTML 템플릿이 Excel보다 낫다

Excel 자동화는 라이브러리 의존성이 복잡하다. HTML+CSS는 에이전트가 바로 생성할 수 있고, Headless Chrome이 깔끔하게 PDF로 변환해준다. 도장 이미지 삽입도 <img> 태그 하나면 된다.

2. 증빙 수집은 반드시 병렬로

SaaS 가격 페이지는 로딩이 느린 경우가 많다. 순차 처리하면 10분 이상 걸리지만, 3개 병렬이면 2~3분이면 끝난다.

3. 견적서 포맷은 재사용 가능하게

한 번 만든 HTML 템플릿은 항목만 바꿔서 계속 쓸 수 있다. CSS 클래스를 quotation-table, company-header, stamp-area로 분리해두면 디자인 변경도 쉽다.

마무리

견적서 자동화의 핵심은 “가격 조사 → 문서 생성 → PDF 변환”을 하나의 파이프라인으로 묶는 것이다. AI 에이전트가 브라우저까지 다룰 수 있으면, 사람이 해야 할 일은 “어떤 항목을 넣을지” 결정하는 것뿐이다.

다음에는 이 견적서를 ERP 시스템과 연동해서 발행까지 자동화하는 과정을 다뤄보겠다.

Comments