Agentic RAG (에이전트 RAG)

6. Agentic RAG (에이전트 RAG)

6.1 Agentic RAG란 무엇인가요?

Agentic RAG는 RAG를 단발 호출이 아니라 행위(behavior)로 확장한 것입니다. AI가 단순히 “검색하고 답변”하는 것이 아니라, 목표를 달성하기 위해 계획 → 검색 → 실행 → 관찰 → 재계획의 사이클을 반복합니다.

일반 RAG를 생각해보면, 사용자가 질문하면 한 번 검색하고, 한 번 생성해서 답변합니다. 끝입니다. 하지만 복잡한 질문은 한 번의 검색으로 답하기 어렵습니다.

예를 들어 “삼성전자와 SK하이닉스의 최근 분기 실적을 비교하고, 반도체 시장 전망을 고려해서 투자 의견을 정리해줘”라는 질문을 생각해봅시다.

이 질문에 답하려면:

  1. 삼성전자 최근 분기 실적 검색
  2. SK하이닉스 최근 분기 실적 검색
  3. 두 회사 실적 비교
  4. 반도체 시장 전망 검색
  5. 전망과 실적을 종합해서 투자 의견 정리

한 번의 검색으로는 불가능합니다. 여러 번 검색하고, 결과를 분석하고, 추가로 필요한 정보를 찾고, 종합해야 합니다. Agentic RAG는 이런 복잡한 작업을 AI가 스스로 계획하고 실행하게 합니다.

6.2 Agentic RAG의 동작 방식

Agentic RAG의 핵심 사이클은 **계획(Plan) → 검색/실행(Execute) → 관찰(Observe) → 재계획(Replan)**입니다.

계획(Plan): AI는 먼저 주어진 목표를 달성하기 위해 무엇을 해야 하는지 계획을 세웁니다.

예: “삼성전자와 SK하이닉스 실적 비교”라는 목표

  • Step 1: 삼성전자 2024년 3분기 실적 검색
  • Step 2: SK하이닉스 2024년 3분기 실적 검색
  • Step 3: 두 실적 비교 분석
  • Step 4: 결과 정리

실행(Execute): 계획의 각 단계를 실행합니다. 검색, API 호출, 계산, 코드 실행 등 다양한 도구를 사용할 수 있습니다.

예: Step 1 실행 – “삼성전자 2024년 3분기 실적” 웹 검색

관찰(Observe): 실행 결과를 관찰하고 평가합니다. 원하는 정보를 얻었는지, 추가 작업이 필요한지 판단합니다.

예: 검색 결과 확인 – “삼성전자 영업이익 10조원, 매출 79조원… 원하는 정보를 얻었다.”

재계획(Replan): 관찰 결과에 따라 계획을 수정합니다. 정보가 부족하면 추가 검색을, 예상과 다른 결과가 나오면 다른 접근을 시도합니다.

예: “영업이익은 찾았는데 반도체 부문 실적만 따로 없네. 추가 검색 필요.”

  • 수정된 Step 1-2: “삼성전자 반도체 부문 2024년 3분기 실적” 검색

이 사이클을 목표가 달성될 때까지 반복합니다.

6.3 Agentic RAG가 적합한 작업

Agentic RAG는 다음과 같은 복잡한 작업에 적합합니다:

리서치 에이전트: “AI 스타트업 투자 동향을 조사해줘”처럼 여러 소스를 검색하고 종합해야 하는 리서치 작업.

분석봇: “우리 제품과 경쟁사 제품을 비교 분석해줘”처럼 여러 정보를 수집하고 분석해야 하는 작업.

자동 보고서 생성: “이번 달 마케팅 성과 보고서를 만들어줘”처럼 데이터를 수집하고, 분석하고, 문서로 정리하는 작업.

멀티스텝 문제 해결: “이 버그의 원인을 찾고 해결책을 제시해줘”처럼 여러 단계의 탐색과 추론이 필요한 작업.

6.4 Agentic RAG의 핵심 과제: 비용과 지연 관리

Agentic RAG의 가장 큰 과제는 비용과 지연 시간 관리입니다.

에이전트가 목표를 달성하기 위해 계속 검색하고, LLM을 호출하고, 도구를 사용합니다. 이 과정에서:

  • LLM API 호출 비용이 누적됩니다. 계획, 실행, 관찰 각 단계마다 LLM을 호출할 수 있습니다.
  • 검색 API 호출 비용이 누적됩니다.
  • 응답 시간이 길어집니다. 일반 RAG가 몇 초 만에 답한다면, Agentic RAG는 복잡한 작업에 몇 분이 걸릴 수 있습니다.

따라서 Agentic RAG를 구현할 때는 반드시 **제한(limit)**을 둬야 합니다:

  • 최대 반복 횟수: “10번 넘게 시도하면 중단”
  • 최대 검색 횟수: “검색은 총 5번까지만”
  • 최대 시간: “2분 안에 끝내지 못하면 중간 결과라도 반환”
  • 최대 비용: “API 호출 비용이 $1을 넘으면 중단”

또한 사용자에게 진행 상황을 보여주는 것이 좋습니다. “현재 삼성전자 실적 검색 중…” 같은 메시지를 보여주면, 사용자가 긴 대기 시간을 이해하고 기다릴 수 있습니다.

6.5 Agentic RAG의 장단점

장점:

  • 복잡한 작업을 자율적으로 처리할 수 있습니다.
  • 유연하게 상황에 대응합니다. 한 방법이 안 되면 다른 방법을 시도합니다.
  • 다양한 도구를 조합해서 사용할 수 있습니다.

단점:

  • 비용과 시간이 많이 듭니다.
  • 결과를 예측하기 어렵습니다. 같은 질문에도 다른 경로로 답을 찾을 수 있습니다.
  • 무한 루프에 빠질 위험이 있습니다.
  • 구현과 디버깅이 복잡합니다.

댓글 남기기