LLM 어플리케이션에서 RAG대신 agent를 사용해야하는 이유

자체 솔루션을 만들거나, LLM이 특정 문맥이나 환경 안에서만 답변을 생성하기 원할 때, RAG를 활용해서 context를 제공합니다. 요즘 LLM 어플리케이션을 사용중이라 RAG를 어떻게 사용하면 좋을지 많은 고민을 하고 있는중에, agnet를 사용하는 편이 더 좋다는 마이크로소프트 블로그 글을 발견해서 공유드립니다.


작년 말에 OpenAI DevDay에서는 "RAG를 활용해서 원하는 답변을 받아라"라는 내용의 영상이 있어서 해당 영상도 커리어리에 공유한 적이 있습니다. 요약하자면 RAG대신 function calling을 활용하는 agent를 사용하라는 건데요. function calling은 말 그대로 별도의 함수를 선언해두고, 경우에 따라 해당 함수를 실행시켜서 LLM을 활용하는 방법입니다.


저자의 말에 따르면 RAG는 아래와 같은 한계가 있습니다:

  • 검색 과정이 생성 모델의 요구와 항상 일치하지 않아 관련 없는 정보를 사용할 수 있음

    • 세종대왕 맥북 사건으로 유명한 할루시네이션이 여기에 해당합니다

  • 생성 모델의 피드백을 바탕으로 동적으로 검색을 개선할 메커니즘이 없음

  • 검색된 컨텍스트는 고정되어 있어 추가적인 연구가 필요한 경우 확장할 수 없음

  • RAG는 다단계 연구를 수행할 수 없어, 중간 결과에 기반한 검색의 적응과 개선이 제한됨


대신 agnet를 활용하면 아래와 같은 장점이 있다고 합니다:

  • 자율적으로 검색을 결정하고, 결과를 평가한 후 응답하기 전에 추가 정보가 필요한지 결정할 수 있음

  • 에이전트의 페르소나, 목표 및 사용할 도구와 검색 쿼리 매개변수를 정의하여 효율 개선

  • 대화의 맥락과 필요에 따라 자율적으로 실행 및 검색 전략을 개선할 수 있는 함수 호출 흐름 구현


function calling이 powerful하다는 글은 많이 봤는데, RAG를 사용하지 말라는 의견은 처음입니다. 만약 agent를 운영 환경에서 사용하게 된다면 경험을 공유드리겠습니다. 자세한 내용은 아래 링크를 참고해주세요!


https://medium.com/data-science-at-microsoft/forget-rag-embrace-agent-design-for-a-more-intelligent-grounded-chatgpt-6c562d903c61

Forget RAG: Embrace agent design for a more intelligent grounded ChatGPT!

Medium

Forget RAG: Embrace agent design for a more intelligent grounded ChatGPT!

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 2월 5일 오전 11:05

 • 

저장 7조회 2,170

댓글 0

    함께 읽은 게시물

    개발자 교양 팟캐스트

    A

    ... 더 보기

    [DZone] 2024년 클라우드 보안 환경 이해

    ... 더 보기

    Understanding the 2024 Cloud Security Landscape - DZone

    dzone.com

    Understanding the 2024 Cloud Security Landscape - DZone

    서버엔지니어의 시대적 고민

    ... 더 보기


    Next.js 프로젝트를 AWS EKS에 배포하며 배운 것들

    ... 더 보기

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

    product.kyobobook.co.kr

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

     • 

    저장 5 • 조회 975


    토요일에 회사에서

    

    ... 더 보기