연재 「재무전문가가 꼭 알아야 할 Anthropic 교육자료」 2편 1편 지도 · 2편 설계(이 글) · 3편 진단 · 4편 절차 · 5편 실측
AI가 틀리는 방식은 네 가지로 정리됩니다(3편). 그 처방은 하나로 모입니다. 모델의 기억에서 뽑게 두지 말고 근거를 물려 주라.
저희는 그걸 이미 하고 있었습니다. 법령 MCP를 붙여 법제처 원문을 직접 조회하고, 판례·심판례·예규를 도구로 가져오게 해 두었습니다.
그런데 2026년 8월 4일, 그 상태에서 가산세를 통째로 놓쳤습니다.
부가세 서식 미작성 건을 검토하면서 붙어야 할 주요 가산세를 회신에 담지 못했습니다. 조문을 지어낸 것이 아닙니다. 인용한 조문은 전부 진짜였고 링크도 살아 있었습니다. 그냥 있어야 할 것이 없었습니다.
원인은 검색이었습니다. 이 글은 그 뒤로 고친 것들의 기록입니다.
네 속성으로는 설명되지 않는 실패입니다
Anthropic 강의의 네 가지 속성은 모델이 어떻게 틀리는지에 대한 분류입니다. 다음 토큰 예측, 지식, 작업 메모리, 조종 가능성. 도구를 붙이지 않은 대화에서는 이 넷으로 대부분 설명됩니다.
커넥터와 스킬을 붙이면 모델 바깥에서 할 일이 늘어납니다. 어느 도구를 골랐는가, 무엇으로 검색했는가, 결과가 비었을 때 어떻게 처리했는가, 시점 조건을 걸었는가. 실패의 상당수가 여기서 납니다.
| 모델이 틀릴 때 | 도구를 쓰다 틀릴 때 | |
|---|---|---|
| 어디서 나나 | 모델이 생성할 때 | 도구를 고르고 부르고 결과를 받을 때 |
| 대표 실패 | 조문 번호를 지어냄 | 검색이 0건인데 기억으로 메움 |
| 어떻게 보이나 | 대조하면 틀린 게 드러남 | 대조를 통과함. 인용이 전부 진짜라서 |
| 강의에 있나 | 있음 | 없음 |
두 번째 열의 “대조를 통과함”이 이 글을 쓴 이유입니다. 검증 절차를 아무리 잘 짜도 빠진 것은 걸러지지 않습니다. 틀린 것만 걸립니다.
실제로 났던 실패 여섯 가지
① 조용한 0건
법제처 API의 법령 검색은 법령명만 찾습니다. 조문 본문은 검색하지 못합니다.
search_law("부가세 서식미작성 가산세") → 0건
도구가 그런 물건이라서 0건입니다. 규정은 있습니다. 문제는 그다음입니다. 0건이 나오면 모델은 자기 기억으로 빈 결과를 메웁니다. 기억은 조문 단위로 정확하지 않습니다.
내용으로 조문을 찾으려면 항·호 본문까지 훑는 다른 도구를 써야 했습니다. 도구 하나를 잘못 고른 것이 회신 하나를 통째로 망쳤습니다.
0건은 “없음”이 아니라 “못 찾음”입니다. 이 한 줄을 절차에 박아 두지 않으면 같은 사고가 반복됩니다.
② 세목법만 보면 놓칩니다
부가세 가산세인데 조세특례제한법에 있는 조문이 아홉 개였습니다. 세목 하나만 놓고 검색하면 다른 법에 있는 같은 쟁점의 가산세가 통째로 안 보입니다.
이건 검색 범위 설계의 문제입니다. 그래서 지금은 스윕에 조세특례제한법을 항상 넣습니다.
③ 없는 도구를 지어냄
모델이 legal_research라는 도구를 불렀습니다. 그런 도구는 없습니다. 도구 이름도 다음 토큰 예측의 대상이라 그럴듯하게 만들어집니다. 실제 도구 목록과 각각이 무엇을 하는지를 문서로 고정해 두지 않으면 이 일이 반복됩니다.
④ 링크 조립
조문 링크를 지어내는 것이 가장 잦은 환각입니다. 형식이 규칙적이라 모델이 쉽게 만들어 내고, 형식이 그럴듯해서 눌러 보기 전에는 구분되지 않습니다.
지금 규칙은 한 줄입니다. 도구가 준 출처 URL을 그대로 옮긴다. 조립하지 않는다.
⑤ 본문을 못 여는 근거를 근거로 씀
국세청 예규는 목록만 API로 열리고 본문은 열리지 않습니다. 애초에 제공되지 않습니다. 신청으로 풀리는 문제가 아닙니다(2026-08-05 확인).
그런데 목록에는 안건명이 있습니다. 안건명만 보고 요지를 짐작하면 제목과 결론이 반대인 예규에 걸립니다. 그런 예규가 흔합니다.
그래서 근거마다 등급을 답니다.
| 등급 | 뜻 |
|---|---|
| ★★★ | 원문을 직접 확인 |
| ★★☆ | 요지·목록까지만. 본문 미확인 |
| ☆ | 확인 불가 |
☆가 하나라도 있으면 그 사실을 결론 옆에 적습니다. 등급을 안 달면 확인한 근거와 짐작한 근거가 같은 문장 안에서 섞입니다.
⑥ 시점 누락
적용 시점은 조문에 없습니다. 부칙의 적용례·경과조치를 따로 조회해야 합니다. 현행 조문을 정확히 인용하고도 과거 과세기간 사안에 잘못 적용하면 결론이 뒤집힙니다.
코드로 옮겼습니다
여섯 가지를 다 알고 나서도 한 번 더 실패했습니다. 스킬 문서에 적어 뒀는데 지켜지지 않았습니다.
지시서는 모델이 읽고 넘길 수 있습니다. 조종 가능성의 한계 그대로입니다. 지시서가 길수록 일부 조항이 조용히 무시되고, 무시했다는 신호는 뜨지 않습니다.
그래서 2026년 8월 11일에 훅으로 옮겼습니다. 세법 냄새가 나는 프롬프트에는 모델의 판단과 무관하게 근거 규약이 매번 주입됩니다.
1. 법령 원문은 법령 MCP 로 확인한다. 웹·기억만으로 조문번호를 단정하지 마라.
- 내용으로 조문 찾기: 본문을 훑는 도구 (법령명 검색은 0건이 나온다)
- 적용시점: 부칙 조회 (조문에는 없다)
2. MCP 가 응답하지 않으면 웹으로 잠정 검토하되, 첫 줄에 "법령 원문 미검증"을 적는다.
3. 모든 근거에 등급을 붙인다. ★★★ / ★★☆ / ☆
4. 출처 링크는 도구가 준 URL 을 그대로 옮긴다. 조립하지 마라.
규칙을 어디에 적어 두느냐가 지켜지느냐를 가릅니다. 같은 문장이라도 스킬 문서에 있으면 지켜지다 말고, 훅에 있으면 매번 지켜집니다.
한 가지 더 배웠습니다. 훅의 키워드를 넓게 잡으면 결산·발행 같은 다른 작업에서도 떠서 훅 자체가 무시당합니다. 통제는 필요할 때만 떠야 계속 지켜집니다.
검증 장치도 틀립니다
훅이 살아 있는지 확인하려고 명령줄로 한글 키워드를 넣어 시험했더니 실패로 나왔습니다. 훅은 멀쩡했습니다. 셸이 한글을 뭉개서 키워드가 안 걸린 것이었습니다.
검증 도구가 거짓 음성을 낸 것입니다. 그대로 믿었으면 멀쩡한 장치를 뜯어고쳤을 겁니다. 지금은 시험 문구를 도구 안에서 만들어 이 경로를 없앴습니다.
재무 검증에서도 같은 일이 납니다. 대사 스크립트가 인코딩·서식 때문에 조용히 0건을 반환하면 차이가 없는 것과 구분되지 않습니다. 검증 절차를 만들 때는 “차이 0건”과 “비교 자체가 안 됨”을 반드시 다르게 표시해야 합니다.
남은 원칙 하나
이 모든 것을 관통하는 문장은 하나입니다.
판단해서 뺀 것과 안 봐서 없는 것은 다릅니다.
가산세를 검토했는데 해당이 없어서 뺀 것과, 아예 안 봐서 비어 있는 것은 회신에서 똑같아 보입니다. 그래서 지금은 건너뛰었으면 건너뛰었다고 한 줄 남깁니다. 검토 범위에 “가산세 축: 해당 없음. 미이행 사실 없음”처럼.
AI 산출물에서 가장 위험한 것은 틀린 문장이 아닙니다. 있어야 하는데 없는 문장이고, 그건 대조로 잡히지 않습니다. 잡으려면 무엇을 봤는지를 산출물이 스스로 말하게 해야 합니다.
재무 AI 에이전트에 꼭 넣어야 할 일곱 가지
앞의 실패들을 뒤집으면 그대로 설계 규칙이 됩니다. 만드는 순서대로 적었습니다. 맨 오른쪽이 핵심입니다. 어디에 두느냐가 지켜지느냐를 가릅니다.
| # | 넣어야 하는 것 | 안 넣으면 나는 실패 | 어디에 두나 |
|---|---|---|---|
| 1 | 도구 사실관계표를 코드보다 먼저 쓴다. 각 도구가 무엇을 찾고 무엇을 못 찾는지, 인자 형식까지 | 조용한 0건 · 없는 도구 호출 | 문서 |
| 2 | 빈 결과에 이름을 붙인다. 0건·도구 실패·권한 없음을 다른 값으로 돌려주고, 0건이면 다른 도구로 재시도 | 조용한 0건 | 코드 |
| 3 | 검색 범위를 사람이 고정한다. 항상 도는 법령 목록을 박아 둔다. 모델이 그때그때 정하게 두지 않는다 | 범위 누락 | 코드 |
| 4 | 근거에 등급을 강제한다. ★★★/★★☆/☆ 없는 근거는 산출물에 들어가지 못하게 | 본문 못 본 근거를 근거로 씀 | 산출물 스키마 |
| 5 | 링크는 도구가 준 것만 쓴다. 산출물의 URL이 도구 응답에 실제로 있었는지 기계로 대조 | 링크 조립 | 코드 |
| 6 | 시점을 별도 필드로 받는다. 적용 시행일과 부칙 확인 여부를 비워 둘 수 없는 항목으로 | 시점 누락 | 산출물 스키마 |
| 7 | 안 본 것을 산출물이 말하게 한다. 검토 범위와 건너뛴 축을 이유와 함께 적게 한다 | 빠진 답 | 산출물 스키마 |
일곱 중 여섯이 코드와 산출물 양식에 들어갑니다. 그게 이 표의 요점입니다.
지시서에 적어 두면 지켜지다 맙니다. 코드에 두면 우회할 수 없고, 스키마에 두면 비워 둔 채로는 산출물이 완성되지 않습니다. 모델의 성실함에 기대는 규칙은 규칙이 아닙니다.
7번이 특히 그렇습니다. “가산세를 봤는가”를 지시서에 적으면 봤다고 답하고 넘어갈 수 있습니다. 그런데 산출물 양식에 “검토한 것 / 건너뛴 것과 이유”를 비울 수 없게 만들어 두면 안 본 것이 그대로 드러납니다. 빠진 것을 잡는 방법은 사실상 이것 하나입니다.
만들기 전에 스스로 물어볼 것 세 가지
- 이 도구가 못 찾는 것은 무엇입니까. 답을 못 하면 아직 만들면 안 됩니다
- 결과가 비었을 때 무슨 일이 일어납니까. “모델이 알아서 한다”가 답이면 ①번 실패가 예약돼 있습니다
- 산출물만 보고 무엇을 안 봤는지 알 수 있습니까. 없으면 검증이 통과해도 안심할 수 없습니다
무료·수강 대상·자료 사용 조건은 자주 묻는 질문에 정리해 두었습니다.
마지막으로
4편의 검증 카탈로그는 산출물을 원본과 맞춰보는 절차입니다. 도구를 붙인 뒤에는 그 앞에 한 칸이 더 붙습니다. 무엇을 근거로 삼았고, 그 근거를 어떻게 가져왔는가.
그리고 그건 에이전트가 채워서 내놓게 만들어야 합니다. 사람이 매번 확인하는 통제는 바쁜 마감에 가장 먼저 무너집니다.
자주 받는 질문
- MCP나 RAG를 붙이면 AI 환각이 없어집니까
- 조문을 지어내는 실패는 크게 줄지만 없어지지는 않고 옮겨 갑니다. 위험이 생성 오류에서 연결 오류로 이동합니다. 검색 도구를 잘못 골라 0건이 나오고 그 빈 결과를 모델이 기억으로 메우는 것, 사안에 맞지 않는 조문을 정확하게 인용하는 것, 부칙을 안 봐서 적용 시점이 어긋나는 것이 대표적입니다. 인용이 진짜라서 원문 대조를 통과하므로 오히려 잡기 어렵습니다.
- 검색 결과가 0건이면 그 규정이 없다는 뜻입니까
- 아닙니다. 도구를 잘못 골랐을 가능성을 먼저 의심해야 합니다. 법제처 API의 법령 검색은 법령명만 찾고 조문 본문은 검색하지 못하므로, 내용 키워드로 물으면 실제로 존재하는 규정도 0건으로 나옵니다. 문제는 0건이 나왔을 때 모델이 자기 기억으로 빈 결과를 메운다는 것입니다. 0건은 못 찾음으로 처리하고 다른 도구로 다시 검색해야 합니다.
- AI가 인용한 조문 링크는 믿어도 됩니까
- 도구가 준 링크만 믿을 수 있습니다. 조문 링크를 규칙에 맞게 조립해 내는 것은 실무에서 가장 자주 보는 환각입니다. 형식이 그럴듯해 눌러 보기 전에는 구분되지 않습니다. 검색 도구가 응답에 붙여 준 출처 URL을 그대로 옮기고, 직접 만든 링크는 쓰지 않는 편이 안전합니다.
- 예규 제목만 보고 내용을 판단해도 됩니까
- 위험합니다. 제목과 결론이 반대인 예규가 흔합니다. 국세청 예규는 목록만 API로 열리고 본문은 열리지 않으므로, 본문을 직접 확인하지 않았다면 안건명·안건번호·일자까지만 적고 근거 등급을 낮춰 표시해야 합니다. 안건명만 보고 요지를 지어내는 것이 가장 나쁜 경우입니다.
- 재무 AI 에이전트를 만들 때 무엇부터 넣어야 합니까
- 도구 사실관계표를 코드보다 먼저 쓰십시오. 각 도구가 무엇을 찾고 무엇을 못 찾는지, 인자 형식이 무엇인지를 적어 두지 않으면 잘못된 도구로 검색해 0건을 받고 그 빈 결과를 모델이 기억으로 메웁니다. 그다음이 빈 결과에 이름 붙이기입니다. 0건과 도구 실패와 권한 없음을 다른 값으로 돌려주고, 0건일 때 다른 도구로 재시도하는 경로를 코드에 두어야 합니다.
- 지시서에 "반드시 법령 원문을 확인하라"고 적어 두면 됩니까
- 부족합니다. 지시서는 모델이 읽고 넘길 수 있습니다. 저희는 같은 문장을 스킬 문서에 적어 두고도 지켜지지 않는 것을 보고, 훅으로 옮겨 모델의 판단과 무관하게 매번 주입되게 했습니다. 검증과 통제는 실행 계층으로 내려야 해결됩니다.
출처
- Kernel Academy 운영 기록, 세법자문 스킬 · 2026-08-04 실사용 누락 사고와 그 원인 분석, 도구 사실관계표, 5축 검토·게이트가 스킬 문서에 기록돼 있다
- Kernel Academy 운영 기록, tax-source-guard 훅 · 2026-08-11 도입 · 세법 쟁점 프롬프트에 근거 규약을 자동 주입한다. 스킬 문구가 지켜지지 않아 실행 계층으로 옮긴 것
- 국세청 예규 본문 API 부재 확인 · 2026-08-05 확인 · 법제처 미제공, 국세청 OpenAPI 는 사업자등록 확인용. 근거 등급 체계를 둔 이유
- Anthropic, AI의 역량과 한계 · 확인일 2026-08-28 · 네 속성은 모델 수준의 분류다. 이 글이 다루는 실패는 그 바깥에 있다