복잡한 업무 절차를 통제하는 AI Workflow Engine
35단계까지 우리는 수많은 Agent들이 협력하는 시스템을 만들었습니다. 하지만 회계 업무는 자유방임형이 아닙니다. 철저한 순서, 예외 처리, 그리고 회계사의 '승인(Approval)'이 없으면 한 발짝도 나갈 수 없는 업무 절차가 있습니다.
이번 단계에서는 AI Agent들의 행동반경을 코드가 아닌 DB에 저장된 '워크플로우(Workflow)' 그래프로 강력하게 통제하는 엔터프라이즈급 엔진을 설계합니다.
AI가 내멋대로 행동하지 못하게 막기
Agent는 "무엇을 할까?"를 판단합니다. 반면 Workflow는 "어떤 순서와 조건으로 실행할까?"를 결정합니다.
"결산해줘"라는 명령에 AI가 대뜸 장부를 마감(Write)해버리면 안 됩니다. 자료 수집 ➡️ 증빙 검사 ➡️ 이상 징후 분석 ➡️ 인간의 승인 ➡️ 최종 보고서 작성 이라는 뼈대를 파이썬 시스템(엔진)이 잡고, AI는 오직 각 단계(Node) 안에서만 판단하게 만들어야 안전합니다.
Workflow Graph와 조건 분기(Condition)
업무의 흐름을 그래프(DAG) 형태로 구상합니다. 가장 중요한 것은 조건 분기(Condition)입니다.
코드가 아닌 데이터베이스(JSON)로 관리하기
회계사무소마다 "우린 결산 전에 세무 검토 단계를 꼭 넣어야 돼" 라며 절차가 다를 수 있습니다. 이를 파이썬 소스코드를 매번 뜯어고치는(Hard-coding) 방식이 아니라, JSON 템플릿으로 DB에 저장하여 사무소별로 맞춤 설정할 수 있게 설계합니다.
{ "name": "월말결산_표준버전", "nodes": [ { "id": "evidence_check", "type": "agent", "agent_name": "evidence_agent", "next": "approval_gate" }, { "id": "approval_gate", "type": "human_approval", // 여기서 파이썬 엔진이 작업을 멈추고 기다림 "next": "final_report" } ] }
가장 중요한 상태: WAITING_APPROVAL
워크플로우 엔진은 PENDING ➡️ RUNNING ➡️ COMPLETED의 상태(State)를 갖습니다.
이 중 회계 시스템의 꽃은 단연 WAITING_APPROVAL(승인 대기) 상태입니다. AI가 모든 분석을 마쳐도, 이 상태에서는 다음 Node(단계)로 넘어가지 못하고 인간 회계사가 버튼(Approve)을 누를 때까지 무기한 대기합니다.
회계사가 "매출채권 파트를 다시 검사해!" 라고 반려하면, 엔진은 상태를 REJECTED로 바꾸고 흐름을 강제로 앞선 노드(Transaction Agent)로 되돌려 재분석 Loop를 돕니다.
비동기 Worker와 Queue 시스템
월말이 되면 수백 개의 거래처 결산 워크플로우가 동시에 쏟아집니다. 사용자가 브라우저에서 '결산 시작'을 눌렀다고 화면을 멈춰두면 안 됩니다.
작업 Queue (예: Redis, Celery)에 "ABC기업 워크플로우 실행해"라는 메모만 툭 던져두고, 백그라운드의 Python Worker들이 하나씩 꺼내어 밤새 일을 처리(스케줄링)하도록 만들어야 합니다.
오류 복구(Retry)와 Checkpoint
워크플로우가 1시간짜리 작업인데 마지막 단계에서 네트워크 오류가 났다고 처음부터 다시 실행하면 최악입니다.
- Checkpoint: 하나의 노드(Node)가 끝날 때마다 그 결과를 DB(
workflow_runs)에 저장합니다. 서버가 꺼졌다 켜져도 멈춘 지점부터 다시 시작합니다. - Idempotency(멱등성): 실패한 작업을 재시도(Retry)할 때, 전표가 두 번 중복해서 생성되지 않도록
task_id나idempotency_key로 안전장치를 마련합니다.
실습 완성: 결산 자동화 파이프라인 엔진
이제 코딩을 모르는 직원이나 회계사도 브라우저 화면에서 업무 흐름을 만들 수 있습니다.
37단계 예고: AI 회계 업무 자동화 SaaS 오픈
25단계부터 36단계까지, 우리는 파이썬 기초 문법에서 시작해 OCR, DB 매칭, Multi-Agent, RAG, Workflow 엔진이라는 방대한 백엔드 기술을 하나로 엮어냈습니다.
이제 마지막 장벽이 남았습니다. 이 거대한 엔진을 여러 회계사무소가 돈을 내고 가입해서 쓸 수 있는 진짜 SaaS(Software as a Service) 플랫폼으로 포장해야 합니다.
다음 37단계에서는 멀티테넌시(데이터 완벽 격리), 사용자 권한 관리, 요금 결제 연동, 보안, 대시보드 구성을 결합하여 최종적으로 서비스를 런칭해 보겠습니다.