brunch

GPT-4가 스스로 검색하고 판단하게 만들기

ReAct 에이전트 입문

by 위키북스
GPT-4가 스스로 검색하고 판단하게 만들기: ReAct 에이전트 입문


단순히 대답만 하는 AI 챗봇을 넘어, 스스로 목표를 세우고, 계획하며, 도구를 사용해 복잡한 작업을 자율적으로 수행하는 AI 에이전트의 시대가 열렸습니다. 마치 우리를 대신해 일하는 똑똑한 비서처럼 말이죠.


그런데 AI 에이전트는 어떻게 사람처럼 '생각'하고 '행동'하며 문제를 해결할까요? 그 비밀은 바로 ReAct 프레임워크에 있습니다. 오늘은 『LLM과 RAG로 구현하는 AI 애플리케이션』 6장의 내용을 바탕으로, AI에게 생각하는 능력을 부여하는 ReAct의 개념을 알아보고, 여러 개의 지식창고(문서) 중에서 스스로 필요한 것을 찾아 답변하는 AI 에이전트를 직접 만들어 보겠습니다.





AI 에이전트와 ReAct 프레임워크란?

AI 에이전트(AI Agent)란 주어진 환경을 관찰하고, 판단하며, 행동함으로써 특정 목표를 달성하는 AI 시스템을 말합니다. 하지만 복잡한 문제를 해결하려면 단순히 정보를 검색하는 것을 넘어, 다음 행동을 계획하는 '생각'의 과정이 필요합니다.


ReAct는 바로 이 '생각'의 과정을 AI에게 부여하는 방법론입니다. ReAct는 추론(Reasoning)행동(Acting)의 합성어로, LLM이 이 두 가지를 결합하여 문제를 해결하도록 설계되었습니다. 책에서는 ReAct의 작동 방식을 의사의 진단 과정에 비유하여 아주 쉽게 설명합니다.


Thought (생각): "환자가 배가 아프다고 하네. 원인을 정확히 알려면 혈액검사를 해봐야겠다."

Action (행동): 혈액검사라는 '도구'를 사용한다.

Observation (관찰): "혈액검사 결과, 염증 수치가 매우 높게 나왔다."

Thought (다시 생각): "염증 수치는 확인했지만, 어디가 아픈지는 아직 모른다. CT 촬영을 해보자."

Action (다른 행동): CT 촬영이라는 '도구'를 사용한다.

Observation (다시 관찰): "CT 결과, 맹장에 심한 염증이 보인다."

Thought (최종 판단): "혈액검사와 CT 결과를 종합해 보니, 맹장염이 확실하다."


이처럼 ReAct 에이전트는 생각 → 행동 → 관찰의 순환 과정을 반복하며, 마치 사람처럼 단계적으로 문제의 해답에 접근합니다.





실전! 두 개의 지식창고를 가진 AI 에이전트 만들기

이제 『LLM과 RAG로 구현하는 AI 애플리케이션』 6장의 예제를 따라, '미국 ICT 시장동향 보고서'와 '일본 ICT 시장동향 보고서'라는 두 개의 다른 지식창고를 주고, 질문에 따라 알아서 올바른 보고서를 참조하는 AI 에이전트를 만들어 보겠습니다.



1단계: 환경 설정 및 데이터 준비


먼저 실습에 필요한 패키지들을 설치합니다. 이번 실습에서는 허깅페이스의 무료 임베딩 모델을 사용하기 위한 라이브러리도 함께 설치합니다.

Bash
pip install llama-index==0.12 llama-index-embeddings-huggingface==0.4.0 openai==1.79.0


다음으로, 실습에 사용할 PDF 보고서 두 개를 다운로드하고, SimpleDirectoryReader를 이용해 각 문서를 로드합니다.

스크린샷 2025-10-23 164709.png



2단계: AI가 사용할 '도구(Tool)' 정의하기


이제 각 보고서를 AI가 사용할 수 있는 별도의 '검색 도구'로 만들어야 합니다. 책에서는 OpenAI의 유료 임베딩 대신, 성능 좋은 무료 한글 임베딩 모델인 'BAAI/bge-m3'를 사용하는 방법을 알려줍니다.

Screen_Shot_2025-10-14_at_5.46.02_AM.png?type=w966


스크린샷 2025-10-23 164749.png



3단계: AI 에이전트에게 도구 장착시키기


이제 생성된 두 개의 검색 엔진(us_engine, jp_engine)을 AI 에이전트가 사용할 수 있록 QueryEngineTool로 감싸서 등록합니다.

스크린샷 2025-10-23 164831.png


여기서 가장 중요한 것은 description(설명)입니다. AI 에이전트는 오직 이 설명을 보고 어떤 상황에 어떤 도구를 사용해야 할지 판단하기 때문에, 그 역할을 명확하고 상세하게 작성해야 합니다.



4단계: ReAct 에이전트 생성 및 실행


마지막으로, 도구들을 탑재한 ReAct 에이전트를 생성합니다.

스크린샷 2025-10-23 164901.png

verbose=True 옵션을 켜면, 에이전트가 어떤 '생각'을 하고 어떤 '행동'을 하는지 모든 과정을 엿볼 수 있습니다.





AI 에이전트는 어떻게 생각하고 행동할까?

이제 이 똑똑한 AI 에이전트에게 두 보고서를 모두 참조해야만 답할 수 있는 복잡한 질문을 던져보겠습니다.

질문: "미국과 일본의 ICT 주요 정책의 공통점과 차이점을 설명해줘."

Python
response = agent.chat("미국과 일본의 ICT 주요 정책의 공통점과 차이점을 설명해줘.")
print(response)


실행 결과 (에이전트의 생각 과정)

Thought: I need to gather information about the ICT policies of the United States. Action: usa_ict
Action Input: {'input': '미국의 ICT 주요 정책'}
Observation: 미국의 ICT 주요 정책은 '국가 스펙트럼 전략(National Spectrum Strategy)'과 '반도체 과학법(CHIPS and Science Act)'입니다...

Thought: Now I need to gather information about the ICT policies of Japan to compare them with those of the United States.
Action: japan_ict Action Input: {'input': '일본의 ICT 주요 정책'}
Observation: Japan's ICT major policies include the revision of the semiconductor and digital industry strategy...

Thought: I have gathered information on the ICT policies of both the United States and Japan. Now, I can compare their commonalities and differences.
Answer: 미국과 일본의 ICT 주요 정책의 공통점과 차이점은 다음과 같습니다... (중략)



에이전트의 생각 과정을 분석해보면 정말 놀랍습니다.


첫 번째 생각: "질문에 답하려면 먼저 미국의 ICT 정책 정보가 필요해." 라고 판단하고 usa_ict 도구를 사용합니다.

두 번째 생각: "미국 정보는 얻었으니, 이제 일본의 ICT 정책 정보를 수집해서 비교해야겠어." 라고 판단하고 japan_ict 도구를 사용합니다.

세 번째 생각: "미국과 일본의 정보가 모두 모였으니, 이제 두 가지를 비교해서 최종 답변을 만들 수 있겠다." 라고 판단하고 종합적인 답변을 생성합니다.



이처럼 ReAct 에이전트는 복잡한 질문을 스스로 작은 단계로 나누고, 각 단계에 가장 적합한 도구를 지능적으로 선택하여 문제를 해결합니다.





결론: 스스로 문제를 해결하는 AI의 시작

오늘 우리는 ReAct 프레임워크를 통해 AI가 단순히 지식을 나열하는 것을 넘어, '생각'하고 '행동'하며 스스로 문제 해결 전략을 세우는 과정을 직접 확인했습니다. 여러 개의 지식창고 중에서 필요한 것을 정확히 골라 사용하는 모습은 진정한 AI 비서의 가능성을 보여줍니다.


오늘 만든 ReAct 에이전트는 『LLM과 RAG로 구현하는 AI 애플리케케이션』 6장의 일부에 불과합니다. 책에서는 더욱 정교한 프롬프트 엔지니어링 방법, 그리고 외부 API를 실시간으로 호출하는 펑션 콜링이나 데이터베이스와 직접 대화하는 Text-to-SQL과 같이 훨씬 강력한 도구를 에이전트에 장착하는 방법을 심도 있게 다룹니다.


스스로 생각하고 행동하는 AI, 여러분도 직접 만들어보고 싶지 않으신가요? 이 책과 함께 진정한 AI 에이전트 개발의 세계에 빠져보세요.




https://wikibook.co.kr/llm-rag/

이 책은 빠르게 진화하는 AI 기술 트렌드를 단순히 따라가는 데 그치지 않고 실제 구현과 통합에 필요한 핵심 통찰과 실용적인 해법을 제시하는 완성도 높은 실무 가이드입니다. 생성형 AI 기술의 주요 흐름을 실무 관점에서 체계적으로 다뤄 개발자와 기획자 모두가 RAG 시스템을 손쉽게 구축할 수 있도록 구성했습니다.





keyword
작가의 이전글내 주식 포트폴리오, AI에게 물어보세요!