플래닝
에이전트가 행동하기 전에 작업을 하위 단계로 나누고 순서를 정하는 과정이며, plan-and-execute는 이 계획과 실행을 분리해 계획을 먼저 세운 뒤 실행하는 패턴입니다. 기준 시점: 2026-10
왜 필요한가
ReAct처럼 추론과 행동을 매 스텝 번갈아 내보내는 방식은 행동 하나하나의 근거는 보이지만, 전체 작업을 몇 단계로 나눠야 하는지에 대한 전역적인 판단이 없다. 작업이 복잡해지고 하위 작업 사이에 순서나 의존관계가 있으면, 매 스텝 즉흥적으로 다음 행동만 고르는 방식은 전체 그림을 놓치기 쉽다. 플래닝은 행동에 들어가기 전에 작업을 쪼개 계획을 세우고, 계획이 틀렸다는 게 드러나면 다시 계획을 고치는 단계를 더한다.
구조
Plan-and-execute 패턴은 역할을 세 가지로 나눈다.
Planner : 작업을 받아 순서가 있는 단계 목록을 만든다
↓
Executor : 각 단계를 실제로 수행한다 (툴 호출, 하위 작업 위임 등)
↓
Replanner : 각 단계의 결과를 보고 계획을 유지할지, 다음으로 넘어갈지, 계획을 고칠지 판단한다
↓ (계획 수정이 필요하면 Planner로 되돌아간다)
ReAct는 Thought-Action-Observation을 매 스텝 반복하며 계획과 실행이 섞여 있는 반면, plan-and-execute는 계획을 먼저 세운 뒤에 실행한다는 점이 다르다. 앤트로픽은 "Building Effective Agents"에서, 필요한 하위 작업을 미리 예측할 수 없을 때는 중앙 LLM(오케스트레이터)이 동적으로 작업을 쪼개 워커에게 맡기고 결과를 합성하는 orchestrator-workers 패턴을 쓴다고 설명한다. 하위 작업이 미리 정해지지 않고 입력에 따라 오케스트레이터가 그때그때 정한다는 점이, 하위 작업을 미리 고정해두는 병렬화와 다르다.
실패 시 재계획
계획대로 실행이 안 되면 다시 계획을 세워야 한다. 앤트로픽은 각 단계마다 환경에서 실제 결과("ground truth")를 확인해야 한다고 말한다. 재계획의 피드백 루프는 평가자-최적화자(evaluator-optimizer) 패턴으로도 구현할 수 있는데, 한 LLM 호출이 응답을 만들고 다른 LLM 호출이 그 결과를 평가·피드백하는 과정을 반복한다. 무한히 반복하지 않도록 최대 반복 횟수 같은 중단 조건을 두고, 막히는 지점에서는 사람의 피드백을 받도록 체크포인트를 둘 수 있다.
트레이드오프
- 계획을 미리 세우면 전체 작업의 흐름을 사람이 검토하기 쉽고, 하위 작업 사이의 의존관계를 반영할 수 있다
- 반면 계획이 틀린 가정 위에 서 있으면 쉽게 깨지므로, 재계획 비용(LLM 호출 추가, 지연 증가)을 감당해야 한다
- 매 실패마다 재계획하면 원래 계획 자체가 나쁘다는 신호를 가리고 비용만 계속 늘릴 수 있다
주의사항
- 계획 단계를 사람이 볼 수 있게 드러내는 것이 설계 원칙으로 꼽힌다 — 계획이 보이지 않으면 왜 그 순서로 실행됐는지 디버깅하기 어렵다
- 재계획 루프에 중단 조건이 없으면 실패를 반복하며 비용만 쓰는 상태에 빠질 수 있다
핵심 정리
- 플래닝은 행동 전에 작업을 하위 단계로 나누고 순서를 정하는 것, plan-and-execute는 이 계획과 실행을 분리한 패턴
- ReAct와 달리 계획을 먼저 세우고 실행하며, 실패하면 재계획 단계로 돌아간다
- 재계획에는 환경의 실제 결과 확인, 평가 루프, 중단 조건, 사람 체크포인트 같은 장치가 같이 쓰인다