대표 프로젝트 · 비공개 자산
공공조달 입찰공고 데이터 자동 추출 · AI 검증 플랫폼
입찰공고 문서에서 LLM으로 핵심 데이터를 추출·검증하는 프로덕션 AI 플랫폼 — 프롬프트 세대 관리, 모델 실측 평가, 환각 방어, 비용 최적화까지 LLMOps 전 주기를 1인 AI 엔지니어로 완주
- Python
- FastAPI
- RabbitMQ
- Airflow
- MySQL
- React
- TypeScript
- LLM (Gemini · OpenAI)
- Docker
- MCP
- 6+ 마이크로서비스
- 3중 (운영·개발·테스트) 운영 환경
- 5단계 AI 폴백 단계
- v1 → v5 프롬프트 세대
- 34종 검증 이슈코드
개요
비드코칭연구소(2025.04 ~ 재직 중)에서 개발·운영하는 데이터 플랫폼입니다. 공공조달 입찰공고 문서(HTML·HWP·PDF·이미지)에서 자격조건·기초금액·법정제비용 등 핵심 항목을 자동으로 추출하고, 그 결과를 AI로 보완검증해 신뢰도를 끌어올립니다.
크롤러 수집부터 비동기 추출 워커, 데이터베이스, 분석 대시보드, 운영 자동화까지 6개 이상의 서비스로 구성된 시스템을 기획 단계부터 단독으로 설계·개발·운영하고 있습니다.
규칙 파싱과 LLM의 하이브리드 추출, 모델 실측 비교 선정, 프롬프트 세대 관리(v1→v5), 환각 방어 게이트, 캐시 기반 비용 최적화 등 — 프로덕션 LLM 시스템이 마주하는 정확도·비용·가용성 문제를 데이터로 검증하며 해결해 온 AI 엔지니어링 사례입니다.
아키텍처 · 데이터 흐름
- 수집 — 외부 크롤러가 공고 문서를 수집해 API(FastAPI)로 전달
- 분배 — 메시지 큐(RabbitMQ)로 작업을 비동기 분배 (비AI 빠른 건 / AI 느린 건 큐 분리)
- 변환 — 문서 포맷별로 HTML 정규화 (전용 변환기 + 디지털 PDF 파서, 실패 시 AI/OCR 폴백)
- 추출 — 규칙(정규식·파서)으로 1차 추출, 텍스트 없는 PDF·이미지는 LLM으로 추출
- 검증 — 추출 결과를 별도 LLM으로 재검증하고 의심 케이스 플래깅
- 적재 — 레거시 운영 DB와 신규 BI DB에 dual-write로 동시 저장
- 활용 — 비교·통계 API → React 대시보드 시각화, 운영은 MCP·Airflow로 자동화
데이터 수집 · API 서버 (FastAPI)
크롤러가 보낸 공고를 큐로 분배하고, 정확도 비교·AI 호출 현황·자동검수·배포 API와 JWT 기반 인증/권한을 제공.
추출 워커 (RabbitMQ)
문서 다운로드 → HTML 변환 → 핵심 항목 추출을 비동기로 처리. 운영/개발/테스트 환경별, 단계별로 워커를 분리.
AI 추출 · 보완검증 워커
텍스트가 없는 PDF·이미지는 LLM으로 직접 추출하고, 규칙으로 뽑은 결과를 별도 LLM으로 재검증하는 전용 큐/워커.
운영 MCP 서버
AI 코딩 에이전트가 로그·DB·큐·컨테이너 상태를 권한 제어 하에(읽기 전용·화이트리스트) 조회하도록 만든 커스텀 도구 세트.
데이터 인프라 (MySQL)
레거시(구버전·EUC-KR)와 신규(최신·utf8mb4)를 dual-write로 병행하며 점진적으로 이관하는 데이터 계층.
분석 대시보드 (React 19 · TS)
필드별 추출 정확도 비교, AI 호출·비용 현황, 자동검수 조건/통계, 재수집 승인 워크플로우, 권한 관리를 제공.
AI 활용
하이브리드 추출 (규칙 + LLM)
구조화된 문서는 규칙 기반 파서로 빠르고 저렴하게, 텍스트가 없는 PDF·이미지만 LLM으로 추출. 오픈소스 PDF 파서 도입으로 OCR 의존을 제거(변환 1.6배 고속화·OCR 비용 100% 절감)하고 구조화(JSON) 출력을 강제해 파싱을 안정화.
멀티 프로바이더 폴백 · 병렬 race
장애 로그 실측 분석(타임아웃·쿼터 초과가 실패의 다수임을 확인)에 근거해 "기본 모델 우선 + 지연 시에만 보조 모델 병렬 투입" 지연-트리거 race를 설계. 운영의 99.2%는 기본 모델 fast path로 처리하고, 패자 응답은 백그라운드로 수확·로깅해 낭비 없이 관측.
모델 실측 평가 · 2-tier 운용
동일 프롬프트 1:1 비교(정확도 차이 대비 비용 8.68배 실측), 오픈 모델 포함 4종+ 평가로 운영 모델을 데이터로 선정. 평시엔 경량 모델, 근거 확인에 실패한 항목만 상위 모델로 올리는 2-tier escalation으로 비용과 정확도의 균형을 잡음.
AI 보완검증 파이프라인
규칙 추출 결과를 별도 LLM으로 재검증하는 전용 워커를 설계→비용분석→구현→운영배포까지 완주. "AI는 추출만, 판정은 워커" 책임분리 재설계로 검증 비용 −33.5% · 응답 −40.4%, 이슈코드 34종 체계로 불일치를 등급 관리.
환각 방어 계층 (grounding)
AI 값이 입력 원문에 존재하지 않으면 환각으로 판정하는 grounding 게이트 + 1회 재추출 중재(arbiter) + 계산형 값 예외 처리 + 누락 역방향 게이트. 별도 LLM을 정답지(GT)로 쓰는 배치 적대 감사로 정확도를 상시 재검증.
프롬프트 세대 관리 (v1→v5)
프롬프트를 DB에서 버전·모델 단위로 관리(무결성 해시 검증), 실패 공고 1건 = 규칙 1개의 회귀 테스트셋을 축적하며 5세대 진화. 검증 정합도(유사도)를 0.67 → 1.00 수준까지 끌어올림.
비용 최적화 · 관측성
명시적 컨텍스트 캐시(검증 비용 −14.2%, 고정 프롬프트 입력 단가 90% 할인)와 입력 전처리(토큰 −74.2%)로 지출을 구조적으로 절감. 호출별 토큰·비용·응답시간·폴백 경로를 전량 로깅하고 기간별 비용 대시보드로 상시 추적.
AI 개발 하네스 (MCP · 에이전트)
로그·DB·큐·컨테이너를 안전하게(읽기 전용·화이트리스트) 조회하는 커스텀 MCP 도구 수십 종과 에이전트 표준·스킬 체계를 직접 구축. 작업이력 DB화, 일일보고 자동 작성 등 개발 프로세스 자체를 자동화.
서비스 자동화 · 운영
비동기 큐 파이프라인
비AI 빠른 건과 AI 느린 건을 큐로 분리해 처리량·지연을 최적화하고, 환경(운영/개발/테스트)별 워커를 격리해 운영 안정성을 확보.
정규식 자동학습 루프
수동 관리하던 정제 정규식 2,000여 개를 "사람 정리본과의 차집합 → 자동 제안 → 영향도(과대제거) 검증 → 사람 승인" 학습 루프로 전환. 유사 패턴 자동 병합(67개→1개 실증)과 시간당 자동 회전으로 human-in-the-loop 운영.
스케줄 배치 오케스트레이션 (Airflow)
레거시→신규 DB 증분 이관을 일 단위로 자동화. catchup으로 과거 누락분을 자동 보정하고, 청크 단위 멱등 처리로 부분 실패를 격리.
무중단 운영 · 배포 절차화
dual-write 이관을 다운타임 1분 이내로 cutover. graceful shutdown·durable 큐·배포 매니페스트(해시 검증)·릴리즈 이력·롤백 런북으로 배포를 절차화.
중복 제거 · 처리 효율
동일 공고문을 공유하는 복수 공고를 원자 판정(선착 처리)으로 묶어 그룹당 AI 1회만 호출 — 중복 AI 호출 0회를 실증(전체의 ~3% 절감). 초대형 문서는 분할 변환으로 3개 모델이 모두 실패하던 건까지 처리.
품질게이트 · 장애 다층 방어
AI 변환 출력을 결정적 지표(전사율 실측 분포 기반 임계)로 검사하는 품질게이트 + 상위 모델 escalation. 장애는 timeout·사전 가드·근본수정의 다층 방어와 배포 후 D+1 능동 점검으로 재발을 차단.
비교 검증 자동화
신규/기존 데이터를 다수 필드에 대해 자동 비교해 정확도를 산출하고 대시보드로 시각화. 배치 감사(수십 건 단위 전수 대조)를 정기 운영.
개선 연혁
- 2025 — 공고 수집 파이프라인 이관·컨테이너 서버 재구축으로 시작, LLM 기반 공고문 데이터 추출·검증 개발 착수
- 2026.03 — 오픈소스 PDF 파서 도입으로 OCR 의존 제거(변환 1.6배 고속화·OCR 비용 100% 절감), AI 보완검증 시스템 아키텍처 설계
- 2026.04 — 장애 로그 실측 분석 → 지연-트리거 병렬 race 폴백 구축(기본 모델 fast path 99.2%), AI 전용 미러 DB·Airflow 이관 파이프라인 신축
- 2026.05 — dual-write 무중단 전환(다운타임 ≤1분), AI 보완검증 워커 구현 — 4종+ 모델 실측 비교로 운영 모델 선정, 명시적 캐시 도입(비용 −14.2%)
- 2026.06 — 검증 워커 운영 배포·이슈코드 34종 체계화, 환각 방어 게이트(grounding·재추출 중재) 구축, 정규식 2,000여 개 수동 관리를 자동학습 루프로 전환
- 2026.07 — 변환 품질게이트 + 상위 모델 escalation, 복수 공고 그룹당 AI 1회 호출(중복 ~3% 제거), 신규 항목 AI 추출 트랙 신설 — 프롬프트 v5 세대 운영
기술 스택
백엔드
- Python
- FastAPI
- SQLAlchemy
- pika
- JWT
비동기 · 배치
- RabbitMQ
- Apache Airflow
- Celery
- Redis
데이터
- MySQL 5.5→8.4
- dual-write 마이그레이션
- pandas
AI / LLM
- Google Gemini
- OpenAI
- OCR
- 프롬프트 버전관리
- 구조화 출력
- 멀티 프로바이더 폴백
프론트엔드
- React 19
- TypeScript
- React Router
- Chart.js
- Tailwind
인프라 · 운영
- Docker Compose
- Nginx
- SSH
- MCP 서버
- 멀티 워크트리
핵심 역할 · 성과
- AI 보완검증 시스템을 설계 → 비용 분석 → 구현 → 모델 실측 선정 → 운영 배포 → 고도화까지 단독 완주 (프로덕션 LLMOps 전 주기)
- 실패 케이스 기반 프롬프트 세대 관리(v1→v5)와 정량 회귀 검증 문화 — 검증 정합도(유사도) 0.67 → 1.00 달성
- 지연-트리거 병렬 race 폴백 · 2-tier escalation · grounding 환각 게이트 등 프로덕션 LLM 신뢰성 패턴을 실측 데이터로 설계
- 명시적 캐시 · 입력 전처리 · 책임분리로 AI 운영 비용을 구조적으로 절감(캐시 −14.2% · 토큰 −74.2% · 검증 비용 −33.5%)
- 레거시 RDB 무중단 dual-write 이관(다운타임 ≤1분), 정규식 자동학습 · MCP 하네스 등 운영 자동화를 직접 구축
업무 자산이라 서버·접속정보·고객 데이터 등 내부 구현 세부는 비공개입니다. 본 페이지는 아키텍처·기법·역량 수준으로만 정리했으며, 더 깊은 내용은 문의 시 별도 공유드립니다.
← 프로젝트 목록