본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 16. 18:16

팩트 체크 도구: 거짓을 말하는 에이전트에 맞서는 최후의 방어선

요약

LLM 에이전트가 정보를 합성하는 과정에서 발생하는 정밀한 환각 문제를 지적하며, 이를 해결하기 위한 아키텍처적 접근법을 제시합니다. 모델 자체의 개선에 의존하기보다 생성 에이전트와 검증 에이전트를 분리하는 적대적 패턴(adversarial pattern)의 필요성을 강조합니다.

핵심 포인트

  • LLM 에이전트는 권위 있는 말투로 정밀한 수치 오류를 생성하는 구조적 문제를 가짐
  • 모델의 안전장치만으로는 주제나 실행 시점에 따른 품질 변동성을 해결하기 어려움
  • 콘텐츠 생성과 검증의 책임을 분리하는 아키텍처적 대응이 필수적임
  • 적대적 에이전트를 활용한 제어 루프 구축이 신뢰할 수 있는 시스템의 핵심임

Kalceo 기술 시트의 깔끔하고 잘 정돈된 표. 행 내용: "예외적인 도제 학습 보조금, 레벨 5~7: €5,000". 출처: service-public.fr. 한 계약업체가 이 시트를 읽고, 수익성 모델을 구축하며, 도제(apprentice)를 고용하는 것이 실행 가능한지 평가한 뒤 결정을 내립니다.

하지만 2026년 3월 9일, service-public.fr의 양식 F23556을 통해 확인된 실제 요율은 다음과 같습니다:

  • 레벨 5 (BTS, DUT, BUT)의 경우 €4,500
  • 레벨 6 및 7 (Bachelor, Master)의 경우 €2,000

€5,000가 아닙니다. 이 격차는 "석사급 도제를 고용하겠다"와 "아무도 고용하지 않겠다" 사이의 차이를 만들 수 있습니다. 해당 시트는 발행 전에 수정되었습니다. 하지만 애초에 그런 오류를 포함해서는 안 되었습니다.

이것은 단일 사례가 아닙니다. 이는 LLM 에이전트(LLM agents)가 가진 구조적인 문제입니다. 에이전트들은 자신이 부분적으로만 이해하고 있는 주제에 대해 권위 있어 보이는 텍스트를 생성합니다. 그들은 즉흥적으로 만들어내는 것이 아니라 합성(synthesize)합니다. 그리고 그 합성 과정에서 의심을 무력화할 정도의 정밀함으로 보간(interpolate)하고, 반올림하며, 혼동합니다.

이 글에는 세 가지 진행 중인 프로젝트가 반영되었습니다: 사회적 및 환경적 대안을 다루는 건설적 저널리즘 미디어인 Bloomii, 프랑스 건설 계약업체를 위한 규제 준수 B2B SaaS인 Kalceo, 그리고 이 기사의 배경이 된 에이전트 군단(agent-fleet) R&D 프로젝트인 Ekioo. 세 프로젝트 모두 AI 에이전트를 위한 칸반 오케스트레이터(kanban orchestrator)인 KittyClaw를 기반으로 운영됩니다.

문제는 단지 모델만이 아니다

내장된 안전장치(safeguards)는 개선되고 있습니다. 모델 또한 마찬가지입니다. 하지만 2026년 현재, 그것만으로는 아직 충분하지 않습니다. 품질은 뚜렷한 이유 없이 실행할 때마다, 주제마다 달라집니다. 사회 경제에 관한 완벽한 기사를 작성하는 모델이, 다음 날에는 동일한 주제에 대해 부정확한 세금 통계를 생성할 수 있습니다.

"LLM의 모든 출력은 환각 (hallucinations)의 대상이 됩니다. 모델이 개선되고 에이전트 시스템 (agentic systems)에 내장된 안전 장치가 통합되더라도, 현재로서는 그것만으로 충분하지 않습니다. 일부 모델은 편법을 쓰기도 합니다. 그 이유는 때때로 모호합니다. 하루 사이에, 혹은 주제가 바뀜에 따라 모델이 때로는 더 정확하게 답변하기도 합니다."

이에 대한 대응책은 더 나은 모델을 기다리는 것이 아닙니다. 그것은 아키텍처적 (architectural) 대응입니다.

"이것이 바로 책임(responsibilities)을 분리하고, 콘텐츠 생성 자체와는 별개로 실행되는 적대적 에이전트 (adversarial agents)를 생성해야 하는 이유입니다. 각 에이전트는 자신만의 기술, 목표, 메모리, 컨텍스트를 가집니다... 이것이 건강하고 신뢰할 수 있는 제어 루프 (control loops)를 만드는 방법입니다."

한 에이전트는 생성합니다. 다른 에이전트는 별도의 실행 컨텍스트 (execution context)와 상반된 목표를 가지고, 무엇이 타당하지 않은지를 적극적으로 탐색하며 검증합니다. 이것이 적대적 패턴 (adversarial pattern)의 기초입니다. 이는 사후에 추가된 품질 관리 (quality control)가 아니라, 아키텍처적 결정 (architectural decision)입니다.

제1막: 전환점 (2026년 5월 17일, Bloomii)

Bloomii는 사회 및 환경적 대안을 다루는 미디어 매체입니다. 발표되는 모든 수치는 프로젝트의 신뢰성과 직결됩니다. 만약 어떤 기사가 프랑스의 사회적 경제가 실제로는 GDP의 10%를 차지함에도 불구하고 고용의 10%를 차지한다고 주장한다면, 해당 주제를 잘 아는 독자들의 신뢰를 잃게 됩니다.

2026년 5월 2일 자 첫 번째 팩트 체크 보고서는 재생 농업 (regenerative agriculture)에 관한 기사를 차단합니다. 원인은 CIAT의 통계 수치인 "4개 농장 전체에서 78% 더 높은 수익성과 평균 ROI 176%"라는 주장 때문이었습니다. 인용된 페이지는 존재하며, HTTP 200을 반환하고, 재생 농업에 대해 논의하고 있습니다. 하지만 정확한 수치는 본문 어디에도 나타나지 않습니다. 팩트 체커는 이를 검증할 수 없습니다. 그래서 차단합니다.

그 시점에서 팩트 체크는 여전히 임시방편적 (ad hoc)입니다. 2주 후, 모든 것이 변합니다.

5월 17일, Bloomii 리포지토리 (repository)에서:

결정을 촉발한 계기는:

"기사를 교정하는 과정에서 진지한 뉴스 매체로서 용납할 수 없는 생성 오류들이 발견되었습니다. 온라인에서는 신뢰성을 걸고 활동하며, 그 신뢰는 빠르게 침식됩니다. 이는 엄밀함 (rigor)의 문제이며, 검증되지 않은 정보를 전달하는 다른 대략적인 매체들과 차별화되는 논거가 됩니다."

결과는 즉각적입니다. 구체적인 예로, 프랑스의 사회적 연대 경제 (ESS)에 관한 영상 스크립트에는 해당 부문이 "프랑스 **고용 (employment)**의 10%"를 차지한다고 명시되어 있었습니다. 하지만 재무총국 (Direction générale du Trésor)은 그 반대로 말합니다. GDP의 10%이며, 민간 부문 고용의 13.7%라고 말입니다. 이는 서로 다른 것입니다. 스크립트는 발행 전에 수정되었습니다.

입법 제7조에서 제11조를 다루는 X 스레드(threads)에서도 동일한 패턴이 나타났습니다: 참여 수치, 회의 날짜, 투표 결과 등 모든 것이 팩트 체크 도구 (fact-checker)를 거칩니다. 아일랜드 생물 다양성 시민 의회 (Irish Citizens' Assembly on Biodiversity, 2022-2023): 무작위로 선정된 99명의 위원, 헌법 국민투표에 찬성 83%, 2023년 4월 5일 의회에 보고서 제출. citizensassembly.ie를 통해 검증되었습니다.

2026년 5월 2일부터 6월 11일 사이에 축적된 48개의 Bloomii 리포트 (reports) 중 대다수는 수정 사항이 적용된 후 PASS(통과)로 결론지어졌습니다. 그 양이 세부 사항보다 더 많은 것을 말해줍니다: 리포트당 하나의 주제, 리포트당 평균 1~3개의 수정 사항이 발생했으며, 주제는 몬드라곤 협동조합 (Mondragon cooperative)부터 포르투 알레그리 참여 예산 (Porto Alegre participatory budgets) 및 지역 이니셔티브 아틀라스 (local initiative atlas) 항목에 이르기까지 다양했습니다.

제2막: 소스 레지스트리 (Source Registry, 2026년 5월 30일)

전환(pivot) 2주 후, 효율성 문제가 표면화되었습니다. 팩트 체크 도구 (fact-checker)와 소스 조사 에이전트 (source-researcher)가 종종 동일한 소스를 작업하고 있었던 것입니다. 한쪽은 URL을 찾아 검증하고, 다른 한쪽은 그 URL을 열어 주장을 확인합니다. 두 에이전트가 종종 동일한 도메인을 사용하면서 토큰 소비가 두 배로 발생했습니다.

5월 30일, Bloomii 리포지토리 (repository)에서:

chore: add shared source-registry and wire it into fact-checker/source-researcher

소스 레지스트리 (source registry)는 두 에이전트 간에 공유되는 파일인 .agents/knowledge/source-registry.md입니다. 이 파일은 알려진 도메인, 해당 도메인의 액세스 상태 (HTTP 200, 403 anti-bot, timeout), 검증된 폴백 (fallback), 그리고 이미 완료된 검증 사항들을 참조합니다. 예를 들어, 특정 과학 출판사들은 자동화된 요청을 체계적으로 차단합니다. 레지스트리는 검증된 대체 소스를 기록합니다. 어떤 에이전트도 데이터를 가져오려 시도하다가 차단을 발견하거나, 시행착오를 통해 대안을 찾지 않습니다. 대신 레지스트리를 참조하여 대체 소스를 즉시 적용합니다.

이 리소스를 병합하기로 한 결정에 대하여:

"두 개의 서로 다른 에이전트가 동일한 작업을 중복해서 수행하고 있었습니다. 이 리소스를 병합하는 것은 각자의 효율성과 객관성을 해치지 않으면서도, 공유 기반을 구축하는 데 기여하여 토큰 (tokens)을 절약할 수 있게 해주었습니다. 또한, 단순히 잊혀지는 일시적인 작업이 아니라 지속적인 소스 추적성 (traceability)을 가능하게 했습니다."

세 가지 뚜렷한 이점:

토큰 절약 (Token savings). 검증 내용이 캐싱 (cached)됩니다. 한 번 테스트된 도메인은 모든 기사마다 다시 테스트되지 않습니다. 48개의 보고서에 걸쳐 누적된 절약 효과는 상당합니다.

지속적인 추적성 (Lasting traceability). 검증 보고서가 저장소 (repository)에 남습니다. 오늘 검증된 수치는 실행이 끝난 후 사라지지 않습니다. 이는 감사 가능하며, 동일한 주제에 대한 다음 기사에서도 사용할 수 있습니다.

독립성 유지 (Independence preserved). 두 에이전트는 판단 (judgment)이 아닌 소스 레지스트리를 공유합니다. 소스 리서처 (source-researcher)와 팩트 체커 (fact-checker)는 각자의 목표를 향해 계속해서 별도로 작업합니다. 이러한 분리가 바로 대립적 가치 (adversarial value)를 창출하는 핵심입니다. 팩트 체커는 소스 리서처의 추론 과정에 접근할 수 없으며, 그 반대도 마찬가지입니다.

공유 레지스트리는 제어 루프 (control loop)를 희석하는 것이 아니라, 최적화합니다.

워크플로: 티켓에서 판결까지

Fact-checker workflow: from ticket to verdict

제3막: 확장 (2026년 6월)

이 패턴은 긴 형식의 기사를 넘어 확장됩니다. 이는 매체와 상관없이 모든 외부 발신 콘텐츠에 적용됩니다.

Kalceo: 규제 관련 B2B 콘텐츠

Kalceo는 건설 계약업체를 위한 기술 문서(technical sheets)를 제작합니다: 리모델링 작업에 대한 부가가치세 (VAT), 수습생 보조금 (apprenticeship grants), 전자 송장 (electronic invoicing), 미지급 송장 (unpaid invoices) 등이 포함됩니다. 여기서의 리스크는 편집상의 문제가 아니라 법적, 재무적 문제입니다. 수습생 보조금에 관한 잘못된 정보에 따라 행동하는 계약업체는 블로그 포스트 하나를 놓치는 것이 아니라, 2,500유로의 보조금을 놓치게 됩니다.

서두에서 상세히 다룬 수습생 보조금 사례는 전형적인 예시입니다. 하지만 미지급 송장에 관한 또 다른 보고서는 더 미묘한 오류 유형을 보여줍니다.

도입부의 증언은 "Nice 출신의 도장공 Stéphane가 4,000유로를 미납한 고객을 기다리고 있다"라고 설명했습니다. 검증된 출처인 온라인 채권 회수 플랫폼 (GCollect)은 "Nice 출신의 장인 Stéphane"라고 명시했습니다. 직업은 없었습니다. 금액도 언급되지 않았습니다. 해당 구절은 작성자가 불충분한 문맥을 바탕으로 재구성한 것이었습니다. 삭제되었습니다. 해당 보고서 하나에서 총 6개의 수정이 이루어졌습니다: 허구의 직업, 허구의 금액, 잘못된 출처 인용 (FFB/Altares가 EY/Altares/Banque de France로 대체됨), 일반적인 홈페이지 링크가 실제 기사 출처 URL로 대체됨.

3주(2026년 4월 16일 ~ 5월 6일) 동안 12건의 Kalceo 보고서가 작성되었습니다. 주제: 건설 부가가치세 (VAT), 견적 모델, 전자 송장 플랫폼 (공공 송장 포털 (PPF) 및 Chorus Pro와의 관계에 관한 잘못된 용어 식별 포함, 인증된 디지털화 플랫폼 (PDP)의 수치가 112개로 잘못 기재된 점, 검증 불가능한 CAPEB 통계 포함), 미지급 송장, 보조금 및 지원금, 전자 송장 과태료.

Ekioo: 자기 보고 (Self-Reporting)

Ekioo는 자사의 프로젝트 페이지와 소셜 미디어 초안에도 동일한 팩트 체크를 적용합니다.

프로젝트 페이지 측면에서는: VizMail 프로젝트 페이지는 43개의 기능을 주장했습니다. 직접적인 API 검증 (GET /api/skill) 결과, 실제 개수는 38개였습니다. 발표된 기능 중 5개는 존재하지 않았습니다. 자기 보고 (Self-reporting): 해당 기사는 동일한 생태계 내의 제품을 설명하고 있었으며, 숫자가 틀렸던 것입니다.

소셜 미디어 초안 측면에서는: KittyClaw KPI 대시보드를 위해 생성된 LinkedIn 및 X(구 트위터) 초안에 두 가지 오류가 포함되어 있었습니다. 트윗의 "매일 아침"이라는 표현: 원문 기사에는 리뷰가 매일 아침이 아닌 매시간(every hour) 발생한다고 명시되어 있습니다. "11개 템플릿": 기사에는 11개의 타일(tiles)과 7개의 고유한 템플릿(templates)이 있다고 되어 있습니다. 총 6개 라인이 수정되었습니다.

이는 발행 전 마지막 필터입니다. 단순한 숫자 검증기가 아닙니다. 팩트 체크 도구는 YouTube Shorts의 후크(hook)를 검증하고, 스레드(thread)의 객관성과 톤을 확인하며, 선택된 관점의 편향성을 탐지할 수 있습니다. AccountBuildUp 프로젝트는 이 패턴을 한 단계 더 발전시킵니다. 에이전트가 생성된 각 게시물의 주제적 관련성을 참조 코퍼스(reference corpus) 텍스트와 대조하여 확인합니다. image-factory 및 video-factory(다양한 프로젝트를 위해 KittyClaw에 구축된 이미지 및 비디오 제작 파이프라인) 또한 전달 전 체계적인 검증을 포함합니다: 시각적 일관성, 브랜드 정체성 준수, 편집 기준 준수 등입니다. 검증은 별도의 단계가 아니라, 모든 제작 파이프라인에 통합된 레이어(layer)입니다.

일반화 가능한 패턴

8주 동안, 성격이 완전히 다른 세 가지 프로젝트를 통해 61개의 검증 보고서가 생성되었습니다: 소셜 대안을 다루는 미디어 매체(이념적으로 민감한 주제), B2B 규제 SaaS(법적으로 민감한 주제), 그리고 바로 이 시스템을 구축하는 것에 관한 기술 블로그입니다.

여기서 나타나는 패턴은 편집 콘텐츠에만 국한되지 않습니다.

코드 주석에 대한 주장 검증기 (claim-checker on code comments): 함수가 실제로 Y를 반환함에도 불구하고 X를 반환한다고 주장하는 독스트링(docstring)은 문서적 환각(documentary hallucination)입니다. 코드는 변경되어도 문서는 그대로 남아 있습니다. 적대적 에이전트(adversarial agent)가 이 둘을 모두 읽고 차이점을 표시합니다.

랜딩 페이지 팩트 체크 (landing page fact-checker): 상업적 주장(commercial claims)은 전형적인 환각(hallucination) 발생 지점입니다. VizMail 43→38 사례가 이미 그러한 패턴을 보여줍니다. 판매 페이지를 작성하는 에이전트와 실제 기능을 계산하는 에이전트는 동일해서는 안 됩니다.

전략적 전제 감사 (strategic premise audit): 정량화된 결정(quantified decision)을 내리기 전에, 그 근거가 되는 수치들이 정확한지 검증하십시오. 동일한 논리를 상류(upstream) 단계에 적용하는 것입니다.

이 모든 경우에 적용되는 원칙은 동일합니다. 하나의 에이전트가 생성하면, 다른 에이전트가 자신만의 컨텍스트(context)와 목적(objective)을 가지고 별도로 검증합니다. 이는 단순한 중복(redundancy)이 아니라, 제어 루프(control loop)입니다.

AI 스케일링(Scaling)은 검증 또한 함께 스케일링될 때만 유효하다

AI 에이전트를 통해 콘텐츠 생성을 스케일링(scaling)하는 것은 한 가지 문제를 해결하는 동시에 또 다른 문제를 만들어냅니다. 만약 생산량은 10배로 늘어나는데 검증이 수동(manual) 상태로 남아 있다면, 병목 현상(bottleneck)은 생산에서 인간의 검토(human review) 단계로 이동하게 됩니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0