LLM은 스스로의 세무 입장을 단속할 수 없습니다. AI가 작성한 입장을 모델이 아니라 인코딩된 법령에 대해 검증하는 결정론적 계층을 만들었습니다.
Tax TechnologyArtificial IntelligenceCompliance

LLM이 스스로의 세무 오류를 잡게 해 보았습니다. 불가능했고, 그것이 바로 사업의 전부였습니다.

Ashutosh SinghalAshutosh Singhal2026년 6월 19일13 min

그 주장문은 문법적으로 완벽했습니다. 그것이 문제였습니다.

저는 커피를 내려놓게 만든 첫 번째 입장을 아직도 기억합니다. AI가 새로운 OBBBA 자동차 대출 이자 공제에 대한 문장을 작성했고, 이렇게 읽혔습니다. "새로운 OBBBA 자동차 대출 이자 공제는 고객의 AGI를 줄이는 라인 위(above-the-line) 공제입니다." 문장은 깔끔했습니다. 자신감 넘쳤습니다. 제가 읽어 본 모든 방어 가능한 입장처럼 형식이 갖춰져 있었습니다. 그리고 실제 사람에게 실제 돈을 잃게 만드는 바로 그 방식으로 틀렸습니다.

적격 승용차 대출 이자 공제(QPVLI)는 §63(b)(7)에 따른 라인 아래(below-the-line) 공제입니다. 조정총소득을 줄이지 않습니다. 이를 라인 위에 두는 것은 다시 읽어 보면 잡히는 철자 오류가 아닙니다. AGI를 조용히 움직이고, AGI는 신고서의 절반이 기준 삼는 숫자입니다. 저를 놀라게 한 것은 모델이 법령을 약간 틀렸다는 점이 아니었습니다. 틀린 답이 얼마나 좋게 보였는지였습니다.

환각된 인용은 잡기 쉽습니다. 완벽한 세무 영어로 쓰인 자신만만한 잘못된 분류야말로 신고서에 올라가는 것입니다.

그제야 실제 문제가 제게 선명해졌습니다. 업계는 세무 업무의 작성을 자동화하는 데 3년을 썼고, 정말로 잘해 냈습니다. Thomson Reuters는 1040을 자동 준비합니다. CCH Axcess는 수천 개 로펌에서 자문 인사이트를 작성합니다. Blue J는 연구 질문에 쉬운 말로 답합니다. 준비는 해결되고 있습니다. 하지만 준비 이후 단계, 즉 누군가가 그 입장이 실제로 법령하에서 방어 가능한지 판단해야 하는 단계는, 그것을 작성한 바로 그 확률적 모델에 맡겨졌습니다. 그리고 IRC §6662하에서 20%의 정확성 관련 가산세는 작성한 알고리즘이 아니라 신고서에 서명한 사람에게 부과됩니다.

저는 모델이 스스로의 숙제를 채점하게 만들려 일주일을 보냈습니다.

제 첫 직감은 뻔한 것이었고, 솔직히 말해 그보다 오래 쫓아다녔습니다. 모델이 입장을 작성할 수 있다면, 충분히 좋은 프롬프트로 그 입장을 점검하게 할 수도 있지 않을까. 그래서 시도했습니다. 법령을 주었습니다. QPVLI 규칙을 풀어 주었습니다. 자신의 출력을 감사하고 공제를 잘못된 줄에 둔 것을 모두 표시하라고 요청했습니다.

일부는 잡았습니다. 일부는 놓쳤습니다. 그리고 놓친 것들이 무서운 종류였습니다. 감사에서 틀렸을 때도 작성할 때와 같은 유창한 자신감으로 틀렸기 때문입니다. 자기 점검은 애초에 오류를 만든 것과 동일한 가중치를 통과했습니다. 모델에게 스스로를 단속하라고 하는 것은, 실수를 만든 존재에게 동일한 추론으로 그 실수를 알아차리라고 하는 것입니다.

동료에게 이것을 설명하다 제 입에서 나온 말을 듣게 된 기억이 있습니다. "우리는 LLM이 LLM을 단속하도록 믿을 수 없다." 그 문장이 제게 설계가 뒤집힌 순간이었습니다. 저는 모델을 더 정확하게 만들려 하고 있었습니다. 진짜 답은 모델이 판사가 되는 것을 아예 믿지 않는 것이었습니다.

확률적 시스템을 공손히 부탁한다고 해서 결정론적으로 만들 수는 없습니다. 판정을 그 바깥으로 옮겨야 합니다.

제가 너무 늦게 체화한 구분은, 작성과 검증이 같은 과제를 더 쉽게 또는 더 어렵게 만든 것이 아니라는 점입니다. 그것들은 다른 문제입니다. 작성은 유창함, 커버리지, 그럴듯함을 보상하는데, 그것이 바로 언어 모델이 만들어진 이유입니다. 검증은 하나의 특정 규칙에 대해 증명 가능하게 옳고, 그 자리에 없었던 심사관에게 근거를 제시할 수 있는 능력을 보상합니다. 그것들은 정반대의 기질입니다. 저는 하나의 시스템이 둘 다를 하도록 만들려는 시도를 그만두었습니다.

"에이전트가 조언하고, 코드가 결정한다"는 실제로 무엇을 의미할까요?

제가 도달한 아키텍처를 정확히 말하고 싶습니다. 그 문구는 선이 어디에 그어지는지 보기 전까지는 마케팅처럼 들릴 수 있기 때문입니다. 제가 만든 데모인 StatuteGuard에서 언어 모델은 딱 한 가지 일만 합니다. 지저분한 자연어 세무 문장을 읽고 구조화되고 타입이 지정된 클레임을 제안합니다. 그것이 유일한 신경망 단계입니다. 그 일에는 정말로 능숙하고, 확신이 없으면 추측 판정 대신 기권하고 입장은 사람에게 에스컬레이션됩니다.

그 이후는 전부 코드입니다. 판정은 결정론적 정책 엔진이 내립니다. 실제 OPA/Rego와 동일한 순수 Python 쌍둥이로, 제가 1차 법령에 맞춰 적어 둔 규칙을 실행합니다. 신경망 추출, 기호적 검증. 모델이 조언합니다. 코드가 결정합니다. 그리고 그 차이는 학문적이지 않습니다. 코드는 잘 쓰인 문단으로 설득당해 답을 바꾸지 않기 때문입니다.

예상보다 훨씬 더 신경 쓰이게 된 부분은 가독성입니다. 정책은 믿어 달라고 부탁하는 블랙박스가 아닙니다. 직접 열어 법령과 대조해 볼 수 있는 의사결정 표와 Rego 소스입니다.

§280A와 §30D의 읽기 쉬운 의사결정 표와 실제 OPA/Rego 소스를 함께 보여 주는 Policy Rules 패널
읽기 쉬운 표로 인코딩된 §30D 청정 차량 규칙(MSRP 상한 승용차 $55,000, SUV/트럭/밴 $80,000; 수정 AGI 상한 단독 $150,000, HoH $225,000, MFJ $300,000)과 그 아래 실제 OPA/Rego 소스. 정책을 읽고 법령과 일치하는지 확인할 수 있습니다.

그 스크린샷이 한 패널에 담긴 전체 논지입니다. Head of Tax는 컴플라이언스 파트너와 앉아 규칙을 열고, 단 하나의 판정을 믿기 전에 §30D와 대조해 확인할 수 있어야 합니다. 로직이 모델 추론 문단일 때는 그렇게 할 수 없습니다. 읽을 수 있는 규칙일 때는 가능합니다.

그렇다면 코드가 안 된다고 말할 때는 어떻게 될까요?

완성된 게이트에 그 OBBBA 자동차 대출 입장을 처음 돌렸을 때, 저는 실제로 웃었습니다. 모델은 전과 똑같이 "라인 위, AGI를 줄인다"는 클레임을 작성했습니다. 하지만 이번에는 결정론적 엔진이 추출된 클레임을 보고, 인코딩된 §63(b)(7) 규칙과 대조한 뒤, 단호한 판정을 반환했습니다. BLOCK. 신고하지 말 것.

OBBBA 자동차 대출 입장에 대해 BLOCK 판정을 반환하며 신고 금지 배너와 다섯 갈래 하류 캐스케이드를 빨간색으로 표시한 StatuteGuard
OBBBA QPVLI 입장은 BLOCK을 반환합니다("차단됨. 작성된 진술이 인코딩된 법령과 충돌합니다. 작성된 대로 신고하지 마십시오."). 다섯 갈래 하류 캐스케이드(AGI, AGI 연동 주세, Medicare IRMAA, 7.5% 의료비 공제 하한, 학자금 대출 IDR)가 모두 표시됩니다.

이 화면에서 설득력 있다고 느끼는 점, 그리고 세무 독자도 설득력 있다고 느끼기를 바라는 점은 캐스케이드입니다. 엔진은 그저 "잘못된 줄"이라고만 말하지 않습니다. 잘못된 AGI 감소가 오염시킬 다섯 곳의 하류를 보여 줍니다. 조정총소득 자체, AGI 연동 주소득세, Medicare IRMAA 보험료 할증, 7.5% 의료비 공제 하한, 학자금 대출 소득 연동 상환. 잘못 분류된 공제 하나는 오류 하나가 아닙니다. 작은 폭발 반경이며, 패널이 그 반경을 보이게 만듭니다.

그다음 이유를 애니메이션으로 보여 주는데, 이것이 제가 가장 애착을 갖는 부분입니다. IRC 상호참조 그래프를 따라 인용 체인을 노드별로 걸어가므로, "아니오"가 결코 맨손 주장이 되지 않습니다.

§163(h)(1)부터 §63(b)(7)까지 IRC 그래프를 가로지르며 라인 아래 배치 규칙을 보여 주는 애니메이션 법령 인용 체인
라이브 인용 체인: §163(h)(1) → §163(h)(4)(A) → §163(h)(4)(B) → §63(b)(7) → §62/§63. §63(b)(7) 노드를 선택하면 배치 규칙이 표시됩니다. QPVLI는 AGI에서 과세소득을 계산할 때 허용되는 라인 아래 공제이며, Federal Register 자동차 대출 이자 규칙(2026년 1월)으로 확인됩니다.

제가 계속 되돌아오는 디테일이 있습니다. 이것이 장난감 문제가 아님을 증명하기 때문입니다. 데모 자체의 README에 따르면, "라인 위"라는 잘못된 라벨은 악당을 만들기 위해 제가 지어낸 것이 아닙니다. H&R Block 사이트를 포함한 주류 세무 준비 안내가 게시한, 문서화된 합의 오류입니다. 그럴듯하고, 잘 쓰였으며, 널리 반복되는 틀린 답이야말로 결정론적 게이트가 존재하는 실패 모드입니다. 군중이 확신한다고 해서 공제가 AGI로 이동하지는 않습니다. 법령이 그것을 결정하고, 이제 코드도 그렇게 합니다.

가장 위험한 세무 오류는 틀려 보이는 것이 아닙니다. 맞아 보이고, 맞아 들리며, 세 벤더의 안내에 등장하는 것입니다.

이 중 어느 것이든 직접 들여다보고 싶다면, 실행 중인 데모는 veriprajna.com/ko/demos/tax-compliance-ai에 있습니다. 자신의 입장을 붙여넣고 게이트가 결정하는 것을 볼 수 있습니다.

거의 잘못 설계할 뻔한 기능: "모르겠다"고 말할 때를 아는 것

거의 심어 넣을 뻔한 실수를 인정해야 합니다. 검증 도구를 만드는 모든 엔지니어가 하고 싶어 하는 바로 그 실수이기 때문입니다. 초기의 직감은 기계가 모든 것에 답하게 만드는 것이었습니다. 커버리지가 목표처럼 느껴졌습니다. 모든 입장에 판정을 내리는 도구가, 가끔 어깨를 으쓱하는 도구보다 더 완성되어 보입니다.

그 직감은 틀렸고, 특정 입장이 그 이유를 가르쳐 주었습니다. §280A 재택근무 공제를 생각해 보십시오. 여분의 침실이 주된 사업장으로 "정기적이고 배타적으로" 사용되는지는 사실과 상황의 테스트입니다. 인코딩할 깔끔한 규칙이 없습니다. 답이 실제 사람이 실제 방을 어떻게 쓰는지에 달려 있기 때문입니다. 결정론적 엔진에 이를 강제 판정하게 하면, 제가 막으려 만든 바로 그 일을 하는 셈입니다. 정직한 답이 "사람이 이걸 봐야 한다"인 곳에 자신만만한 판정을 제조하는 것.

정기적·배타적 사용이 사실과 상황의 테스트이므로 §280A 재택근무 입장을 NEEDS HUMAN REVIEW로 라우팅하는 StatuteGuard
§280A 재택근무 입장(컨설팅 업무에 쓰이는 여분의 침실, 배타성이 미확정)은 NEEDS HUMAN REVIEW로 라우팅됩니다. 회색 지대는 해결되지 않고 에스컬레이션됩니다. 정기적·배타적 사용은 결정론적 커버리지 밖의 사실과 상황의 테스트이기 때문입니다.

따라서 게이트에는 네 가지 판정이 있고, 두 가지가 아닙니다. 입장이 방어 가능하면 PASS. 인코딩된 법령과 충돌하면 BLOCK. 진정한 회색 지대이면 NEEDS-REVIEW. 조항이 이 버전에 단순히 인코딩되지 않았으면 OUT-OF-COVERAGE. 마지막 둘은 같은 정직한 뜻을 가집니다. 사람이 결정하고, 기계가 아닙니다. 에스컬레이션 경로를 만드는 것은 한계를 인정하는 것처럼 느껴졌습니다. 사실 그것이 제품에서 가장 중요한 기능입니다. "모르겠다"고 결코 말하지 않는 검증 계층은 추가 단계를 거친 두 번째 모델의 허풍일 뿐이기 때문입니다.

숫자, 그리고 그것들이 정확히 무엇을 주장하지 않는지

저는 벤치마크를 마케터가 원하는 것보다 더 신중하게 다룹니다. 이 숫자들을 보통 말하는 방식이 거짓이기 때문입니다. 사전 분류된 입장 42건의 라벨링된 골든 세트(정상 14, 오류 16, 에스컬레이트 12)에 결정론적 엔진을 돌리고 계층이 무엇을 하는지 측정했습니다.

42건에 대해 결정론적 커버리지 71.4%, 게이트 정밀도 100%, 오류 포착 100%, 올바른 에스컬레이션 100%를 보여 주는 골든 세트 벤치마크 스코어보드
골든 세트 벤치마크: 결정론적 커버리지 71.4%, 게이트 정밀도 100%(거짓 BLOCK 0건), 오류 포착 완전성 100%, 회색 지대 올바른 에스컬레이션 100%. 라벨링된 42건 입장에서 검증, 로컬에서 평가.

그 42건 골든 세트에서: 결정론적 커버리지 71.4%, 즉 엔진이 그 비율을 스스로 PASS 또는 BLOCK으로 해결하고 나머지는 올바르게 에스컬레이션했다는 뜻입니다. 게이트 정밀도 100%, 즉 올바른 입장이 잘못 차단된 경우가 0건입니다. 인코딩된 조항에 대한 오류 포착 완전성 100%. 회색 지대의 올바른 에스컬레이션 100%. 처리량은 초당 수만 건의 입장(제가 스크린샷한 실행에서는 약 58,000건, 다만 기계에 따라 다름)이었습니다. 검증은 모델 호출이 아니라 인프라이기 때문입니다.

이제 제가 고집하는 부분입니다. 그 숫자들은 그 골든 세트에서는 참이지, 개방 세계에 대한 보장은 아닙니다. StatuteGuard가 "100% 정확하다"고는 말하지 않겠습니다. 라벨링된 세트를 떠나는 순간 그 문장은 부정직해지기 때문입니다. 제가 말할 것은 더 미묘하고, 제 생각에는 더 오래갑니다. 판정이 결정론적 코드이므로, 인코딩된 조항에 대한 그 동작은 재현 가능하고 증명 가능하며, 표류하는 확률이 아닙니다. 저는 42건 판정 모두를 OPA 1.17.1과 순수 Python 쌍둥이에 교차 확인했고, 정확히 일치했습니다. 그것이 제가 책임질 수 있는 주장입니다. 모델을 아니라 계층을 설명합니다.

"100% 정확도"는 마케팅 숫자입니다. "인코딩된 조항에서는 재현 가능하고, 그 밖에서는 정직한 에스컬레이션"은 엔지니어링 숫자입니다. 저는 후자를 출시하고 싶습니다.

그래서 이것이 시대에 뒤떨어지지 않습니다. 내년의 더 나은 베이스 모델도 심사관에게 어떤 법령 조항이 어떤 입장을 뒷받침했는지 증명하지 못합니다. 커버리지, 게이트 정밀도, 제출 가능한 감사 추적은 검증 계층의 속성입니다. 모델이 나아질수록 줄어드는 모델 오류율이 아닙니다.

심사관이 요청하기 전까지는 만들고 있는 줄도 몰랐던 산출물

컴플라이언스 문서를 만들려던 것은 아니었지만, 세무 종사자와 이야기할수록 대화는 같은 지점에서 끝났습니다. "좋아, 오류는 잡았는데, IRS에 뭘 넘기지?" 그래서 이제 모든 판정은 제출 가능한 §6662 주의의무 기록을 작성합니다. 신고 전 입장이 법령에 대해 검증되었음을 문서화하는 인쇄 가능한 작업지입니다. 소스 작업지, 조항, 1차 출처, 추출된 클레임, 판정 내러티브, 전체 인용 체인. 합리적 원인·상당한 주의의 입장이 실제로 취했음을 보여 주는 증거이며, 2024년 1월 발효된 AICPA SSTS 개정에 직접 관련됩니다.

이것이 어디서 실행되는지도 신경 쓰는 또 다른 이유가 있고, Heppner 판결(SDNY, 2026년 2월) 이후 구체화되었습니다. 고객 조사를 공개 AI 도구에 넣는 것에 대한 특권 포기 문제를 제기한 판결입니다. StatuteGuard는 기본적으로 API 키 없이 완전 로컬로 실행됩니다. 입장도 고객 데이터도 경계를 떠나지 않습니다. Heppner 이후, 폐쇄적이고 로컬이며 감사 가능한 아키텍처는 보안 검토의 있으면 좋은 정도가 아닙니다. 법적으로 중요합니다. 그 판결을 위해 로컬 우선 자세를 설계한 것은 아닙니다. 하지만 이제 그것으로 시작하는 이유는 그 판결입니다.

이해관계의 맥락으로, 미국 기업 세무 컴플라이언스 비용은 연간 $126 billion을 넘고(WP1 솔루션 리서치, 2026), IRC §6662 가산세는 과소납부의 20%이며, §6663 사기 노출은 75%에 이릅니다. 작성이 자동화되고 가산세가 개인에게 올 때, Head of Tax가 밤잠을 설치게 해야 하는 단계는 검증입니다.

제가 지금 실제로 믿는 것

처음에는 더 나은 세무 AI를 만들고 있다고 생각했고, 끝내 문제의 본질을 잘못 알았다고 분명히 말하고 싶습니다. 여러분의 세무 AI에는 정확도 문제가 없습니다. 검증 문제가 있고, 더 나은 모델이 그것을 고치지 못합니다. 왜냐하면 20% 가산세는 그 가중치가 아니라 여러분의 서명에 부과되기 때문입니다. 세무 업무의 작성을 개인화하고 자동화하는 것은 진정한 진전입니다. 그것은 또한 입장이 방어 가능함을 증명하는 것과 같지 않은데, 업계는 조용히 그것들을 같은 것으로 취급해 왔습니다.

데모는 veriprajna.com/ko/demos/tax-compliance-ai에 있습니다. 게이트를 깨뜨려 보고 싶다면요. 정말로 그렇게 해 주셨으면 합니다.

제가 설명하는 글을 읽기보다 게이트가 결정하는 것을 보고 싶다면, 여기 처음부터 끝까지 돌아가는 전체가 있습니다.

그래서 제가 세무 리더들에게 계속 묻는 질문이 있고, 아직 편안한 답이 없습니다. AI가 입장을 작성하고 여러분이 신고서에 서명할 때, 여러분이 그것을 믿은 것이 아니라 검증했음을 증명하는 산출물은 무엇입니까? 정직한 답이 "아무것도 없다, 모델을 믿었다"라면, 그 모델은 조수가 아닙니다. 공동 서명자이고, 감사에 소환할 수 없습니다.

관련 연구

다른 채널에도 게시됨

확신을 가지고 AI를 구축하세요.

차세대 엔터프라이즈 AI 구축에 깊은 경험을 갖춘 팀과 협업하세요. 신뢰할 수 있는 AI 전략을 설계하고 구축하며 배포할 수 있도록 지원해 드리겠습니다.

Veriprajna 딥테크 컨설팅 은(는) 헬스케어, 금융, 규제 분야를 위한 안전 필수 AI 시스템 구축을 전문으로 합니다. 당사의 아키텍처는 확립된 프로토콜에 따라 검증되며 포괄적인 규정 준수 문서를 갖추고 있습니다.