AI를 이용한 클라이언트 사이드 Tool Calling으로 PDF 폼 자동 작성하기
Show HN: Filling PDF forms with AI using client-side tool calling
TL;DR Highlight
SimplePDF Copilot은 채팅으로 PDF 폼을 자동으로 채워주는 AI 도구로, 클라이언트 사이드 tool calling을 활용해 문서 데이터가 외부 서버로 나가지 않도록 구성할 수 있다는 점이 핵심이다.
Who Should Read
PDF 폼 자동화나 문서 처리 파이프라인을 구축 중인 개발자, 또는 기업 내부 시스템에 AI 기반 폼 작성 기능을 화이트라벨로 임베딩하려는 SaaS 개발자.
Core Mechanics
- SimplePDF Copilot은 사용자가 채팅창에 자연어로 입력하면 IRS W-9 같은 PDF 폼 필드를 자동으로 채워주는 데모 제품이다. 브라우저 내에서 PDF 편집, 작성, 내용 이해가 모두 가능하다.
- 가장 주목할 만한 기술 포인트는 '클라이언트 사이드 tool calling'이다. 이는 LLM이 서버가 아닌 브라우저(클라이언트) 쪽에서 PDF 폼 필드를 조작하는 함수를 직접 호출하는 방식으로, 이론적으로 문서 데이터가 서버로 전송되지 않아도 된다.
- 로컬 모델과 함께 사용하면 완전한 프라이버시 보호가 가능하다. 외국어 폼 작성, 계약서 내용 검토('이 조항들 믿어도 될까요?'), CRM/EHR 같은 기존 데이터 소스에서 반복 폼 자동 사전 작성(MCP/RAG 연동) 등이 주요 사용 사례다.
- 이 제품은 B2B 화이트라벨 임베딩 형태로 설계되어 있어, 고객사가 자신들의 제품 안에 SimplePDF Copilot을 자체 브랜드로 넣어서 제공할 수 있다.
- 현재 공개 데모에서는 채팅 메시지가 원격 AI 제공자(서버)로 전송된다는 점을 데모 화면에서 명시하고 있다. 즉, 데모 환경에서는 PII(개인식별정보) 데이터가 실제로 로컬에 머무르지 않는다.
- 언어 선택 기능이 있어 영어 외의 언어로도 폼 작성 도움을 받을 수 있으며, 다운로드 기능도 지원한다.
Evidence
- 한 댓글 작성자가 SSN(사회보장번호)을 입력했더니 잘못된 필드(4번 Exemptions 란)에 채워졌다고 지적했다. '그냥 올바른 칸 클릭해서 직접 입력하는 게 더 쉽지 않냐'는 UX 관점의 반론도 있었고, ChatGPT에 PDF 업로드해서 채우는 것과 무엇이 다른지 묻는 댓글도 있었다.
- 프라이버시 우려가 가장 큰 반응이었다. '채팅 메시지가 원격 서버로 나간다는 걸 더 명확히 표시해야 한다'는 지적이 있었고, 이에 대해 제작자는 '클라이언트 사이드 tool calling + 로컬 모델 조합으로 문서 데이터가 기기 밖으로 나가지 않는 구성이 가능하다는 기술 데모'라고 해명했다.
- 한 개발자는 100개 이상의 PDF 폼을 처리하며 OCR+LLM 파이프라인으로 데이터 모델을 자동 추출하는 작업을 해봤는데, 약 90% 정확도로 작동하지만 필드가 누락되거나 잘못 레이블링되는 문제가 있었다고 경험을 공유했다. 프로그래밍 방식으로 폼을 채울 때도 오류가 발생하냐고 질문했다.
- 또 다른 개발자는 ChatGPT 대신 Claude와 Python 라이브러리를 조합해 로컬에서 직접 구현했다고 밝혔다. Claude가 PDF를 분석해 필드를 찾고, 적절한 위치에 데이터를 삽입하는 Python 스크립트를 작성하게 했으며, 조정이 좀 필요했지만 문서가 원격 서버로 전송되지 않았다는 점을 강조했다.
- 데모 자체의 버그도 지적됐다. W-9 폼의 두 번째 필드(Line 2: 사업체명)가 비어있어야 하는 경우가 많은데, 건너뛰거나 비워두는 방법이 없다는 UX 문제가 발견됐다. Chrome의 내장 AI 기능과 연동 가능한지 묻는 댓글도 있었고, XFA 폼(Adobe의 동적 PDF 폼 형식) 지원 여부를 묻는 기술적 질문도 있었다.
How to Apply
- 기업 내부에서 직원들이 반복적으로 작성하는 계약서, 세금 서류, HR 폼 등을 자동화하고 싶다면, SimplePDF Copilot의 화이트라벨 임베딩 기능을 검토해볼 수 있다. 특히 CRM이나 EHR 같은 기존 데이터 소스를 MCP/RAG로 연결하면 사전 자동 입력 파이프라인을 구성할 수 있다.
- PII나 기밀 문서를 다루는 서비스를 개발 중이라면, 클라이언트 사이드 tool calling + 로컬 LLM(예: Ollama로 실행하는 Llama 계열 모델) 조합을 직접 구현해 데이터가 서버로 나가지 않는 아키텍처를 설계할 수 있다. Chrome 내장 AI API와의 연동도 탐색해볼 가치가 있다.
- 100개 이상의 PDF 폼에서 데이터 모델을 자동 추출해야 하는 경우, OCR+LLM 파이프라인의 ~10% 오류율 문제를 감안해 필드 누락/오레이블링에 대한 검증 레이어를 별도로 구성하거나, 직접 Claude API + Python의 pypdf/pdfminer 라이브러리 조합으로 로컬에서 처리하는 방식을 고려하라.
- ChatGPT에 PDF를 업로드해 채우는 방식과의 차이점은 '임베딩 가능성'과 '프라이버시 제어'다. 자사 제품에 PDF 편집 기능을 직접 넣어야 하거나, 문서 데이터의 외부 전송을 막아야 하는 컴플라이언스 요건이 있다면 이 접근법이 유효하다.
Terminology
관련 논문
Specsmaxxing – AI 사이코시스 극복기, 그리고 내가 YAML로 스펙을 쓰는 이유
AI 코딩 에이전트와 일할 때 컨텍스트가 날아가거나 요구사항이 흐려지는 문제를 해결하기 위해, 인수 조건(Acceptance Criteria)을 YAML로 구조화해서 스펙을 관리하는 방법론과 오픈소스 툴킷(acai.sh)을 소개하는 글이다.
MLJAR Studio – 분석 결과를 Notebook으로 저장하는 로컬 AI 데이터 분석 도구
데이터를 클라우드에 올리지 않고 로컬에서만 실행되는 AI 데이터 분석 도구로, 자연어 질문을 Python 코드로 변환해 Jupyter Notebook 형태로 결과를 저장해준다. 데이터 보안이 중요한 환경에서 AI 분석 자동화를 원하는 팀에게 의미 있는 선택지가 될 수 있다.
Pu.sh – 400줄 Shell 스크립트로 만든 완전한 Coding Agent Harness
npm, pip, Docker 없이 curl과 awk만으로 동작하는 400줄짜리 Shell 기반 코딩 에이전트 실행 환경으로, 의존성 없이 API 키 하나만 있으면 바로 쓸 수 있다.
Ramp의 Sheets AI가 재무 데이터를 외부로 유출한 취약점 분석
Ramp의 스프레드시트 AI 에이전트가 외부 데이터셋에 숨겨진 프롬프트 인젝션에 속아 악성 수식을 자동 삽입하고 기밀 재무 데이터를 외부 서버로 유출할 수 있었던 취약점이 공개됐다. AI 에이전트가 신뢰할 수 없는 데이터를 처리할 때 얼마나 위험한지를 보여주는 실제 사례다.
Bian Que: 온라인 시스템 운영을 위한 Flexible Skill Arrangement 기반 Agentic Framework
검색/추천/광고 대규모 시스템의 장애 대응을 자동화하는 LLM 에이전트 프레임워크로, alert를 75% 줄이고 장애 해결 시간을 50% 단축했다.
DAC – AI 에이전트와 사람 모두를 위한 오픈소스 Dashboard-as-Code 툴
YAML과 TSX로 대시보드를 코드처럼 정의하고, AI 에이전트가 자동으로 생성·수정할 수 있도록 설계된 오픈소스 대시보드 빌더. 에이전트가 만든 대시보드를 사람이 리뷰 가능한 형태로 표준화한다는 게 핵심.