기획 (Planning)¶
크루한테 일을 시킬 때 "뭘 어떻게 할지"까지 맡기면 결과가 훨씬 탄탄해져요. 하지만 여러 에이전트가 각자 자기 방식대로 일하다 보면 단계가 꼬이거나 순서가 어긋나기 쉬운데요, CrewAI의 기획(Planning) 기능을 켜면 크루가 일을 시작하기 전에 스스로 단계별 계획을 세워서 각 작업에 반영해 줘요. 마치 팀장이 회의를 열어 "오늘은 이 순서대로 진행하자"고 전체 계획을 짜두는 것과 비슷해요.
기획 기능이 하는 일¶
기획 기능의 아이디어는 단순해요. 크루에 기획을 활성화해 두면, 크루 반복(iteration)이 시작될 때마다 크루의 모든 정보가 AgentPlanner(계획을 담당하는 에이전트)에게 보내져요. 그러면 AgentPlanner가 작업들을 단계별로 계획하고, 이 계획을 각 작업(task) 설명에 추가해 줘요. 다시 말해 에이전트는 일을 시작하면서 "이 일은 이렇게 나눠서 진행하라"는 로드맵을 같이 받는 셈이에요.
기획 기능 켜기¶
사용법은 아주 간단해요. 크루를 만들 때 planning=True 한 가지만 붙이면 돼요.
from crewai import Agent, Task, Process, Crew
# 기획 기능을 켠 크루 구성
my_crew = Crew(
agents=self.agents,
tasks=self.tasks,
process=Process.sequential,
planning=True,
)
이렇게 하면 이후 크루는 기획이 활성화된 상태가 되고, 매 반복 전에 작업들이 계획돼요. (위 예시처럼 self.agents, self.tasks 형태로 이미 정의된 에이전트와 작업 목록을 넘겨주는 방식이에요.)
기획에 쓰는 LLM¶
한 가지 꼭 알아둬야 할 점이 있어요. 기획이 켜져 있으면 CrewAI가 기본적으로 gpt-4o-mini 를 기획용 LLM으로 사용하는데, 이렇게 하려면 유효한 OpenAI API 키가 필요해요. 그런데 우리의 에이전트들은 서로 다른 LLM을 쓰고 있을 수 있잖아요. 그래서 OpenAI API 키가 설정돼 있지 않거나, LLM API 호출과 관련해 예상 밖의 동작이 생기면 헷갈릴 수 있어요. 즉 에이전트가 쓰는 모델과 기획용 모델은 서로 다를 수 있다는 걸 염두에 둬야 해요.
그래서 CrewAI는 기획에 사용할 LLM을 따로 지정할 수 있게 해줘요. planning_llm 파라미터로 원하는 모델을 골라주면 돼요.
from crewai import Agent, Task, Process, Crew
# 기획 기능 + 커스텀 기획 LLM
my_crew = Crew(
agents=self.agents,
tasks=self.tasks,
process=Process.sequential,
planning=True,
planning_llm="gpt-4o",
)
# 크루 실행
my_crew.kickoff()
여기서 planning_llm="gpt-4o"가 기획 단계에 쓰일 모델을 바꿔주는 부분이에요. 이렇게 하면 에이전트들이 실제 업무에 쓰는 모델과는 별개로, 계획 수립만 담당하는 모델을 지정할 수 있어요.
기획 결과는 어떤 모습일까¶
기획 기능이 켜진 기본 예시를 실행하면, 실행 로그에 아래와 같은 출력이 보여요. 이건 AgentPlanner가 에이전트들의 작업에 추가해 줄 단계별 로직의 출력이에요.
[2024-07-15 16:49:11][INFO]: Planning the crew execution
**Step-by-Step Plan for Task Execution**
**Task Number 1: Conduct a thorough research about AI LLMs**
**Agent:** AI LLMs Senior Data Researcher
**Agent Goal:** Uncover cutting-edge developments in AI LLMs
**Task Expected Output:** A list with 10 bullet points of the most relevant information about AI LLMs
**Task Tools:** None specified
**Agent Tools:** None specified
**Step-by-Step Plan:**
1. **Define Research Scope:**
- Determine the specific areas of AI LLMs to focus on, such as advancements in architecture, use cases, ethical considerations, and performance metrics.
2. **Identify Reliable Sources:**
- List reputable sources for AI research, including academic journals, industry reports, conferences (e.g., NeurIPS, ACL), AI research labs (e.g., OpenAI, Google AI), and online databases (e.g., IEEE Xplore, arXiv).
3. **Collect Data:**
- Search for the latest papers, articles, and reports published in 2024 and early 2025.
- Use key...
로그를 보면 알 수 있듯이 계획이 작업 번호, 담당 에이전트, 에이전트의 목표, 기대 산출물, 사용 도구, 그리고 단계별 계획까지 상세하게 담겨요. 이 계획이 각 작업 설명에 합쳐져서 에이전트가 일을 시작하기 전에 전체 그림을 갖게 되는 구조예요.
데이터스케쳐스 실무 관점¶
복잡한 다단계 작업일수록 기획 기능이 빛을 발해요. 예를 들어 조사 → 정리 → 작성으로 이어지는 파이프라인에서, 각 단계가 "다음에 뭘 할지"를 미리 알면 순서가 꼬일 일이 적어지거든요. 다만 두 가지만 꼭 챙겨요.
- API 키와 비용: 기본 기획 LLM이
gpt-4o-mini라서 OpenAI 키가 필요해요. 우리가 다른 모델을 쓰더라도 기획 단계는 별도로 OpenAI 호출이 일어날 수 있으니, 비용과 호출 횟수에 이상이 없을지 미리 확인해야 해요. - 모델 통일성:
planning_llm으로 기획용 모델을 명시하면 에이전트 LLM과 분리해 혼란을 줄일 수 있어요. 팀에서 쓰는 모델이 정해져 있다면 기획용 모델도 그에 맞춰 명시적으로 지정하는 게 안전해요.
더 알아보기¶
- 원문 문서를 직접 보려면 공식 문서를 참고하세요: CrewAI Planning 공식 문서