토스가 사내 LLM 에이전트를 실전에 투입하며 부딪힌 문제를 다룬다. LLM은 공개 지식은 잘 알지만 회사 내부 맥락(문서·코드·메신저)을 모른다. 이를 해결하기 위해 단순 검색 개선이 아닌 신뢰 가능한 컨텍스트 관리 계층인 Topic 시스템을 설계했다.
핵심 포인트- LLM이 사내 업무를 모르는 근본 이유는 정보가 문서·코드·메신저에 분산돼 최신성과 신뢰도 판단이 불가능하기 때문이다.
- Topic은 출처별 원본 데이터를 공통 단위로 정규화하고, 세분성·충실성·최신성·표준성·일관성·포괄성 6축으로 신뢰도를 평가한다.
- 문서는 제목 계층 보존 분할, 메신저는 스레드 단위 결정 요약, 코드는 심볼 단위 semantic card 생성으로 출처별 처리 방식이 다르다.
- 검증 파이프라인은 미변경 컨텍스트 재검증을 건너뛰고, 규칙 기반 검사 후 필요 시에만 의미 검증을 수행해 비용을 절감한다.
- 에이전트는 단순 검색 결과가 아닌 trusted·disputed·stale_risk 등의 상태와 근거를 함께 받아 판단 근거가 명확해진다.
상세 정리- 문제 정의: LLM은 공개 지식에 능숙하지만, 사내 문서·코드·메신저의 정보가 최신인지·신뢰할 수 있는지 판단하기 어렵다.
- 접근 방향: 단순 검색 개선이 아닌 신뢰 가능한 컨텍스트 관리 계층이 필요하다는 결론에 도달했다.
- Topic 개념: 문서·코드·메신저 원본 데이터를 공통 단위로 정규화하고, 출처·관계·최신성을 함께 관리하는 컨텍스트 단위다.
- Granularity(세분성): 독립적으로 관리할 수 있는 크기로 분할해야 한다.
- Faithfulness(충실성): 원문이 해당 주장을 실제로 뒷받침하는지 검증한다.
- Staleness(최신성): 근거가 현재 시점에도 유효한지 추적한다.
- Canonicality(표준성): 중복된 표현을 올바르게 통합했는지 확인한다.
- Consistency(일관성): 다양한 출처의 설명이 상호 충돌하지 않는지 점검한다.
- Coverage(포괄성): 중요한 근거가 빠지지 않았는지 확인한다.
- 문서 처리: 제목 계층 구조를 보존하며 의미 단위로 분할해 맥락 손실을 최소화한다.
- 메신저 처리: 개별 메시지가 아닌 전체 스레드를 요약하고, 결정의 현재 상태를 명시한다.
- 코드 처리: 심볼 단위로 추출한 후 비즈니스 동작을 설명하는 semantic card를 생성한다.
- 검증 파이프라인: 변경되지 않은 컨텍스트는 재검증을 건너뛰고, 규칙 기반 검사를 먼저 수행한 뒤 필요 시에만 의미 검증을 진행한다.
- 충돌 관리: 컨텍스트 간 충돌은 disputed 상태로 관리하고, 사람의 판단을 별도 기록으로 저장한다.
- 에이전트 출력: trusted·partly_trusted·disputed·stale_risk·insufficient_evidence 상태와 함께 근거를 제공해 에이전트 판단의 투명성을 높인다.
왜 읽나LLM 에이전트에 사내 맥락을 신뢰 있게 주입하는 컨텍스트 계층을 설계하려는 AI 엔지니어·백엔드 개발자에게 실전 아키텍처 레퍼런스.