CrewAI

CrewAI 目录一、CrewAI 是什么二、4个核心概念用公司团队类比三、Demo搭建「家庭露营攻略创作团队」前置准备步骤1安装依赖步骤2完整代码逐块讲解① 导入核心组件② 配置大模型二选一方案AOpenAI云端模型最简单方案BOllama本地模型离线免费官方原生配置③ 定义3个智能体招募员工④ 定义3个任务派发工作⑤ 组建团队启动执行运行效果说明四、进阶玩法给智能体加装工具五、CrewAI 核心特点一、CrewAI 是什么CrewAI 的核心思路是不让一个人干所有活搭一个专业团队分工干。你只需要做3件事定岗位给每个AI设定专属角色、目标、人设比如研究员、撰稿人、编辑派任务把大任务拆成小项分配给对应岗位的AI定流程规定大家是流水线接力干还是找个项目经理统筹分配剩下的沟通、信息传递、协作衔接CrewAI会自动搞定最终输出完整成果。二、4个核心概念用公司团队类比用「做一份露营攻略」的小团队来对应理解Agent智能体 员工每个Agent有明确的职位、工作目标、性格背景各司其职比如行程规划师、美食专员。Task任务 具体工作项每个Task有明确的内容、交付标准分配给对应Agent完成比如“规划2天1夜行程”就是一个任务。Crew团队 项目组把所有Agent和Task组合到一起就是一个Crew是执行任务的最小单位。Process流程 工作模式规定团队怎么协作顺序模式Sequential流水线作业前一个任务干完结果自动传给下一个任务继续做层级模式Hierarchical有一个“项目经理”智能体负责拆任务、派活、验收适合复杂项目三、Demo搭建「家庭露营攻略创作团队」我们做一个最小可运行的完整例子3个AI组成团队自动生成一份2天1夜家庭露营攻略。全程代码可直接复制支持云端OpenAI和本地Ollama两种运行方式。前置准备Python 3.10 ~ 3.13 版本二选一的大模型云端OpenAI API Key开箱即用本地已安装Ollama并下载好模型完全离线、免费推荐本地部署步骤1安装依赖打开终端执行pipinstallcrewai如果后续要用到搜索、文件读写等工具再安装官方工具包pipinstallcrewai-tools步骤2完整代码逐块讲解① 导入核心组件# 导入CrewAI四大核心组件 官方原生LLM配置类fromcrewaiimportAgent,Task,Crew,ProcessfromcrewaiimportLLM② 配置大模型二选一方案AOpenAI云端模型最简单配置环境变量即可CrewAI会自动读取调用importos os.environ[OPENAI_API_KEY]你的OpenAI API Key方案BOllama本地模型离线免费官方原生配置先确保本地Ollama已启动且已执行ollama pull llama3下载模型# 配置本地大模型model名替换为你已下载的模型local_llmLLM(modelollama/llama3,base_urlhttp://localhost:11434)后续定义每个Agent时加上llmlocal_llm即可切换成本地运行。③ 定义3个智能体招募员工我们设定三个分工明确的角色# 层级模式增加管理层露营项目主管# 顺序模式不需要project_managerAgent(role露营项目主管,goal统筹协调团队成员高质量完成家庭露营攻略的全流程制作把控内容质量和交付标准,backstory你有3年生活类项目管理经验擅长拆解任务、合理分工和质量审核熟悉露营攻略的制作标准会根据成员的能力边界分配对应工作确保最终产出完整、实用、符合要求。,verboseTrue,allow_delegationTrue,# 核心权限管理者允许把任务委派给下属# 用本地模型就取消下面这行注释# llmlocal_llm)# 1号员工资深露营行程规划师plannerAgent(role资深露营行程规划师,goal为家庭用户制定安全、实用、可落地的2天1夜露营行程方案,backstory你有5年户外露营经验熟悉各类露营场地特别擅长家庭亲子露营的行程安排注重细节和安全性会充分考虑老人和孩子的需求。,verboseTrue,# 开启详细日志能看到AI的思考过程allow_delegationFalse,# 不允许把自己的任务转派给别人# 用本地模型就取消下面这行注释# llmlocal_llm)# 2号员工露营美食策划师food_specialistAgent(role露营美食策划师,goal设计适合露营场景的简单、美味、易准备的三餐食谱和食材清单,backstory你是户外美食达人擅长用简易厨具做出好吃的露营餐食充分考虑食材保鲜、烹饪难度和分量特别适配家庭出行的饮食需求。,verboseTrue,allow_delegationFalse,# llmlocal_llm)# 3号员工攻略总策划编辑editorAgent(role攻略总策划编辑,goal把行程和美食内容整合成结构清晰、实用性强的完整露营攻略,backstory你是资深生活类内容编辑擅长梳理信息、优化结构能把零散内容整合成普通人一看就懂的实用攻略会主动补充注意事项和避坑提示。,verboseTrue,allow_delegationFalse,# llmlocal_llm)④ 定义3个任务派发工作任务按执行顺序排列前一个任务的结果会自动作为上下文传给下一个任务。# 任务1制定行程方案task_planTask(description为一家三口夫妻8岁孩子制定一份周末2天1夜的露营行程包含详细的时间安排、必备物品清单、安全注意事项。,expected_output分时段的详细行程表 分类整理的物品清单 3条以上安全提示条理清晰适配家庭出行场景。,agentplanner,# 分配给行程规划师)# 任务2设计美食方案task_foodTask(description基于上面的2天1夜露营行程设计对应的三餐食谱第一天午餐、晚餐、第二天早餐、午餐包含食材清单、准备步骤和烹饪小贴士。,expected_output按餐次整理的食谱 分类食材采购清单 3个露营烹饪小技巧食材易购买、方便携带保鲜。,agentfood_specialist,# 分配给美食专员)# 任务3整合生成最终攻略task_editTask(description把前面的行程方案和美食方案整合起来补充出行避坑指南生成一份完整的家庭露营攻略。,expected_output结构完整的露营攻略包含【行程安排】【物品清单】【美食方案】【避坑提示】四个板块语言通俗排版清晰。,agenteditor,# 分配给总策划编辑output_file露营攻略最终版.md# 可选直接把结果保存到本地文件)⑤ 组建团队启动执行# 顺序模式把员工和任务组合成一个完整团队crewCrew(agents[planner,food_specialist,editor],tasks[task_plan,task_food,task_edit],# 顺序模式下任务执行顺序有序processProcess.sequential,# 采用顺序执行模式流水线接力干活verboseTrue,)# 层级模式执行层员工 专属管理者 层级协作流程crewCrew(agents[planner,food_specialist,editor],# 执行层成员列表tasks[task_plan,task_food,task_edit],# 层级模式待完成的任务池无序processProcess.hierarchical,# 核心启用层级管理模式manager_agentproject_manager,# 指定项目主管作为管理者verboseTrue,)# 启动团队开始执行resultcrew.kickoff()# 打印最终成果print(*60)print(✅ 最终生成的露营攻略)print(result)运行效果说明执行代码后控制台会完整展示协作过程行程规划师先启动思考并输出完整行程方案美食专员自动拿到行程结果针对性设计对应食谱编辑自动拿到前两份内容整合优化并补充避坑指南整个过程无需手动传递信息完全自动衔接。四、进阶玩法给智能体加装工具上面的例子是纯靠AI自身知识干活你还可以给Agent配备工具让他们能联网搜索、读写文件、运行代码等。举个例子给行程规划师加上联网搜索工具实时查询露营地开放信息。先申请 Serper API Key谷歌搜索工具有免费额度代码修改如下fromcrewai_toolsimportSerperDevToolimportos os.environ[SERPER_API_KEY]你的Serper API Key# 初始化搜索工具search_toolSerperDevTool()# 给行程规划师配备工具plannerAgent(# ... 其他参数保持不变tools[search_tool],# 给这个员工配上搜索能力)这样规划师在制定行程时会自动联网搜索最新的露营地信息结果更准确。五、CrewAI 核心特点角色化分工明确通过角色、目标、背景故事强化人设比单模型输出更专业自动协作衔接任务间自动传递上下文无需手动复制粘贴结果灵活的流程编排支持顺序、层级等多种协作模式适配不同复杂度的任务丰富的工具生态可对接搜索、代码执行、文件操作等各类工具拓展能力边界本地部署友好原生支持Ollama等本地模型可完全离线运行保护数据隐私