9.3 KiB
9.3 KiB
RAG (Retrieval-Augmented Generation)
📌 Brief Summary
RAG(Retrieval-Augmented Generation)는 AI 모델이 텍스트를 생성하기 전에 신뢰할 수 있는 외부 지식 기반이나 데이터 소스에서 관련 정보를 검색하여 프롬프트를 증강하는 기술입니다. 에이전트 시스템에서는 환각(hallucination)을 크게 줄이고 답변을 사실적 정보로 보강하는 역할을 합니다. 현대의 에이전트 하네스 엔지니어링(Agent Harness Engineering) 맥락에서는 RAG가 단순한 전처리 단계를 넘어, 에이전트가 자율적으로 필요할 때 정보를 점진적으로 가져오는 동적인 도구 호출(Tool Call) 및 컨텍스트 관리 전략으로 진화하고 있습니다.
📖 Core Content
- 수동적 검색에서 자율적 도구 호출로의 진화 (Agentic RAG): 과거의 RAG는 사용자 쿼리를 기반으로 문서 전체를 한 번에 주입하는 정보 검색 컴포넌트에 가까웠습니다. 그러나 에이전트 환경(예: A-RAG)에서는 RAG를 하네스 도구 설계 문제로 재구성합니다. 검색된 문서를 파이프라인 시작 시점에 일괄 주입하는 대신, 하네스는 키워드 검색, 의미론적 검색, 청크 읽기 등의 검색 도구를 에이전트에게 노출하여, 에이전트가 각 추론 단계에서 필요한 정보만 점진적이고 능동적으로 가져오도록 설계합니다.
- 검색 증강 컨텍스트 관리 (Retrieval-Augmented Context Management): 장기 실행(Long-horizon) 에이전트를 위한 지배적인 컨텍스트 관리 접근법입니다. 하네스는 에이전트의 전체 상호작용 기록을 요약하여 발생할 수 있는 정보 손실을 방지하기 위해, 모든 상호작용을 저장하고 각 단계에서 관련된 하위 집합(subset)만을 검색해 컨텍스트 윈도우에 주입합니다. 하네스는 문서의 단순 저장을 넘어 압축 및 추출 과정을 분리하는 파이프라인(예: Haystack 프레임워크 등)을 통해 에이전트의 인지 부하를 줄입니다.
- 그래프 구조와의 결합 (GraphRAG): 기본적인 RAG(Baseline RAG)는 여러 정보 조각의 공통 속성을 가로질러 점들을 연결해야 하는 복잡한 질문에 답하거나, 대규모 데이터에서 요약된 의미론적 개념을 전체적으로 이해하는 데 한계를 보입니다. 이를 해결하기 위해 최신 하네스 설계에서는 의미론적 회상(Semantic recall)을 위한 벡터 검색과 관계 추론을 위한 그래프 탐색(Graph traversal), 그리고 진실 데이터를 위한 구조화된 쿼리(SQL/API)를 결합하여 사용합니다.
- MCP와의 상호 보완적 역할: RAG가 정보의 '수동적 검색(Passive Retrieval)'을 통해 텍스트 생성 전 사실적 정확성을 높이는 데 주력한다면, MCP(Model Context Protocol)는 에이전트가 외부 시스템에서 작업을 '실행(Action)'하고 동적으로 양방향 상호작용을 할 수 있도록 하는 표준입니다. 하네스는 이 두 가지를 결합하여 정보 검색과 작업 실행 능력을 모두 갖춘 에이전트 인프라를 구축합니다.
⚖️ Trade-offs & Caveats
- 검색 지연 시간의 누적 (Retrieval Latency Injection): 장기 실행 작업의 경우 매 단계마다 모델 추론 전 저장된 기록에 대한 검색 쿼리가 필요합니다. 대규모 벡터 데이터베이스의 콜드 스타트나 시맨틱 검색 지연 시간이 선형적으로 누적되면 전체 작업 시간에 심각한 오버헤드를 발생시킵니다. 하네스는 인덱스 예열(pre-warming)이나 중복 쿼리 방지 캐싱을 통해 이를 관리해야 합니다.
- 적대적 콘텐츠에 의한 검색 게임화 (Retrieval Gaming by Adversarial Content): 에이전트의 저장소에 외부 콘텐츠가 주입될 수 있는 경우, 공격자는 향후 검색 쿼리와 의미론적 유사성을 극대화하도록 조작된 콘텐츠를 삽입할 수 있습니다. 이는 에이전트의 결정적인 작업 순간에 악의적 지시문이 최우선으로 검색되게 만듭니다. 이를 방지하려면 하네스는 의미론적 유사성뿐만 아니라 정보 출처(Provenance)의 신뢰도에 따른 가중치를 부여해야 합니다.
- 토큰 비용 절감 vs 검색 품질 분산 (Token Cost vs Retrieval Variance): 초장기 컨텍스트(Ultra-long-context) 모델에 모든 데이터를 그대로 주입하는 방식은 충실도(Fidelity)는 높으나 막대한 토큰 비용이 발생합니다. 반면 RAG는 토큰 비용을 크게 줄이는 대신 쿼리 공식화(Query formulation)와 검색 알고리즘의 품질에 에이전트의 성능이 극도로 의존하게 되는 위험을 안고 있습니다.
🔗 Knowledge Connections
Related Concepts
[관계 유형 A: 아키텍처/기반 기술]
- Context Engineering
- 연결 이유: RAG는 에이전트의 제한된 컨텍스트 윈도우에 필요한 정보만을 선별하여 주입하기 위한 핵심적인 컨텍스트 엔지니어링 전략입니다.
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 하네스가 에이전트의 토큰 예산을 어떻게 관리하고, 무분별한 컨텍스트 부패(Context Rot)를 막기 위해 검색된 데이터를 언제 어떻게 주입하는지 이해할 수 있습니다.
- Agentic Search
- 연결 이유: 고정된 RAG 파이프라인에서 벗어나, 에이전트가 직접 다단계 검색을 계획하고 실행하는 능동적 검색 과정입니다.
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: RAG가 단순 전처리 과정이 아니라, 에이전트 하네스의 실행 루프(Execution Loop) 내에서 도구 호출(Tool Call) 형태로 통합되는 방식을 파악할 수 있습니다.
[관계 유형 B: 구현/활용 도구]
- Model Context Protocol (MCP)
- 연결 이유: RAG가 주로 지식 기반에서 데이터를 '검색'하는 목적이라면, MCP는 에이전트가 외부 시스템과 데이터를 주고받거나 '작업을 수행'하기 위한 양방향 프로토콜 통신 표준입니다.
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 에이전트 하네스에서 정보 검색(RAG)과 외부 환경에 대한 시스템 통합/실행(MCP)이 각각 어떤 경계를 가지고 상호작용하는지 명확히 구분할 수 있습니다.
Deeper Research Questions
- 에이전트가 자체적으로 생성한 장기 상호작용 기록을 RAG로 검색할 때, 하네스는 모델의 현재 정보 요구를 정확히 반영하기 위해 쿼리 공식화(Query Formulation)를 모델에 위임할 것인가, 아니면 자체적인 정책으로 제어할 것인가?
- 악의적인 데이터가 검색을 통해 에이전트의 컨텍스트 윈도우에 주입되는 '검색 게임화(Retrieval Gaming)'를 방어하기 위해, 하네스는 출처 기반(Provenance-weighted) 검색 아키텍처를 어떻게 구현해야 하는가?
- 수백만 토큰의 컨텍스트 윈도우를 지원하는 모델(Long-context models)의 등장 상황에서, RAG 기반 하네스는 검색 지연 시간 오버헤드와 장문 컨텍스트 직접 주입의 컴퓨팅 비용 간의 트레이드오프를 어떻게 최적화해야 하는가?
- 검색(Retrieval) 행위가 에이전트의 추론 흐름을 방해하지 않고 독립적으로 작동하도록 서브 에이전트(Subagent)에게 RAG 역할을 위임하는 오케스트레이션 설계는 시스템 안정성에 어떠한 영향을 미치는가?
Practical Application Contexts
- Implementation: 방대한 문서 저장소나 지식 기반 위에서 작동하는 에이전트를 구축할 때, Haystack과 같은 데이터 파이프라인 프레임워크나 벡터 데이터베이스를 하네스의 RAG 컴포넌트로 통합하여 구축합니다.
- System Design: 에이전트의 실행 루프 내에서, RAG를 정적인 파이프라인이 아닌 키워드 검색, 의미론적 검색 도구 등의 집합으로 추상화하여 모델이 필요에 맞게 능동적으로 도구(Tool)를 호출하도록 설계합니다.
- Operation / Maintenance: 운영 환경에서는 RAG 검색 시 발생하는 지연 시간(Latency)이 전체 에이전트 작업 시간에 미치는 영향을 모니터링하고, 검색 인덱스 예열(Pre-warming) 및 검색 결과 캐싱 최적화를 지속적으로 관리해야 합니다.
- Learning Path: 기본 RAG 파이프라인 메커니즘 학습 ➔ 지식 그래프를 활용한 GraphRAG 접근법 이해 ➔ 에이전트가 스스로 검색을 제어하는 에이전틱 RAG(Agentic RAG) 설계 패턴으로의 확장.
- My Project Relevance: 엔터프라이즈 사내 지식 기반 챗봇이나 복잡한 코드베이스를 탐색하는 자율 코딩 에이전트(Autonomous Coding Agent)를 설계할 때, 장기 메모리 소실을 막고 정확한 참조 데이터를 제공하기 위해 하네스 층위에 RAG 메커니즘을 내재화하는 데 핵심적으로 활용됩니다.
Adjacent Topics
- GraphRAG
- 확장 방향: 단순한 벡터 유사도 검색의 한계를 극복하고, 복잡한 문서 간의 관계를 매핑하여 다단계(Multi-hop) 추론을 가능하게 하는 지식 그래프 기반의 검색 증강 모델로 이해를 확장합니다.
Last updated: 2026-05-01