엔터프라이즈 LLM 서비스 구축기 1: 컨텍스트 엔지니어링 (새 탭에서 열림)

대규모 엔터프라이즈 환경에서 LLM 서비스를 구축할 때는 정교한 지시어(프롬프트 엔지니어링)보다 AI에게 필요한 정보만 선별해 제공하는 '컨텍스트 엔지니어링'이 더욱 중요합니다. LY Corporation은 260개가 넘는 API와 방대한 문서를 다루는 클라우드 AI 어시스턴트를 개발하며, 컨텍스트의 양이 늘어날수록 모델의 추론 성능이 하락하고 환각 현상이 발생하는 문제를 확인했습니다. 이를 해결하기 위해 사용자의 의도에 맞춰 필요한 도구와 가이드라인만 실시간으로 주입하는 '점진적 공개' 전략과 시스템 프롬프트의 충돌을 방지하는 '모의 도구 메시지' 기법을 도입하여 성능과 정확도를 동시에 확보했습니다.

컨텍스트 과부하와 성능의 상관관계

  • 정보량과 성능의 반비례: 최신 LLM은 수십만 토큰의 컨텍스트 윈도우를 지원하지만, 입력 길이가 길어질수록 핵심 정보를 찾는 능력이 최대 85%까지 급격히 하락합니다.
  • 노이즈로 인한 판단력 저하: 질문과 유사해 보이지만 실제로는 관계없는 정보(노이즈)가 섞이면 모델이 당당하게 가짜 정보를 생성하는 환각 현상이 빈번해집니다.
  • 토큰 소모 효율성: LLM은 이전 대화를 기억하지 못하는 스테이트리스(stateless) 구조이므로, 대화가 길어지고 API의 JSON 응답이 누적되면 64K 토큰 정도의 용량은 순식간에 소모되어 비용과 성능에 악영향을 줍니다.

도구 선별을 통한 컨텍스트 절약

  • 선별적 로드: 260개의 모든 API 도구를 한 번에 컨텍스트에 올리지 않고, 사용자의 질문에서 제품군(예: Redis, Kubernetes)을 먼저 식별합니다.
  • 도구 최적화: 사용자가 특정 제품에 대해 물을 때만 관련된 소수의 도구(API)만 선별하여 제공함으로써 모델의 인지 부하를 획기적으로 줄입니다.

응답 가이드라인과 점진적 공개 전략

  • 상황별 지침 주입: "리소스 변경 시 UI 안내 우선"과 같이 특정 조건에서만 필요한 운영 지침을 '응답 가이드라인'으로 정의하고, 질문의 성격에 따라 필요한 시점에만 선택적으로 로드합니다.
  • 시스템 프롬프트와 가이드라인의 분리: 모든 상황에 적용되는 '대원칙'은 시스템 프롬프트에, 특정 상황의 '행동 절차'는 가이드라인에 배치하여 관리 효율을 높입니다.

모의 도구 메시지(ToolMessage)를 활용한 환각 방지

  • 프롬프트 충돌 문제: 새로운 가이드라인을 단순히 시스템 프롬프트 뒤에 추가할 경우, 모델이 기존의 대원칙(예: "반드시 검색 결과로만 답변하라")을 무시하고 가이드라인에만 매몰되어 환각을 일으키는 현상이 발생했습니다.
  • 도구 메시지 전략: 가이드라인을 시스템 프롬프트에 넣는 대신, 마치 검색 도구를 실행해서 얻은 결과값인 것처럼 '도구 메시지(ToolMessage)' 형식으로 주입합니다.
  • 전략의 효과: 이 방식을 통해 LLM은 시스템 프롬프트의 대원칙을 준수하면서도, 주입된 가이드라인을 도구로부터 얻은 최신 정보로 인식하여 훨씬 정확하고 일관된 답변을 생성하게 됩니다.

엔터프라이즈 LLM 서비스의 핵심은 모델의 지능을 믿고 모든 데이터를 던져주는 것이 아니라, 모델이 가장 똑똑하게 판단할 수 있도록 최적의 정보만 정교하게 큐레이션하여 전달하는 설계 능력에 있습니다. 특히 복잡한 비즈니스 로직이나 사내 고유 지식을 반영해야 할 때는 시스템 프롬프트를 비대하게 만드는 대신, 도구 메시지나 동적 컨텍스트 주입 기술을 활용해 모델의 판단 체계를 보호하는 것이 실질적인 해결책이 됩니다.