Phase 5 · 실전 자동화 플랫폼 제작

스스로 일하는 자율(Autonomous) 회계 에이전트

지금까지 AI는 우리가 질문(Prompt)을 던지면 답을 해주는 수동적인 존재(Chatbot)였습니다.
이번 34단계에서는 "ABC기업 8월 결산 준비해 줘"라는 단 하나의 지시에, 스스로 도구(Tool)를 꺼내 쓰고, 결과를 확인하고, 빠진 서류를 파악해 최종 리포트를 올리는 진정한 AI 에이전트(Agent)의 개념을 구현합니다.

예상 학습 시간 : 360분
난이도 : ★★★★★
사전 단계 : RAG AI 지식비서 (Step 33)
다음 단계 : Multi-Agent 시스템 (예정)
01

Chatbot과 Agent는 무엇이 다른가?

Chatbot은 질문-답변의 단순한 핑퐁(Ping-Pong) 구조입니다.
반면, Agent는 목표가 주어지면 스스로 '계획(Plan)'을 세우고, 자신이 가진 '도구(Tool)'들을 순차적으로 실행하여 목표를 완수하는 시스템입니다.

[일반 AI] 회계사: 결산 준비해줘. AI: 결산을 준비하려면 거래내역을 확인하시고 증빙을 대조하세요. (말만 함) [AI Agent] 회계사: 결산 준비해줘. AI (내부동작): 1. 아! 결산이구나. `get_transactions()` 툴 실행. 2. 누락된 증빙이 있나? `get_missing_documents()` 툴 실행. 3. 이상한 내역은? `get_anomalies()` 툴 실행. 4. 과거 8월 결산 매뉴얼은? `search_rag_knowledge()` 툴 실행. 5. 결과를 종합해서 결산 체크리스트 폼으로 회계사에게 보고해야겠다.
02

Agent Loop와 Tool Calling

에이전트는 목표 ➡️ 계획 ➡️ Tool 선택 ➡️ Tool 실행 ➡️ 결과 분석 ➡️ 다음 Tool 선택의 순환 고리(Agent Loop)를 돕니다. 이를 위해 우리가 파이썬으로 짠 수많은 함수들을 AI가 호출할 수 있는 'Tool' 형태로 정의해 주어야 합니다.

🐍 python
# LLM에게 파이썬 함수들의 명세를 알려줌 (Tool Calling JSON Schema)
tools = [
    {
        "name": "get_missing_documents",
        "description": "특정 거래처, 특정 기간의 증빙 누락 거래를 조회합니다."
    },
    {
        "name": "get_anomalies",
        "description": "이상거래(고액, 분개 추천 불일치 등)를 검출합니다."
    }
]

AI가 "지금은 증빙 누락을 찾아야 할 타이밍이군!" 이라고 판단하면, 파이썬 서버에 {"tool": "get_missing_documents", "arguments": {"customer_id": 100}} 형태의 JSON을 던져 실행을 요청합니다.

03

Read Tool과 Write Tool 분리 및 보안

AI가 Tool을 마음대로 쓸 수 있게 하면 대참사가 일어날 수 있습니다. ("데이터를 모두 삭제했습니다" 같은 상황)

권한 검사와 Tool 분류

조회(Read) 툴: `get_transactions`, `get_sales` ➡️ 자동 실행 허용
변경(Write) 툴: `update_account`, `delete_transaction` ➡️ AI가 절대 자동 실행 불가. 무조건 회계사의 명시적 승인 버튼 클릭 필요.

또한 모든 쿼리에 `WHERE office_id = 세션값`이 강제 주입되도록 파이썬 레벨(Repository)에서 통제해야 합니다.

04

Agent State (상태 관리)의 중요성

Agent가 긴 작업을 수행하다 중간에 네트워크 에러가 나거나, 회계사의 답변을 기다려야 할 수 있습니다. 이때 처음부터 다시 작업하지 않도록 State(상태) 객체를 유지합니다.

state = {
    "customer_id": 100,
    "period": "2026-08",
    "transactions_checked": True,    # 1번 통과
    "documents_checked": True,       # 2번 통과
    "anomalies_checked": False,      # 여기서 멈춤! 다음 재개 시 여기부터.
}
05

승인(Human-in-the-loop)과 Audit Log

회계 업무의 최종 책임은 결국 인간(회계사)에게 있습니다. AI가 전표를 확정짓기 전에 브레이크를 거는 장치가 바로 Human-in-the-loop (HITL) 구조입니다.

  • AI의 역할: 거래 검색, 증빙 누락 탐지, 초안 작성, 체크리스트 작성
  • 회계사의 역할: 분개 확정, 세무 판단, 결산 확정 승인 (Approve/Reject)

동시에, 훗날 "AI가 왜 이걸 이상거래라고 판단했지?"를 추적하기 위해 Audit Log(감사 로그) DB 테이블에 AI가 무슨 Tool을 어떤 파라미터로 호출했는지 모든 내역을 타임스탬프와 함께 기록해야 합니다.

06

파이썬은 오케스트레이션 지휘자다 (SQL + RAG + Analytics)

이제 25단계부터 만들어온 모든 것이 하나로 결합됩니다.

AI Agent (총 지휘) │ ┌─────────────────┼─────────────────┐ ▼ ▼ ▼ [ SQL Tool ] [ RAG Tool ] [ 분석 Tool ] 거래, 영수증 과거 결산 매뉴얼 전월대비 증감율 │ │ │ MariaDB Vector DB Python Pandas

단순히 파이썬 문법을 짜는 것을 넘어, 수많은 API와 DB를 엮고 비동기로 상태를 관리하는 업무 오케스트레이션 도구로서 파이썬을 활용하게 됩니다.

07

실습 완성: AI 결산 준비 자동화 보고서

34단계를 수료하면, 다음과 같이 스스로 결산을 사전 점검하고 회계사에게 결재를 올리는 Agent UI를 완성하게 됩니다.

┌─────────────────────────────────────────────┐ │ 🤖 AI 결산 Agent │ ├─────────────────────────────────────────────┤ │ 🏢 ABC기업 / 📅 2026년 8월 │ │ │ │ [Agent 진행 상태] │ │ ✓ 거래내역 대사 완료 │ │ ✓ 증빙 누락 검사 완료 │ │ ✓ 계정 추천 불일치 완료 │ │ ✓ 이상징후 점검 완료 │ │ ✓ 과거 RAG 사례 검색 완료 │ │ │ │ 🚨 검토 필요 사항 (총 5건) │ │ 1. [이상징후] 매출채권 전월대비 36.4% 급증 │ │ 2. [과거사례] 2025년 11월 동일 거래처 결제 │ │ 지연 사례 있음. 확인 요망. │ │ 3. [증빙누락] 매입 세금계산서 미매칭 4건 │ │ │ │ [AI 분석보고서 상세 보기] │ │ [최종 결산 내역 승인 (Approve)] │ └─────────────────────────────────────────────┘
08

35단계 예고: Multi-Agent 시스템 구축

이제 하나의 Agent가 훌륭하게 일을 해냅니다. 하지만 업무가 복잡해지면 하나의 Agent(LLM 프롬프트)에 모든 지시를 담을 수 없습니다.

다음 35단계에서는 '총괄 매니저 Agent', '세무 검토 Agent', '증빙 검사 Agent', '재무 분석 Agent' 등 분야별 전문가 AI들을 따로 만들고, 총괄 AI가 실무 AI들에게 일을 분배하는 Multi-Agent 회계 시스템이라는 궁극의 구조로 진입합니다.

Step 33 : RAG 지식비서 Phase 6 공사중