Skip to content

Planning & Reasoning 规划与推理

Planning 让 Crew 在执行前制定详细计划;Reasoning 让 Agent 在执行任务时深度思考和反复推敲

1. Planning 规划

1.1 什么是 Planning

启用 Planning 后,Crew 在执行任何 Task 之前,会先用一个专门的 AgentPlanner 为每个任务制定详细的执行计划。

python
from crewai import Crew, Process

crew = Crew(
    agents=[researcher, analyst, writer],
    tasks=[research_task, analysis_task, writing_task],
    process=Process.sequential,
    planning=True,                    # 启用规划
    planning_llm="openai/gpt-4o"     # 规划专用 LLM
)

1.2 Planning 工作流程

AgentPlanner 会分析:

  • 每个 Task 的描述和期望输出
  • Agent 的能力和工具
  • 任务间的依赖关系

然后为每个任务生成详细的步骤清单。

1.3 何时使用 Planning

场景是否启用
任务复杂、多步骤✅ 启用
简单直接的任务❌ 不需要(增加成本)
需要可预测的执行✅ 启用
实验性快速原型❌ 不需要

2. Reasoning 推理

2.1 什么是 Reasoning

启用 Reasoning 后,Agent 在执行每个任务前会进入深度推理模式

  1. 反思任务:分析任务要求和上下文
  2. 制定计划:创建详细的执行步骤
  3. 评估准备:判断是否具备完成任务的条件
  4. 迭代完善:反复推敲直到计划满意
  5. 注入执行:将推理计划注入任务描述
python
from crewai import Agent

deep_thinker = Agent(
    role="战略分析师",
    goal="提供深度、全面的战略分析",
    backstory="你是一位思维缜密的战略分析师",
    reasoning=True,                  # 启用推理
    max_reasoning_attempts=3         # 最多推理 3 轮
)

2.2 Reasoning 工作流程

2.3 注意事项

  • Reasoning 会增加 Token 消耗(每个任务多出 1-3 轮 LLM 调用)
  • 适合复杂决策类任务,不适合简单执行类任务
  • max_reasoning_attempts 控制最大推理轮数,防止无限循环

3. Planning vs Reasoning

维度PlanningReasoning
作用层级Crew 层面Agent 层面
触发时机Crew 启动前每个任务执行前
规划对象所有任务的执行顺序单个任务的执行步骤
配置方式Crew(planning=True)Agent(reasoning=True)
Token 成本中等(一次性)较高(每个任务)

3.1 组合使用

python
# Crew 级别规划 + Agent 级别推理 = 最深度的思考
crew = Crew(
    agents=[
        Agent(role="分析师", ..., reasoning=True),
        Agent(role="研究员", ..., reasoning=False),  # 简单任务不需要
    ],
    tasks=[analysis_task, research_task],
    planning=True,
    planning_llm="openai/gpt-4o"
)

先修Crews 团队编排 | Agents 智能体

下一步

参考

学习文档整合站点