10. 배포 환경 구성

Gemma 기반 로컬 AI OCR 회계 자동화 시스템을 사내 PC 또는 내부 서버에 배포하는 구조를 설계합니다.

실습 개요

Python API, OCR 엔진, 로컬 LLM, DB, 파일저장소, 배치 스케줄러를 운영 가능한 형태로 연결

이 페이지는 단순 OCR 데모가 아니라, 회계 증빙이 실제 전표로 이어지는 프로그램을 작성한다는 전제로 구성하였습니다. 학습자는 Python 기반 백엔드, 로컬 OCR 엔진, Gemma 로컬 AI 추론, 검증 화면, 회계 데이터베이스, 감사로그를 하나의 업무 시스템으로 연결합니다.

Gemma는 외부 API로 증빙을 보내지 않는 로컬 AI 구성의 핵심으로 사용합니다. 교육에서는 모델 자체를 맹신하지 않고, 룰 기반 검증·사람 승인·감사증적을 결합해 회계감사와 전산감사 모두에서 설명 가능한 결과를 구축하는 것을 목표로 합니다.

업무 시나리오

  • 로컬 AI를 쓰는 이유는 회계 증빙을 외부 클라우드로 보내지 않고 내부망에서 처리하기 위해서입니다. 학습자는 Gemma 기반 추론 모듈을 Python 서비스로 구성하고 OCR, DB, 파일저장소와 연결합니다.
  • 개발 편의성보다 운영 안정성, 재현성, 접근통제, 장애 대응이 더 중요하다는 관점으로 배포 환경을 설계합니다.

로컬 AI 프로그램 구성

구성요소역할실습 포인트
파일 수집이메일, 스캔 폴더, 사용자 업로드에서 증빙을 접수합니다.원본 파일명, 업로드 사용자, 수신시각, 파일 해시를 저장합니다.
OCR 엔진이미지와 PDF에서 텍스트를 추출합니다.전처리 전후 OCR 품질을 비교하고 실패 기준을 설수립합니다.
Gemma 추론OCR 원문을 문서유형, 회계 필드, 예외 사유로 구조화합니다.JSON 출력 제한, 근거 텍스트, null 처리, 프롬프트 버전 관리를 실습합니다.
검증 UI담당자가 원본과 AI 결과를 비교하고 수정·승인합니다.수정 전후 값, 수정 사유, 승인자, 승인시각을 로그로 남깁니다.
전표 생성확정된 필드를 계정과목, 부가세 코드, 차변·대변 전표로 변환합니다.승인 전 ERP 반영 차단, 계정 매핑표 변경통제를 적용합니다.

실제 개발 실습 절차

  1. 구성요소를 나눕니다. Web UI, API 서버, OCR 워커, Gemma 추론 워커, PostgreSQL 또는 SQLite DB, 파일저장소, 배치 스케줄러, 로그 수집기를 분리합니다.
  2. 개발환경과 운영환경의 설정값을 분리합니다. 모델 경로, DB 연결정보, 파일 저장경로, 최대 처리건수, 로그 레벨을 환경변수로 관리합니다.
  3. Gemma 추론은 큐 방식으로 처리합니다. 사용자가 업로드하면 작업ID를 발급하고, 워커가 순차 처리한 뒤 결과를 DB에 저장합니다.
  4. 배포 점검표를 작성합니다. 모델 파일 존재, OCR 엔진 동작, DB 마이그레이션, 권한계정 생성, 샘플 증빙 처리, 로그 기록, 백업 경로를 검토합니다.

교육에서는 완성된 정답 프로그램을 복사하지 않고, 작은 기능 단위로 구현한 뒤 테스트 데이터를 통과시키는 방식으로 진행합니다. 예를 들어 OCR 결과가 비어 있는 경우, Gemma 응답이 JSON 형식을 지키지 않는 경우, 공급가액과 부가세 합계가 맞지 않는 경우를 의도적으로 구성하여 방어 로직을 작성합니다.

Gemma 프롬프트·JSON 설계 예시

프롬프트는 회계 판단을 설명 가능하게 구축하기 위해 출력 형식을 제한합니다. 아래 예시는 교육에서 사용하는 기본 구조입니다.

  • document_type: 세금계산서, 카드영수증, 현금영수증, 거래명세서 등 문서 유형
  • fields: 거래일자, 거래처명, 사업자번호, 공급가액, 부가세, 합계금액, 품목, 결제수단
  • evidence: 각 필드가 OCR 원문 어느 영역에서 추출되었는지 설명하는 근거
  • confidence: 필드별 신뢰도와 전체 신뢰도
  • exceptions: 금액 불일치, 필수값 누락, 중복 의심, 사람이 검토하여야 할 사유

중요한 원칙은 Gemma가 모르는 값을 추측하지 않게 하는 것입니다. 값이 없으면 null로 두고, 검증 화면에서 사람이 검토하도록 설계합니다. 이 원칙이 없으면 AI 자동화가 오히려 회계 오류를 조용히 생성하여낼 수 있습니다.

일반 회계감사와 전산감사 비교

구분일반 회계감사 실습전산감사 실습
검토 단위표본 증빙과 전표전체 증빙 모집단, 처리상태, 로그, 예외 데이터
주요 증거원본 증빙, 전표, 승인 문서원본 해시, OCR 결과, Gemma 응답, 수정로그, 승인로그
오류 발견감사인이 표본을 눈으로 검토검증 규칙과 데이터 분석으로 전체 오류 후보 탐지
위험 관점전표 금액·계정 오류시스템 로직 오류가 대량 전표에 반복 적용될 위험
교육 산출물전표 검토 체크리스트프로그램 테스트 케이스, 로그 검증표, 예외 분석표
  • 일반감사는 운영자가 생성한 결과물을 검토합니다.
  • 전산감사는 배포된 프로그램이 승인된 버전인지, 운영 DB에 실무 절차에 따라 수정이 가능한지, 장애 시 데이터 손실이 발생하지 않는지 검토합니다.
  • 로컬 AI 배포는 보안상 장점이 있지만 패치, 백업, 권한관리를 내부에서 책임져야 합니다.

테스트 데이터와 검증 기준

각 페이지에서는 정상 증빙만 사용하지 않습니다. 실제 운영에서 문제가 되는 데이터를 섞어 자동화 품질을 검토합니다.

  • 정상 세금계산서 20건, 정상 카드영수증 20건, 현금영수증 10건을 기본 모집단으로 준비합니다.
  • 흐릿한 이미지, 기울어진 이미지, 금액이 잘린 이미지, 사업자번호가 누락된 이미지, 합계금액이 OCR에서 잘못 읽힌 이미지를 오류 케이스로 넣습니다.
  • 동일 승인번호 또는 동일 파일 해시를 가진 중복 증빙을 넣어 중복 검출 로직을 검토합니다.
  • 검증 기준은 단순 성공 여부가 아니라 필드별 정확도, 예외 검출률, 승인 전 차단률, 사용자 수정률, 로그 완전성으로 평가합니다.

교육 진행 흐름

  1. 강사가 회계 업무 시나리오와 감사위험을 설명합니다.
  2. 학습자가 입력 데이터와 필요한 테이블을 실무 절차에 따라 설계합니다.
  3. OCR 결과를 검토하고 Gemma에 전달할 프롬프트와 JSON 스키마를 작성합니다.
  4. AI 응답을 DB에 저장하고 검증 규칙을 통과하지 못한 건을 예외 큐로 보냅니다.
  5. 일반 회계감사 방식으로 표본을 검토한 뒤, 전산감사 방식으로 전체 모집단과 로그를 분석합니다.
  6. 마지막에는 프로그램 기능, 통제 설계, 테스트 결과를 하나의 조서형 산출물로 제출합니다.

최종 산출물

  • 업무흐름도와 시스템 구성도
  • 입력 데이터 명세서와 DB 테이블 초안
  • Gemma 프롬프트 버전과 JSON 응답 예시
  • OCR·AI 추출 결과 검증표
  • 예외 목록, 처리 결과, 개선권고안
  • 일반 회계감사 절차와 전산감사 절차 비교 조서

이 산출물은 단순 교육 과제가 아니라 포트폴리오로 사용할 수 있게 구성합니다. 지원자는 회계 업무를 이해하고, 로컬 AI를 활용한 자동화 흐름을 구축할 수 있으며, 동시에 감사 가능한 통제 설계를 설명할 수 있다는 점을 보여줄 수 있습니다.