포스팅 개요
최근 에이전트(Agent)라는 용어가 많이 들리고 있습니다. AI Agent 형태의 서비스와 개발 방법론 등이 많이 나오고 있는데요. 본 포스팅은 이러한 인공지능 에이전트(AI Agent)에 대해서 정리하는 문서입니다. 이때, Galileo에서 제공해준 Mastering AI Agents 라는 자료를 기반으로 AI Agent란 무엇이며, 검색 증강 생성(Retrieval Augmented Generation, RAG)와 AI Agent의 차이점은 무엇인지, AI Agent에는 어떠한 종류와 방법론이 있는지, 어떨 때 AI Agent를 써야하는지, AI Agent르 지원해주는 라이브러리는 무엇이 있는지 등을 정리하겠습니다.
본 포스팅에서 참고한 Mastering AI Agent 자료는 아래와 같습니다.
- Mastering AI Agents: https://www.galileo.ai/ebook-mastering-agents
Mastering Agents - Galileo AI
A comprehensive guide for evaluating AI agents
www.galileo.ai
포스팅 본문
본 포스팅에서는 AI Agent에 대해서 아래와 같은 순서로 AI Agent에 대해서 소개해볼까 합니다.
- AI Agent란 무엇인가? AI Agent를 왜 사용하는가?
- 검색 증강 생성(Retrieval Augmented Generation, RAG)와 AI Agent의 차이점은 무엇인가?
- AI Agent에는 어떠한 종류와 방법론이 있는가?
- 언제 AI Agent를 써야하는가? 그리고 어떨 때 필요 없는가?
- AI Agent를 지원해주는 라이브러리는 무엇이 있는가?
그럼 하나씩 내용을 정리해보도록 하겠습니다.
1. AI Agent란 무엇인가? AI Agent를 왜 사용하는가?
Mastering AI Agent에서는 AI Agent에 대해서 "AI 에이전트는 대규모 언어 모델(LLM)을 활용하는 소프트웨어 애플리케이션(software application)"이라고 설명합니다. 즉, AI Agent가 단순한 프로그램이 아니라, LLM을 활용하여 동작함을 의미하는데요. 사용자의 질문에 대한 답변부터 시작하여 다양한 백엔드 서비스 처리까지 특정 작업을 자발적(Autonomous, 스스로)으로 수행하는 software application이라고 볼 수 있습니다.
이러한 AI 에이전트는 복잡한 의사 걸졍(Complex decision making)이나, 자율성(Autonomy), 적응성(Adaptability)이 요구되는 작업에서 매우 유용하다고 합니다. 단순한 환경보다는 변화가 많은 환경(Dynamic environment)에서 유용하고 효과적이라는 것인데요. 업무 흐름이 여러 단계로 구성되거나(workflow involves multiple steps) 자동화의 이점을 받을 수 있는 상호작용(interaction)이 포함된 환경(상호작용이 많아 자동화가 필요한 영역)에서 효과적이라는 것입니다.
예를 들어서, 본 원서에서는 세일즈포스(Salesforce)에 따르면 영업 담당자는 업무 시간의 71%를 비영업 업무에 사용한다고 말합니다. 행정 업무나 데이터 수동 입력(manually entering data)과 같은 작업이죠. 만약, AI 에이전트가 이러한 비영업 업무를 대신 처리할 수 있다면 고객과 소통하고, 관계를 구축하는데 시간을 더 사용하게 될 것이고 궁극적으로 더 많은 판매를 성사시키는 데 기여할 수 있을 것이라고 말합니다.
또 다른 예시를 하나 더 들어주는데요. 만약 우리가 온라인 리테일 비즈니스를 운영하고 있고 매일 수백 건의 고객 문의를 받는다고 했을 때( 주문 사태나, 제품 정보나, 배송 정보 등) AI Agent는 고객이 '내 주문은 언제 배송되는가?'에 대한 질문에 대해서 주문 관리 시스템에 접근하여 주문 정보를 찾고, 검색된 정보를 기반으로 AI Agent는 고객에게 자동으로 업데이트 정보를 제공하면서 이메일을 보내는 등 후속 업무까지 수행할 수 있는 것이죠.
2. 검색 증강 생성(Retrieval Augmented Generation, RAG)와 AI Agent의 차이점은 무엇인가?
그렇다면, RAG와 AI Agent의 차이점은 무엇일까요? 언뜻보면 비슷한 두 개념이지만, RAG와 AI Agent는 차이점이 분명히 존재합니다.
Masgering AI Agent에서는 다음과 같이 RAG와 AI Agent의 차이점을 언급하고 있습니다.
" RAG 시스템은 LLM을 도와서 주어진 문맥을 기반으로 정확한 답변을 제공하도록 노력합니다. 그러나, AI Agent는 그 답변을 받아서 실제로 무언가를 수행합니다. 결정을 내리고(decision making), 작업을 실행하며(execute task), 목표 달성을 위해 여러 단계를 조율하기도 합니다."
즉, RAG를 활용한다면 LLM은 보험 정책과 같은 세부적인 대한 질문에 답변을 할 수 있는 것이죠. 하지만, AI Agent를 사용하다면 보험 창구를 end-to-end로 처리할 수 있다는 것입니다. 스스로 문서를 분석하고, 정책 준수를 확인하며, 지급액을 계산하기도 하는 것이죠. 그리고 필요할 경우에는 다른 AI Agent와 협력하기도 할 것입니다. 그러면서 AI Agent는 사전에 정의된 규칙 없이 context를 이해하는 능력과, context에 따라 결정을 조정하며, 다양한 상호작용에서 학습하는 능력을 얻게 된 것이 지금의 AI Agent라고 말할 수 있겠습니다.
이렇게 수행되는 AI Agent는 단순히 규칙(rule)로 동작되는 단순한 봇(bot)이 아닌 것이죠. 스스로 결정을 내릴 수 있는 시스템이라는 것입니다.
다음 표는 RAG와 AI Agent에 대해서 차이점을 정리한 내용입니다.
구분 | RAG(Retrieval-Augmented Generation) | AI Agent |
정의 | 외부 DataBase와 같은 source data에서 정보를 검색(Retrieve)하여 LLM의 응답을 강화하는 방식 |
LLM을 활용하여 의사 결정을 내리고, 작업을 실행하며, multi-step 프로세스를 조율하는 시스템 |
역할 | - 사용자 입력이 들어오면 적절한 문서를 검색하고 이를 기반으로 정확한 답변을 생성 - 최신 정보 반영, 문서 검색 및 요약 |
- 검색된 정보를 활용해 실제 행동을 수행하고, 여러 작업을 연계하여 실행 - 자동화된 작업 수행, 의사 결정 지원 - 상호작용 기반 문제 해결 |
작동 방식 | 1. 사용자의 질문을 분석 2. Database 등에서 관련 문서를 검색(검색하는 과정에서 re-ranking이나 다양한 retrieve 방법이 활용) 3. 검색된 정보를 기반으로 LLM이 답변 생성 |
1. 입력 분석 및 정보 수집 2. 의사 결정 및 계획 수립 3. 실행 가능한 액션 수행(또는 사용자와 상호작용) 4. 결과 조율 및 응답 |
주요 사례 | - 법률 문서, 정책 문서 등에서 정확한 답변 제공 - 기술 문서 검색 및 응답 - 내부 DB 기반의 고객 서비스 |
- 챗봇과 대화 후 실제 예약 진행 - AI 자동화 워크플로우 |
장점 및 한계점 | - 최산 정보 반영 가능 - 문맥적 일관성 강화 - 검색된 문서 품질에 성능이 좌우됨 - 검색과 생성이 따로 최적화 |
- 다양한 환경에서 활용 가능하고, 지속적 학습 및 적응 가능 - 반복적 작업을 자동화 - 복잡한 의사결정에 있어 오류 발생 가능 (시스템 복잡도) - 신뢰성(정확한 정보 제공)과 보안 이슈 |
3. AI Agent에는 어떠한 종류와 방법론이 있는가?
AI Agent라고 해서 다 똑같은 Agent가 아닙니다. 마치, RAG에도 Naive RAG와, Advanced RAG, Modular RAG 등 다양한 기법이 있고 검색에서도 Pre-retrieval, Post-retrieval, Re-ranking 등 다양한 검색 방법이 있는 것처럼 말이죠.
Mastering AI Agent에서는 에이전트와 주요 특징을 아래와 같이 제공하고 있습니다.
Agent 이름 | Agent의 주요 특징 | 예시 |
Fixed Automation Agent | Intelligence가 없으며, 행동을 예측하지만, 범위가 한정적 |
RPA, basic scripts |
LLM-Enhanced: Smarter, but not Einstein | 컨텍스트 기반으로 동작되고, rule에 제약되어 있으며, state 관리는 없는 방법 |
Email filger, content moderation |
ReAct: Reasoning Meets Action | Multi-step workflows, 동적 계획(dynamic planing) 가능, basic problem-solving |
Travel planners, project planning tools |
ReAct + RAG: Grounded Intelligence | 외부 지식(Exteral knowledge)에 접근, 할루시네이션(hallucination)이 적음, real-time data가 가능 |
Legal research tools, medical assistants, technical support |
Tool-Enhanced: The Multi-Taskers | 여러 개의 툴(multi-tool)을 활용하고, dynamic execution, 수준있는 자동화(high automation) |
Code generation tools, data analysis bot |
Self-Reflecting: The Philosophers | 메타 인지(Meta-cognition, 설명 가능성(explainability), self-improvement |
QA Agent |
Memory-Enhanced: The Personalized Powerhouses | Long-term memory, 개인화(Personalization), 적응형 학습(Adaptive learning) |
AI personalized assistants |
본 자료에서 소개하는 각 Agent 특징마다 workflow는 아래 그림과 같습니다. (노란색으로 칠해진 것은 제가 읽을 때 칠해놨던 것입니다. 양해 부탁드립니다.)
Agent 이름 | 사진 |
Fixed Automation Agent | ![]() |
LLM-Enhanced: Smarter, but not Einstein | ![]() |
ReAct: Reasoning Meets Action | ![]() |
ReAct + RAG: Grounded Intelligence | ![]() |
Tool-Enhanced: The Multi-Taskers | ![]() |
Self-Reflecting: The Philosophers | ![]() |
Memory-Enhanced: The Personalized Powerhouses | ![]() |
4. 언제 AI Agent를 써야하는가? 그리고 어떨 때 필요 없는가?
그렇다고 무조건 Agent가 좋은 것은 아닙니다. 본 자료에서도 마찬가지로 언제 Agent를 써야하는지, 쓸 필요가 없는지 구분을 해놨는데요. 각 설명은 다음과 같습니다.
4-1. Agent가 필요할 때
- 복잡한 의사 결정이나, 자율성, 그리고 적응형이 필요한 작업일 때, 혹은 이러한 업무가 필요할 때 에이전트가 필요하다
- AI 에이전트는 업무 흐름이 동적(Dynamic)인 환경에서 특히 뛰어남. 여러 단계의 프로세스나, interaction이 포함된 경우
- 고객 지원으로 요청 사항을 다루거나, 실시간(real-time)으로 도움을 제공하는 것 등에서 활용될 수 있음
- 데이터를 분석하고 조사를 수행하는 것에서도 사용될 수 있음. 데이터 수집이나, 처리(processing), 분석과 같은 업무를 수행
- 교육(Education)에서도 활용. 개인화된 학습 경험을 제공할 수 있음
4-2. Agent가 필요하지 않을 때
반대로 Agent가 필요하지 않을 경우는 아래와 같다고 설명하고 있습니다.
- 단순한 작업이거나, 자주 발생하지 않은(occur infrequently), 최소한의 자동화만 필요한 경우에는 기존 소프트웨어로도 충분히 처리할 수 있으므로 AI Agent의 복잡성을 도입할 필요가 없음
- 전문 지식이 필요한 경우 즉, 특정 도메인에 대한 깊은 지식이나 전문성을 요구하는 경우(복잡한 법률 분석, 정밀한 의료 진단 등)에는 풍부한 전문가가 처리하는 것이 바람직함
- 인간적인 요소가 중요한 경우 즉, 심리 치료, 상담, 창작 등과 같은 경우에는 AI Agent보다 사람이 하는게 좋다
- 비용 및 규제 이슈가 있을 경우에는 AI 에이전트는 시간, 자원, 전문성이 필요하기에 제한성이 있을 수 있음
4-3. AI Agent를 고려하기 위한 10개의 질문
그리고 AI Agent를 고려하기 위해서 아래 10개의 질문을 활용해 질문에 대한 답을 유도해보면서 Agent가 필요한 지 검토하는데 참고하도록 자료를 제공해주었습니다.
질문 | 내용 |
1. 작업의 복잡도 | 작업이 단순하고 반복적인가? 아니면 복잡한 의사 결정이 포함되어 있는가? |
2. 작업의 발생 빈도 | 해당 작업이 자주 발생해기에, 자동화가 시간 및 자원 절약에 도움이 되는가? 투자 대비 효과는 어떠한가? |
3. 데이터 처리 또는 요청량이 얼마나 되는가? | AI 에이전트가 대량의 데이터를 처리해야 하는가? 속도와 효율성이 중요한가? |
4. 작업이 변화에 적응(Adaptability)해야 하는가? | 작업을 수행하는 조건이 지속적으로 변하며, 이를 유연하게 대응해야 하는가? 자주 변화하고 즉각적인 적응이 필요하다면, AI 에이전트가 강력한 도구가 될 수 있음 |
5. 시간이 지남에 따라 학습과 진화(evolving)를 통해 얻는 이점이 있는가? | AI 시스템이 상호작용을 통해 학습하고 시간이 지남에 따라 더 나은 결과를 제공할 수 있는가? |
6. 정확성이 중요한가? | 의료, 금융 등 높은 정확성이 요구되는 환경에서 AI를 신뢰할 수 있는가? 높은 정확성이 유지될 수 있는가? |
7. 인간의 전문성이나 감성 지능이 중요한가? | 깊은 도메인 지식, 인간의 직관, 감성, 공감 등이 요구되는가? |
8. 개인정보 및 보안 고려 사항 | 민감한 정보를 다루며, 강력한 보안이 요구되는가? |
9. 규제 및 법적 요구 사항 | AI 사용이 특정 산업 규제나 법적 제한을 받는가? |
10. 비용 대비 효과 분석 | AI Agent 도입으로 시간 절약, 효율성 증가, 성과 향상이 비용을 초과하는가? |
5. AI Agent를 지원해주는 라이브러리는 무엇이 있는가?
본 자료에서는 AI Agent를 지원해주는 라이브러리에 대해서 소개도 진행해줍니다. 이때, 라이브러리는 LangGraph와 Autogen 그리고 CrewAI에 대해서 소개하며 이 셋을 비교해서 설명합니다.
5-1. LangGraph(https://github.com/langchain-ai/langgraph)
LangGraph는 익히 알고 있는 LangChain 계열의 라이브러리입니다. DAG(Directed Acyclic Graph) 기반의 workflow로 동작되며 상태(stageful) 관리 기능, Multi-actor 기반의 애플리케이션 지원, LangChain과의 통합 등을 지원하는 특징을 가지고 있습니다. workflow 기반의 graph 형태로 설계하기에 다양한 복잡한 task에 활용할 수 있습니다. 즉, 데이터 처리 파이프라인을 그래프 형태로 표현하여 워크플로우를 구성합니다. 이때, 각 노드는 특정 task 또는 Function을 의미합니다.
5-2. Autogen(https://github.com/microsoft/autogen)
Microsoft에서 만든 대화형 기반의 에이전트입니다. 대화형(Conversational) 기반의 에이전트이므로 대화형 인터페이스를 활용할 수 있다는 특징이 있습니다. AI Agent가 마치 대화형 방식으로 상호작용하며, 사용자의 요청사항을 처리합니다. 그 외로 코드 실행과 function calling을 지원하며 모듈화된 커스타미이징 기능을 지원합니다.
5-3. CrewAI(https://github.com/crewAIInc/crewAI)
CrewAI에서 만든 Role-based AI입니다. 즉, 역할 기반의 멀티 에이전트를 구축할 수 있습니다. AI 에이전트에게 특정 역할을 부여하여 자율적인 일종의 팀워크를 형성합니다. 이를 통해, 각 AI 에이전트는 특정 목표를 수행하며, 에이전트간 협업을 통해 작업을 진행합니다.
또한, 본 자료에서는 아래와 같은 질문을 통해 LangGraph와 Autogen, CrewAI를 비교했습니다.
1. 사용 편의성은 어떠한가?
2. 지원하는 Tool이나 Functionalities는 무엇이 있는가?
3. Context를 얼마나 잘 유지하는가?
4. 잘 구조화(Well-Organized) 되어있고 해석이 용이(Easy to Interpret)한가?
5. 공식 문서(Documentation)가 잘 작성되어 있는가?
6. Multi-Agent를 지원하는가?
7. 캐싱 기능(Caching)이 있는가?
등 13개의 질문을 기반으로 비교 분석을 진행합니다. 상세한 내용은 지면상 생략하겠으니, 꼭 참고해서 봐보시길 바랍니다. 예를 들어, 아래 그림과 같이 비교 분석을 수행하였습니다.
마무리
본 포스팅은 Galileo에서 제공해준 Mastering AI Agents 라는 자료를 기반으로 AI Agent란 무엇이며, RAG와 AI Agent의 차이점은 무엇인지, AI Agent에는 어떠한 종류와 방법론이 있는지를 정리한 포스팅입니다.
AI Agent에 대해서 공부하시는 분들께 도움이 되시길 바랍니다.
혹시라도 저에게 연락을 주시고 싶으시다면,
- Linkedin: https://www.linkedin.com/in/lsjsj92/
- 블로그 댓글 또는 방명록
으로 연락 남겨주시길 바랍니다.