AI Engineer 공간 "사부작 사부작"

LLM, 스스로 계획하고 행동하다: ReAct 프레임워크 파헤치기 본문

Theory/Prompting

LLM, 스스로 계획하고 행동하다: ReAct 프레임워크 파헤치기

ChoYongHo 2025. 5. 29. 08:23
728x90

프롬프트: LLM이 스스로 계획하고 도구를 사용하는 ReAct 프레임워크

인공지능이 단순히 사람의 질문에 답하는 수동적인 존재에서, 스스로 생각하고 계획을 세워 능동적으로 문제를 해결하는 디지털 파트너로 진화하고 있습니다. 마치 숙련된 비서가 복잡한 업무를 체계적으로 처리하듯, 현대의 대규모 언어모델(LLM)은 이제 프롬프트를 통해 스스로 작업을 계획하고, 필요한 도구를 찾아 사용하며, 실시간으로 정보를 수집하여 최적의 해답을 도출할 수 있게 되었습니다. 이러한 변화의 중심에는 바로 '프롬프트 엔지니어링'과 'ReAct(Reason and Act)' 프레임워크가 있습니다. 단순한 지시문을 넘어 LLM에게 체계적 사고와 전략적 행동을 유도하는 이 기술들은 AI의 활용 범위를 폭발적으로 확장시키고 있습니다. 이번 글에서는 LLM이 어떻게 스스로 계획을 수립하고 외부 도구를 활용하는지, 그리고 이를 가능하게 하는 ReAct 프레임워크의 핵심 원리와 실무 활용법까지 상세히 알아보겠습니다.


프롬프트를 통한 계획 유도: LLM에게 전략적 사고 가르치기

명시적 계획 수립 요청의 힘

LLM이 체계적으로 문제를 해결하도록 하는 가장 기본적이면서도 강력한 방법은 프롬프트에서 명시적으로 계획 수립을 요청하는 것입니다.

개념: LLM에게 특정 문제나 작업을 해결하기 전에 먼저 단계별 계획을 구성하도록 지시하고, 그 계획에 따라 순차적으로 작업을 수행하게 하는 프롬프팅 기법입니다. 이는 LLM의 추론 능력을 구조화하여 더욱 논리적이고 체계적인 결과를 도출하도록 돕습니다.

실제 활용 예시:

  • "고객 만족도 향상을 위한 서비스 개선 방안을 제시해 주세요. 먼저 현상 분석, 문제점 파악, 해결책 도출, 실행 계획의 순서로 단계별 접근 계획을 세우고, 각 단계를 차례로 수행해 주세요."
  • "새로운 마케팅 캠페인 기획을 위해 시장조사부터 컨셉 개발, 예산 계획, 성과 측정 방법까지 전체 프로세스 계획을 먼저 수립하고 실행해 주세요."

비유: 이는 마치 경험 많은 프로젝트 매니저가 복잡한 프로젝트를 시작하기 전에 WBS(Work Breakdown Structure)를 작성하여 전체 작업을 세분화하고, 각 단계별 목표와 산출물을 명확히 정의한 후 체계적으로 진행하는 것과 같습니다. LLM도 이러한 구조화된 접근을 통해 임의적이거나 산만한 응답 대신 논리적이고 완성도 높은 결과를 제공할 수 있습니다.


계획 유도의 핵심 전략

효과적인 계획 유도를 위해서는 다음과 같은 프롬프트 구성 요소들이 중요합니다:

  • 명확한 최종 목표 제시: "~을 달성하기 위해"와 같이 구체적인 목적을 명시
  • 단계별 접근 요구: "먼저 계획을 세우고, 그 다음 실행하세요"와 같은 순차적 지시
  • 검토 및 수정 지시: "각 단계 완료 후 다음 단계 진행 전에 중간 점검을 하세요"
  • 구체적 형식 요구: "계획서 형태로 정리하고, 각 단계별 예상 소요시간도 포함하세요"

ReAct 프레임워크: 생각하고 행동하는 지능형 에이전트의 탄생

ReAct란 무엇인가?

ReAct(Reason and Act) 프레임워크는 단순한 계획 수립을 넘어, LLM이 추론(Reasoning)과 행동(Acting)을 반복적으로 수행하며 동적으로 문제를 해결하는 고급 프롬프팅 패러다임입니다. 특히 검색 엔진, 계산기, API 호출 등 외부 도구(Tool) 사용이 필수적인 복잡한 작업에 혁신적인 효과를 발휘합니다.

개념: ReAct는 LLM이 고정된 계획을 따르는 것이 아니라, 실시간으로 상황을 분석하고, 필요에 따라 외부 도구를 활용하여 정보를 수집하며, 그 결과를 바탕으로 다시 추론하여 다음 행동을 결정하는 적응적 문제 해결 방식입니다.

비유: ReAct는 마치 숙련된 의사가 환자를 진료하는 과정과 유사합니다. 의사는 먼저 환자의 증상을 듣고 분석하며(사고), 필요하다면 추가 검사를 지시하고(행동), 검사 결과를 확인한 후(관찰), 그 결과를 바탕으로 다시 진단을 수정하거나(사고), 추가 검사나 치료를 결정합니다(행동). 이처럼 ReAct도 고정된 프로토콜이 아닌 상황에 따른 유연한 대응을 가능하게 합니다.


ReAct의 핵심 작동 원리: Think-Act-Observe 순환 시스템

ReAct 프레임워크는 사고(Thought) → 행동(Action) → 관찰(Observation)의 순환적 프로세스를 통해 작동합니다.

1. 사고(Thought) 단계: 상황 분석 및 전략 수립

LLM은 현재 주어진 문제, 이전 단계에서 얻은 정보(관찰 결과), 최종 목표를 종합적으로 분석하여 다음에 취할 행동을 계획합니다. 이 단계에서 LLM은 마치 스스로와 대화하듯 내부적인 추론 과정을 거칩니다.

  • 예시: "고객이 '최근 주문한 상품이 언제 도착하나요?'라고 문의했다. 정확한 답변을 위해서는 해당 고객의 주문 정보와 배송 상태를 확인해야 한다. 먼저 고객 ID를 통해 최근 주문 내역을 조회해보자."

2. 행동(Action) 단계: 구체적 도구 사용 및 작업 실행

계획에 따라 실제로 수행할 행동을 구체적으로 명시합니다. 이때 사용할 도구의 이름과 해당 도구에 전달할 매개변수를 정확한 형식으로 지정합니다.

  • 예시: Action: search_order_database(customer_phone="010-1234-5678", period="last_30_days")

3. 관찰(Observation) 단계: 결과 수집 및 다음 단계 준비

외부 시스템이 지정된 행동을 실제로 수행하고, 그 결과를 LLM에게 다시 제공합니다. 이 정보는 다음 사고 단계의 중요한 입력 데이터가 됩니다.

  • 예시: "관찰: 고객의 최근 주문은 '무선 이어폰 ABC-100' 1개이며, 주문일자는 2025년 5월 27일, 현재 배송 상태는 '배송 중'이고 예상 도착일은 2025년 5월 30일입니다."

실무 활용 시나리오: 전자상거래 고객지원 자동화

다음은 ReAct 프레임워크가 실제 전자상거래 고객지원에서 어떻게 활용되는지 보여주는 상세한 예시입니다.

고객 문의: "안녕하세요, 어제 주문한 노트북이 언제 도착하나요? 그리고 혹시 더 빠른 배송으로 변경 가능한가요?"

ReAct 프로세스:

사고 1: 고객이 노트북 배송 문의와 배송 옵션 변경을 요청했다. 정확한 답변을 위해 먼저 고객의 최근 노트북 주문 정보를 찾아야 한다.

행동 1: search_orders(product_category="노트북", order_date="2025-05-28", customer_phone="문의 고객 번호")

관찰 1: "고객의 2025년 5월 28일 노트북 주문: 'MacBook Air M3 13인치' 1대, 주문번호 ORD-2025-0528-001, 현재 상태: '상품 준비 중', 예상 배송일: 2025년 6월 1일 (표준배송)"

사고 2: 주문 정보를 확인했다. 현재 '상품 준비 중' 상태이므로 배송 옵션 변경이 가능할 수 있다. 빠른 배송 옵션과 추가 비용을 확인해보자.

행동 2: check_shipping_options(order_id="ORD-2025-0528-001")

관찰 2: "배송 옵션 변경 가능. 익일배송(+5,000원) 선택 시 2025년 5월 30일 도착 예정. 당일배송은 해당 상품 불가능."

사고 3: 배송 옵션 정보를 확인했다. 이제 고객에게 현재 배송 상태와 변경 가능한 옵션을 안내하자.

행동 3: respond_to_customer("안녕하세요! 2025년 5월 28일 주문하신 MacBook Air M3 13인치는 현재 상품 준비 중이며, 표준배송으로 6월 1일 도착 예정입니다. 익일배송(추가 5,000원)으로 변경하시면 5월 30일 도착 가능합니다. 배송 옵션 변경을 원하시나요?")

관찰 3: 고객 응답: "네, 익일배송으로 변경해 주세요!"

사고 4: 고객이 익일배송 변경을 확정했다. 시스템에서 배송 옵션을 업데이트하고 확인 메시지를 전송하자.

행동 4: update_shipping_option(order_id="ORD-2025-0528-001", new_option="익일배송", additional_fee="5000")

관찰 4: "배송 옵션 변경 완료. 추가 결제 5,000원, 새로운 예상 도착일: 2025년 5월 30일"

최종 응답: "배송 옵션이 익일배송으로 성공적으로 변경되었습니다! 추가 비용 5,000원이 결제되며, MacBook Air가 5월 30일에 도착 예정입니다. 배송 추적은 주문번호 ORD-2025-0528-001로 확인 가능합니다."


마무리하며

프롬프트를 통한 계획 유도와 ReAct 프레임워크는 LLM을 단순한 텍스트 생성 도구에서 자율적 사고와 행동이 가능한 에이전트로 진화시키고 있습니다. 이는 마치 컴퓨터가 단순한 계산기에서 범용 컴퓨팅 플랫폼으로 발전했듯이, AI 기술 활용의 패러다임을 근본적으로 변화시키고 있습니다. 특히 ReAct 프레임워크는 LLM이 인간의 문제 해결 방식과 유사하게 가설 수립 → 정보 수집 → 검증 → 수정의 과정을 거치며 복잡한 현실 문제에 대응할 수 있게 해줍니다. 이는 고객 서비스, 비즈니스 분석, 연구 조사, 프로젝트 관리 등 다양한 분야에서 AI의 실용적 가치를 급격히 높이고 있습니다.


[2210.03629] ReAct: Synergizing Reasoning and Acting in Language Models

 

ReAct: Synergizing Reasoning and Acting in Language Models

While large language models (LLMs) have demonstrated impressive capabilities across tasks in language understanding and interactive decision making, their abilities for reasoning (e.g. chain-of-thought prompting) and acting (e.g. action plan generation) ha

arxiv.org

https://www.geeksforgeeks.org/react-reasoning-acting-prompting/

 

ReAct (Reasoning + Acting) Prompting - GeeksforGeeks

Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.

www.geeksforgeeks.org

 

 

728x90