에이전트에게 회계 업무를 맡겨보았습니다. 하지만 여전히 먼저 물어봐야 합니다.
요약
회계 업무 자동화를 위해 에이전트를 활용할 때 발생하는 문맥 오류 문제를 다룹니다. 무조건적인 자동 분류 대신 신뢰도에 따라 작업을 나누고, 불확실한 항목은 사용자에게 질문하여 규칙을 업데이트하는 워크플로를 제안합니다.
핵심 포인트
- 에이전트는 문맥이 아닌 가맹점 유형 기반으로 잘못 분류할 위험이 있음
- 신뢰도(High, Medium, Low)에 따른 3단계 분류 체계 도입 필요
- 불확실한 항목은 사용자에게 질문하여 피드백을 받는 구조 설계
- 사용자의 결정사항을 규칙서(Rulebook)에 반영하여 지속적 학습 유도
처음으로 에이전트 (agent)에게 우리 회사의 거래 내역을 맡겼을 때, 에이전트는 병원 영수증을 "복리후생비 (staff welfare)"로 분류했습니다. 저는 직원이 없습니다. 제가 곧 직원입니다. 에이전트는 의료 가맹점을 보고, 사업자 카드를 보고, 자신감 넘치고 틀렸으며, 완전히 그럴듯해 보이는 비약을 저질렀습니다. 아무도 2주 동안 이를 잡아내지 못했는데, 그 이유는 회계 자동화 (automating bookkeeping)의 핵심 목적이 모든 항목을 일일이 확인하지 않기 위해서이기 때문입니다.
그 단 하나의 항목 때문에, 저는 이제 모든 1인 기업가 (solo operator)에게 무엇보다 먼저 도입하라고 권하는 규칙을 실행하고 있습니다. 즉, 장부를 분류하는 에이전트는 추측하기 전에 반드시 물어봐야 한다는 것입니다. "나중에 확실하지 않은 항목을 표시(flag)하라"는 수준이 아닙니다. 구조적으로, 매달 실제 원장 (ledger)에 기록되기 전에 반드시 물어보게 해야 합니다.
자동 분류 (auto-categorization)가 해결하지 못하는 문제
모든 회계 SaaS (SaaS)는 자체적인 자동 태깅 (auto-tagging) 기능을 제공하지만, 이는 특정한 방식으로 예측 가능한 오류를 범합니다. 바로 문맥 (context)이 아니라 가맹점 유형 (merchant type)을 기준으로 분류한다는 점입니다. "편의점"은... 무엇이 될까요? 사무용품? 직원 식대? 퇴근길에 산 개인 식료품? 도구는 이를 알지 못하므로 아무거나 선택하며, 만약 당신이 확인하지 않는다면 그 항목은 회계사나 감사인이 질문할 때까지 장부에 그대로 남아 있게 됩니다.
그대로 방치하면, 이는 분기별 고고학 프로젝트가 되어버립니다. 3개월이 지난 시점에 장부를 열어보면, 분류되지 않았거나 잘못 분류된 거래 내역 더미를 발견하게 됩니다. 그러면 저녁 시간을 통째로 써서 각 항목이 무엇이었는지 재구성하거나, 아니면 회계사에게 추측하도록 비용을 지불해야 합니다. 후자는 더 나쁜데, 문맥을 전혀 모르는 누군가가 당신의 사업에 대해 세금과 관련된 결정을 내리게 되기 때문입니다.
해결책은 더 똑똑한 자동 태거 (auto-tagger)를 만드는 것이 아닙니다. 분류 작업을 세 가지 신뢰 수준 (tiers of confidence)으로 나누고, 각 수준을 다르게 취급하는 것입니다.
높음, 중간, 낮음 — 그리고 그중 하나만 자동으로 적용됩니다
다음은 거래 내역이 확정된 후 월말로부터 며칠 뒤에 제가 실제로 실행하는 월간 워크플로 (workflow)입니다:
- 저는 에이전트의 메모리에 한 페이지 분량의 분류 규칙서 (categorization rulebook)를 유지합니다. 여기에는 카테고리로 매핑된 반복적인 가맹점 (예: 특정 포장재 공급업체는 "재료", 클라우드 호스팅은 "인프라"), 몇 가지 금액 기반의 휴리스틱 (heuristics), 그리고 규칙서가 다루지 못하는 모든 항목을 위한 명시적인 탈출구 (escape hatch)가 포함됩니다.
- 에이전트는 회계 도구를 열어 분류되지 않은 모든 항목을 가져온 뒤, 각 행에 신뢰도 라벨 (confidence label)을 붙여 작업을 수행합니다: high (규칙서와 정확히 일치), medium (합리적인 추론이지만 규칙과 일치하지 않음), low (진정으로 불확실함).
- 신뢰도가 높은 (high) 항목은 장부에 직접 적용됩니다. 중간 (medium) 항목은 각각 한 줄의 이유와 함께 짧은 승인 목록으로 넘어갑니다. 낮은 (low) 항목은 가맹점, 금액, 날짜와 같은 단순한 질문 형태로 저에게 전달됩니다. 보통 한 달에 5개에서 10개 정도이며, 50개씩 되지는 않습니다.
- 제가 중간 또는 낮은 신뢰도 항목에 대해 내리는 모든 결정은 규칙서에 다시 기록됩니다. 제가 매달 동일한 판단을 반복해서 답변하는 대신 규칙서가 실제로 저로부터 배우기 때문에, 불확실한 항목 더미는 시간이 지남에 따라 줄어듭니다.
- 어떤 것이든 최종 확정되기 전에, 에이전트는 자체적인 산술 (arithmetic)을 확인합니다: 분류된 항목 수와 남은 미분류 항목 수의 합이 해당 월에 가져온 총 거래 건수와 일치해야 합니다. 만약 이 숫자들의 합이 맞지 않는다면 무언가가 조용히 누락된 것이며, 이는 신고 과정에서 구멍이 생기기 전에 반드시 잡아내야 할 부분입니다.
제가 겪은 함정 (Pitfall): 출력 결과에 신뢰도 열 (confidence column)을 강제로 포함시키기 전에는, 에이전트가 전혀 근거 없는 확신을 가지고 분류하곤 했습니다. 직원 복리후생으로 분류된 병원비 청구서가 바로 제가 프로세스를 바꾸게 만든 사례입니다. 불편한 점은 그 항목이 스프레드시트에서 올바르게 태그된 50개의 행 옆에 놓여 있을 때 얼마나 그럴싸해 보였는가 하는 점입니다. 신뢰도 라벨과 의무적인 낮은 신뢰도 탈출구 (escape hatch)를 도입함으로써 이러한 문제의 대다수가 자동으로 해결되었습니다.
감사 추적 (audit trail)이 속도보다 더 중요한 이유
월말 결산 세션은 예전에 35시간이라는 끔찍한 시간이 소요되곤 했습니다. 이제는 짧은 목록을 승인하거나 수정하는 데 2030분이면 충분합니다. 이러한 속도 향상은 분명 실재하지만, 누군가가 에이전트가 장부에 손을 대는 것 자체에 대해 반대한다면 제가 옹호할 부분은 속도가 아닙니다. 제가 옹호할 부분은 바로 감사 추적 (audit trail)입니다.
돈을 다루는 모든 자동화 시스템은 한 가지 질문에 저렴한 비용으로 답할 수 있어야 합니다: 만약 누군가가 "왜 이 숫자가 다르게 보이죠?"라고 묻는다면, 몇 분 안에 답을 재구성할 수 있습니까, 아니면 한 시간 동안 파헤쳐야 합니까? 제가 처음 시도했을 때는 답이 없었습니다. 제외 항목과 카테고리 변경 사항들이 아무런 표시 없이 장부에 기록되었고, 회계사가 총액이 왜 바뀌었는지 물었을 때 이를 재구성하는 데는 제가 가질 수 없는 막대한 시간이 소요되었습니다.
해결책은 지루했지만 효과적이었습니다: 에이전트가 수행하는 모든 조정 사항에는 일관되고 검색 가능한 메모가 첨부됩니다. 즉, 고정된 키워드와 짧은 이유를 함께 남기는 것입니다. 6개월 뒤의 나만이 이해할 수 있는 메모가 아니라, 나의 회계사나 이번 달의 일을 기억하지 못할 미래의 내가 즉시 검색하고 재구성할 수 있는 메모를 남기는 것입니다. 추적 기능 없는 속도는 고고학 프로젝트의 대상을 "어떤 카테고리인가"에서 "왜 이것이 바뀌었는가"로 옮길 뿐이며, 후자는 당신의 장부에 대한 타인의 신뢰가 개입되기에 훨씬 더 나쁩니다.
영향 (Impact): 직접적인 비용 절감은 실재하지만 완만합니다. 회계사의 정리 작업 비용이 줄어들었고, 깔끔한 카테고리 분류 덕분에 나중에 세액 공제 검토를 수월하게 진행할 수 있어 최소 연간 수백 달러의 가치가 있습니다. 하지만 더 크고 가격을 매기기 어려운 가치는, 나중에 세무 조사에서 문제가 되지 않는다는 점입니다. 모든 제외 항목과 카테고리 결정에 대해 무책임한 태도 대신 그 이유가 첨부되어 있기 때문입니다.
개인 대 비즈니스 문제 (personal-vs-business problem)는 별개의 작업입니다
분류 (Categorization)와 개인 비용 감사 (personal-expense auditing)는 같은 작업처럼 느껴지지만 실제로는 다르며, 이 둘을 하나의 세션으로 섞어버리면 둘 다 성능이 저하됩니다. 분류는 "이 비즈니스 비용이 어떤 항목 (bucket)에 속하는가?"를 묻습니다. 반면 감사는 완전히 다른 질문을 던집니다: "개인 비용이 비즈니스 장부에 조금이라도 유입되었는가?" 많은 1인 창업자(solo founders)들이 그렇듯 회사 카드가 개인 지갑에 들어있는 경우, 약국 이용, 실제 미팅이 아니었던 저녁 식사, 일회성 개인 구매 내역들이 공급업체 대금이나 호스팅 비용과 함께 동일한 명세서로 흘러 들어갑니다. 각각은 소액이지만, 6개월이 지나면 실제 컴플라이언스 (compliance) 리스크로 쌓이게 됩니다.
저는 에이전트가 무엇인가를 건드리기 전에 서면 정책 (written policy)을 정의한 후, 1년에 두 번 별도의 작업으로 이를 수행합니다:
| 항목 (Bucket) | 예시 (Examples) | 에이전트의 행동 (Agent's action) |
|---|---|---|
| 명백한 개인 비용 (Clearly personal) | 병원, 미용실, 유흥 시설, 가정용 공공요금 | 제외 대상으로 표시 (flag for exclusion) |
| ... |
핵심 규칙은 모호한 항목은 기본적으로 그대로 둔다는 것입니다. 오직 명백하게 개인적인 것만 제외합니다. 저의 첫 번째 시도는 양쪽 방향 모두에서 거꾸로 진행되었습니다. 한 번의 작업에서는 혼자 먹은 모든 점심을 의심스러운 것으로 표시했고, 더 느슨했던 두 번째 작업에서는 가정용 가스 요금처럼 명백한 것을 놓쳤습니다. 합리적인 수준에 도달하기 위해 필요한 것은 프롬프트 (prompt)가 아니라 서면 정책의 두 차례 반복 수정이었습니다. 에이전트의 즉각적인 판단이 아니라 정책이 결정을 내려야 합니다. 왜냐하면 정책은 회계사에게 설명하고 방어할 수 있는 근거가 되지만, 에이전트의 즉각적인 판단은 그렇지 않기 때문입니다.
저는 장부에서 무언가를 제외하기 전에 여전히 표시된 모든 항목을 직접 검토합니다. 이는 단순히 형식적인 절차가 아니라 20~40분 정도 소요되는 세션입니다. 왜냐하면 세금 관련 결과는 에이전트가 아닌 저에게 돌아오기 때문입니다.
회계사가 실제로 필요로 하는 것
이 모든 과정은 사실 저를 위해 만들어진 것이 아닙니다. 일 년에 두 번, 저보다 문맥 (context)을 훨씬 적게 알고 있는 사람에게 패키지를 전달했을 때, 그 사람이 긴 전화 통화 없이도 그 내용을 신뢰할 수 있도록 만들기 위해 구축된 것입니다. 그 패키지에는 세 가지가 필요하며, 그 중 어느 것도 "더 큰 스프레드시트"는 아닙니다.
- 모든 자동화된 결정에 명시된 신뢰 수준 (confidence level)이 있고, 조정된 항목에 대해서는 검색 가능한 이유가 첨부된 깨끗하고 분류된 원장 (ledger).
- 무엇이 개인적인 용도로 제외되었는지와 그 이유를 적은 짧고 명확한 목록 (기억에 의존해 재구성할 필요가 없도록).
- 일치하는 합계 — 가져온 항목 수, 분류된 항목 수, 제외된 항목 수의 총합이 회계사가 맹목적으로 믿는 대신 한 번의 확인만으로 검증할 수 있는 수치로 합산됨.
다음은 제가 매달 실행하는 실제 프롬프트 템플릿이며, 에이전트의 메모리에 있는 내용을 수정하지 않고 그대로 가져온 것입니다:
당신은 나의 장부 기록원 (bookkeeper) 보조입니다. [bookkeeping tool]을 열고
[month]의 모든 미분류 거래 내역을 나열하세요. 다음 규칙서(rulebook)를 사용하여
각 항목을 분류하세요: [paste rulebook]. 각 항목에 대해 다음을 출력하세요:
...
해당 프롬프트의 마지막 줄은 보기보다 훨씬 더 중요한 역할을 수행합니다. 이 줄은 동일한 도구, 동일한 달, 동일한 거래 목록 내에서 작업이 수행되더라도 두 가지 업무를 분리된 상태로 유지합니다. 분류 (Categorization)와 개인 비용 감사 (personal-expense auditing)는 서로 다른 정책, 서로 다른 검토 주기, 그리고 저로부터 요구되는 서로 다른 수준의 정밀함을 필요로 합니다. 에이전트가 이 둘을 혼동하게 허용하는 순간, 이 모든 시도를 신뢰할 수 있게 만들었던 근본적인 요소, 즉 "왜 이 숫자가 이렇게 보이는가"에 대한 명확하고 방어 가능한 답변을 잃게 됩니다.
에이전트는 매달 이 작업에 더 빨라졌습니다. 실제로 중요한 것은 에이전트가 자신이 모르는 것에 대해 더 정직해졌다는 점이며, 자신이 확신하지 못하는 항목에 대해 단 한 번도 스스로 결정을 내리지 않았다는 점입니다.
원문 게시처: https://methezone.github.io/solo-operator-playbook/ai-bookkeeping.html
30개의 모든 워크플로우는 프롬프트 및 실패 사례와 함께 작성되어 있습니다. 그 중 5개는 전체 내용을 무료로 제공합니다: the sampler.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기