AI VIDEO BRIEFING

AI 에이전트 환각 방지 5가지 코드 기법 — 토큰 절약과 정확도 개선 실전 패턴

AI 에이전트의 환각과 토큰 낭비를 줄이는 다섯 가지 코드 기법을 정리했다. 시맨틱 도구 선택, GraphRAG, 다중 에이전트 검증, 뉴로-심볼릭 가드, 런타임 스티어링을 적용 전후로 비교하며 실전 프로덕션 패턴까지 짚는다.

AI 에이전트 환각을 줄이는 5가지 코드 기법: 프롬프트가 아니라 코드로 잡는다 영상 대표 이미지

핵심 메시지

  • 에이전트 환각의 상당수는 프롬프트가 아니라 코드로 고쳐야 하며, 소개된 다섯 기법은 모두 프롬프트 수정이 아닌 코드 변경이다.
  • 도구가 많을수록 매 호출마다 모든 도구 설명이 컨텍스트에 실려 토큰이 낭비되고 정확도가 떨어진다(도구 29개면 호출당 약 3,000토큰).
  • 시맨틱 도구 선택으로 질의에 맞는 상위 3개 도구만 넣으면 토큰이 수천에서 300 미만으로 줄어든다.
  • 집계·개수 같은 정밀 질의는 벡터 검색(RAG) 대신 그래프 질의(GraphRAG)로 계산된 검증 가능한 답을 얻는다.
  • 다중 에이전트 검증, 코드로 강제하는 뉴로-심볼릭 가드, 런타임 스티어링으로 잘못된 응답을 사용자 도달 전에 잡는다.

쉽게 이해하기

AWS 개발자 애드보킷 엘리자베스 푸엔테스는 오픈소스 Strands 에이전트 프레임워크로 만든 여행 예약 에이전트를 예로 든다. 핵심 전제는 응답할 때마다 들어가고 나오는 토큰에 비용이 들며, 보내는 내용이 과하거나 중요한 것이 빠지면 에이전트가 환각을 시작한다는 것이다. 그래서 제시한 다섯 기법은 모두 프롬프트가 아니라 코드 변경으로 이뤄진다.

첫 번째는 시맨틱 도구 선택이다. 도구 하나의 스키마(이름·설명·파라미터)가 매 호출마다 컨텍스트에 들어가는데, 스키마 하나가 약 170~200토큰이라 29개면 도구 설명만으로 호출당 약 3,000토큰이 소모된다. 벡터 도구 데이터베이스를 만들어 질의별로 가장 관련 있는 3개만 넣으면 토큰이 수천에서 300 미만으로 떨어진다. 대화 이력이 쌓이면 도구를 넣고 빼는 swap으로 필요한 도구만 유지한다.

두 번째는 GraphRAG다. 일반 RAG는 벡터 검색으로 상위 몇 개 청크만 보기 때문에 평균·개수·다중 홉 추론 같은 질의에서 무너지며, 관련 없는 질문에도 무언가를 반환해 추정치를 사실처럼 답한다. 대신 문서로 지식 그래프를 만들고 모델이 Cypher 질의를 작성하게 하면 전체 데이터에 걸쳐 계산된 검증된 답을 얻는다. "남극에 호텔이 몇 개냐"는 질문에도 정직하게 0을 반환한다.

세 번째는 다중 에이전트 검증이다. 단일 에이전트는 도구가 오류를 내도 이를 스스로 합리화해 성공한 것처럼 응답하기 쉽다. Strands의 swarm 클래스로 실행자·검증자·비평가 세 에이전트를 연결하면 핸드오프가 자동으로 관리되어, 조작된 성공 확인을 사용자에게 닿기 전에 걸러낸다.

네 번째와 다섯 번째는 뉴로-심볼릭 가드와 런타임 스티어링이다. 프롬프트 속 규칙은 모델에게 실행할 로직이 아니라 확률적 텍스트라 무시될 수 있으므로, 규칙을 도구 실행 직전에 발동하는 파이썬 훅에 넣어 강제한다(체크인·체크아웃 날짜, 최대 인원, 결제 확인 등). 훅은 전부 차단하는 하드 제약이지만, 소프트 규칙에는 런타임 스티어링을 써서 차단 대신 방향만 조정한다. 예컨대 정원을 넘는 6인 예약을 막는 대신 방 두 개로 나눠 예약을 완료한다. 프로덕션에서는 Amazon Bedrock AgentCore가 같은 원리를 관리형으로 제공한다.

주요 인사이트

  • 프롬프트는 확률적 텍스트라 규칙을 제안처럼 처리하지만, 코드로 넣은 로직은 모델이 회피할 수 없다.
  • 벡터 검색은 관련 없는 질의에도 항상 무언가를 반환하므로, 집계·개수 질의에는 구조화된 그래프 질의가 더 안전하다.
  • 검증을 같은 루프 안에서 하면 자기합리화가 생기므로, 별도 에이전트의 두 번째 의견이 있어야 실패가 표면화된다.
  • 하드 차단과 소프트 스티어링을 구분하면, 규칙 위반 상황에서도 작업을 멈추지 않고 대안으로 완료할 수 있다.
  • 불필요한 컨텍스트를 줄이는 토큰 절약은 곧 정확도 개선으로 이어진다 — 도구가 적게 보일수록 엉뚱한 도구를 고를 확률이 낮아진다.

자주 묻는 질문

소개된 다섯 가지 기법의 공통점은 무엇인가?

모두 프롬프트가 아니라 코드 변경이라는 점이다. 발표자는 각 기법을 코드로 구현해 적용 전과 후를 직접 비교한다.

도구가 많으면 왜 문제가 되나?

매 호출마다 모든 도구 설명이 컨텍스트에 들어가기 때문이다. 도구 하나의 스키마가 약 170~200토큰이라, 29개면 도구 설명만으로 호출당 약 3,000토큰이 소모된다.

RAG 대신 GraphRAG가 필요한 경우는?

평균·개수·다중 홉 추론처럼 정밀한 집계가 필요한 질의다. 벡터 검색은 상위 몇 청크만 보고 추정하지만, 그래프 질의는 전체 데이터에 대해 계산된 검증 가능한 답을 준다.

프롬프트에 규칙을 써도 에이전트가 어기는 이유는?

모델이 프롬프트를 실행해야 할 로직이 아니라 확률적 텍스트로 처리하기 때문이다. 규칙을 파이썬 훅 같은 코드에 넣어야 강제된다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식