LLM PLAN이란?
단일 LLM 호출로 처리하면 문제가 생깁니다.
| 문제 | 설명 |
|---|---|
| 작업 누락 | LLM이 중간 단계를 빼먹을 수 있음 |
| 순서 오류 | 예산 데이터를 조회하기 전에 분석부터 하려 할 수 있음 |
| 디버깅 어려움 | 어느 단계에서 잘못됐는지 알기 어려움 |
| 재시도 어려움 | 전체를 다시 실행해야 함 |
| 동적 수정 어려움 | 중간 결과가 예상과 다를 때 계획을 바꾸기 어려움 |
Plan-and-Execute는 이 문제를 해결하기 위해 계획 수립과 실행을 분리합니다.
사용자 요청
↓
planner: 할 일을 단계로 쪼갬
↓
execute: 한 번에 한 단계씩 실행
↓
finalize: 실행 결과를 모아 최종 답변 작성
즉, Plan-and-Execute는 LLM에게 이렇게 시키는 구조입니다.
바로 답하지 말고, 먼저 할 일을 나누고, 그다음 한 단계씩 실행하라.
LangGraph는 State, Node, Edge로 복잡한 워크플로우를 구성할 수 있게 해줍니다. 공식 문서에서도 State는 현재 애플리케이션의 스냅샷, Node는 실제 작업 함수, Edge는 다음에 실행할 노드를 결정하는 함수라고 설명합니다. 이 구조 덕분에 planner, execute, replan, finalize 같은 단계를 명확히 분리할 수 있습니다.
ReAct / Plan-and-Execute / ReWOO 비교
| 패턴 | 흐름 | 장점 | 단점 | 좋은 업무 |
|---|---|---|---|---|
| ReAct | 생각 → 도구 → 관찰 반복 | 유연함 | 호출 많음 | 실시간 탐색, 예측 어려운 문제 |
| Plan-and-Execute | 계획 → 실행 → 재계획 | 변화 대응 좋음 | 반복 호출 많음 | 중간 결과에 따라 계획이 바뀌는 업무 |
| ReWOO | 계획+변수 → 도구 실행 → 종합 | 효율적, 병렬화 쉬움 | 예상 밖 결과에 약함 | 데이터 수집 후 종합하는 업무 |
한 문장으로 정리
ReWOO는 “먼저 전체 계획을 변수까지 포함해 세우고, 도구 결과를 그 변수에 채운 다음, 마지막에 한 번에 종합하는 패턴”입니다.
조금 더 현업식으로 말하면:
여러 부서에서 자료를 받아야 하는 보고서 업무에서,
먼저 자료 요청 목록을 한 번에 만들고,
자료가 오면 표에 채워 넣고,
마지막에 PM이 보고서를 쓰는 방식입니다.
이 비유가 가장 잘 와닿습니다.
Planner = 자료 요청 목록 작성
Worker = 각 부서/API에서 자료 받아오기
Solver = 자료를 모아 최종 보고서 작성
ReWOO의 장점은 효율입니다.
Plan-and-Execute의 장점은 적응력입니다.