10줄로 구현하는 ReAct 패턴: 외부 코드나 API 없이 ChatGPT를 자가 평가형 자율 에이전트로 만드는 법
The ReAct Pattern in 10 Lines: How to turn ChatGPT into a self-evaluating, autonomous agent without external code or APIs
핵심 요약
복잡한 프롬프트 엔지니어링 없이 10줄의 프롬프트만으로 ChatGPT를 자율적인 에이전트로 전환하는 방법과 그 원리를 설명합니다.
- ReAct 패턴 활용 — 추론과 실행을 결합하여 모델의 할루시네이션을 줄이고 목표 지향적 결과 도출함
- 작업 분해 기법 — 미션을 작은 단위로 나누어 의존성을 파악하고 단계별로 실행하도록 유도함
- 자가 평가 루프 — 각 작업 후 결과를 스스로 평가하고 전략을 수정하여 결과물의 품질을 높임
- 무한 루프 방지 — 반복 횟수 제한을 설정하여 모델이 불필요하게 같은 작업을 반복하지 않도록 제어함
대부분의 사람들은 거대 언어 모델(LLM)을 그저 화려한 검색 엔진처럼 취급합니다. 질문을 입력하고, 결과를 대충 훑어본 뒤 탭을 닫아버리죠. 이런 반응형 워크플로우는 단순한 상식 질문에는 괜찮지만, 장기적인 계획이나 순차적 실행, 비판적 수정이 필요한 작업에는 실패하기 마련입니다.
"경쟁사 분석 좀 도와줘"와 같은 모호한 지시를 내리면, 모델은 학습 데이터의 통계적 패턴에 의존하여 일반적인 글머리 기호 목록을 반환합니다. 모델이 표준적인 대화형 비서처럼 행동하는 이유는 시스템 지침에 의해 그렇게 설정된 기본 모드이기 때문입니다.
수동적인 답변에서 능동적인 실행으로 넘어가려면 모델의 분포 제약 조건을 바꿔야 합니다. 계획 단계, 작업 분해 과정, 명시적인 자가 평가 루프를 강제하는 프롬프트를 구성함으로써, 표준 ChatGPT 세션 내에서 복잡한 에이전트 프레임워크의 동작을 흉내 낼 수 있습니다.
이를 가능하게 하는 10줄짜리 프롬프트는 다음과 같습니다.
You are an autonomous AI agent.
Your mission is:
[Goal]
Break the mission into smaller tasks.
For each task:
- explain why it matters
- determine dependencies
- execute step-by-step
- evaluate results
- improve the strategy automatically
Continue until the mission is complete.
이 아키텍처가 작동하는 원리
이 간단한 템플릿은 Yao et al. (2022)이 문서화한 ReAct (Reason + Act) 패턴의 경량 버전을 구현하여 작동합니다. 이 패턴은 LLM이 추론 과정과 구체적인 실행 단계를 교차하도록 강제하며, 이는 할루시네이션을 크게 줄이고 생성 결과가 핵심 목표에 고정되도록 합니다.
- 정체성 선언 (
You are an autonomous AI agent): 모델의 생성 확률 공간을 전환합니다. "도움이 되는 비서가 질문에 답하는 방식"이 아니라 "에이전트가 미션을 계획하고 실행하는 방식"에 초점을 맞춥니다. - 미션 선언 (
Your mission is: [Goal]): "작업"이나 "질문" 대신 "미션"이라는 단어를 사용하여 종료 조건을 설정합니다. 모델에게 대화보다 완료를 우선시하도록 지시합니다. - 작업 분해 (
Break the mission into smaller tasks): 암묵적인 의존성 그래프를 구성합니다. 모델은 무엇을 먼저 해야 할지 파악하여, 겉핥기식의 방대한 결과물을 내놓는 것을 방지합니다. - 작업별 평가 루프 (
evaluate results및improve the strategy automatically): 이 프롬프트의 핵심 엔진입니다. "이중 검토"를 강제합니다. 표준 프롬프트에서는 모델이 첫 번째 통계적 추측을 내놓고 멈추지만, 이 에이전트 루프에서는 모델이 자신의 결과물을 읽고 스스로 비판합니다.
예를 들어, 새로운 SaaS 도구에 대한 경쟁사 분석을 수행할 때, 에이전트는 상위 경쟁사 목록을 나열하고 그들의 공개된 포지셔닝을 수집한 뒤, 자가 평가 단계에서 포지셔닝 데이터가 너무 일반적이지는 않은지 명시적으로 확인합니다. 그런 다음 단순히 마케팅 문구를 반복하는 대신, 경쟁사가 말하지 않는 것을 찾아내어 신규 진입자를 위한 틈새시장을 식별하는 방향으로 자동 전환합니다.
"무한 루프" 예외 상황과 해결 방법
개방형 자가 평가 루프의 주요 실패 모드 중 하나는 모델이 자기 개선의 무한 루프에 빠질 수 있다는 점입니다. 주관적인 작업(예: "매력적인 서론 작성")을 주면, 모델은 종료 조건에 도달하지 못한 채 같은 문단을 계속해서 다시 쓸 수 있습니다.
이를 방지하려면 블록 안에 다음과 같은 강력한 제약 조건을 11번째 줄로 추가하면 됩니다.

