发布时间:2026/8/15 22:45:31
AI Agent白手起家74: CrewAI 核心组件详解——从智能体到知识库 纲要组件概览Agent、Task、Crew、Flow、Knowledge、MemoryAgent团队中的最小执行单元YAML 配置化定义纯代码定义运行代码与工具集成Task智能体的工作任务配置与依赖关系结构化输出Crew组建专业团队配置式与代码式两种风格启动与输出Flow编排多个团队基于修饰符的事件驱动状态管理知识库与记忆文本和 URL 加载嵌入模型切换短期、长期、实体、情境记忆完整可运行示例一个带搜索和报告的团队总结与相关度说明组件概览CrewAI的整个框架围绕六个核心组件展开它们的分工和层级关系如下表所示组件角色类比Agent执行具体工作的个体员工Task分配给 Agent 的工作项任务单Crew管理 Agent 和 Task 的团队小组Flow编排多个 Crew 的流水线部门协作流程Knowledge外挂知识库RAG参考资料库Memory短期/长期/实体/情境记忆工作笔记理解这些组件后你就能像搭积木一样组装出复杂的多智能体应用。Agent团队中的最小执行单元Agent是CrewAI的原子单元每个Agent拥有独立的角色、目标、背景故事可以绑定工具、记忆和特定的大语言模型。CrewAI提供了两种定义方式YAML 配置和纯代码。YAML 配置式定义在src/config/agents.yaml中声明researcher:role:高级数据研究员goal:发掘某一话题领域的前沿发展backstory:你是一名经验丰富的研究员擅长发现最新信息并以清晰简洁的方式呈现。reporting_analyst:role:报告分析师goal:基于数据分析和研究发现创建详细报告backstory:你是一位一丝不苟的分析师能够将复杂数据转化为清晰简洁的报告。代码中通过agent修饰符引用fromcrewaiimportAgent,Crew,Task,Processfromcrewai.projectimportCrewBase,agent,task,crewCrewBaseclassMyCrew:agentdefresearcher(self)-Agent:returnAgent(configself.agents_config[researcher],verboseTrue,tools[search_tool]# 可选绑定搜索工具)agentdefreporting_analyst(self)-Agent:returnAgent(configself.agents_config[reporting_analyst],verboseTrue)纯代码定义不使用配置文件直接在代码中传参agentAgent(role资深Python开发者,goal编写高质量、安全的Python代码,backstory你有十年Python开发经验熟悉安全编码规范。,allow_code_executionTrue,# 允许执行代码code_execution_modesafe,# 安全沙箱模式tools[my_tool],memoryTrue,verboseTrue)两种方式等价配置式更适合规范化项目代码式更灵活。Task智能体的工作任务每个Task描述一个具体的工作项支持依赖关系和结构化输出。YAML 配置式定义在tasks.yaml中声明research_task:description:对{topic}进行深入研究找出有趣且相关的信息。当前年份是2025年。expected_output:包含10个要点的列表列出关于{topic}的相关信息agent:researcherreporting_task:description:基于研究结果创建一份详细报告。expected_output:一份完整的Markdown报告agent:reporting_analystoutput_file:report.mdcontext:[research_task]# 依赖 research_task 完成后执行代码中引用taskdefresearch_task(self)-Task:returnTask(configself.tasks_config[research_task])taskdefreporting_task(self)-Task:returnTask(configself.tasks_config[reporting_task])结构化输出Task支持output_pydantic或output_json来强制指定输出格式frompydanticimportBaseModelclassBlogPost(BaseModel):title:strcontent:strblog_taskTask(description写一篇关于多智能体架构的博客,agentwriter,expected_output结构化的博客文章,output_pydanticBlogPost)执行后task.output.pydantic将返回一个BlogPost实例。Crew组建专业团队Crew把Agent和Task组合成一个可执行的工作单元并指定执行策略顺序或层次化。配置式组合crewdefcrew(self)-Crew:returnCrew(agents[self.researcher(),self.reporting_analyst()],tasks[self.research_task(),self.reporting_task()],processProcess.sequential,# 顺序执行verboseTrue,memoryTrue,# 开启记忆knowledge_sources[...]# 挂载知识库)代码式组合不依赖配置文件crewCrew(agents[agent1,agent2],tasks[task1,task2],processProcess.sequential,verboseTrue)resultcrew.kickoff()print(result)Flow编排多个团队Flow用于串联多个Crew形成更复杂的业务流程。它基于事件和修饰符驱动类似LangGraph的图结构。fromcrewai.flowimportFlow,start,listenclassCityFactFlow(Flow):start()defgenerate_city(self):city北京# 模拟随机生成self.state[city]cityreturncitylisten(generate_city)defgenerate_fact(self,city):# 根据城市生成有趣事实returnf{city}是中国的首都拥有超过3000年的历史。flowCityFactFlow()resultflow.kickoff()start标记入口节点listen标记监听其他节点的输出自动建立依赖。知识库与记忆知识库CrewAI将 RAG 封装为高级接口支持文本字符串和 URL 两种源。fromcrewai.knowledge.source.string_knowledge_sourceimportStringKnowledgeSource contentTommy住在北京今年25岁。sourceStringKnowledgeSource(contentcontent)crewCrew(agents[qa_agent],tasks[qa_task],knowledge_sources[source],embedder{provider:openai,config:{model:text-embedding-3-small,api_key:your-api-key}})resultcrew.kickoff()URL 源类似使用CrewDoclingSource并传入 URL 列表。注意默认嵌入模型为 OpenAI如需使用其他模型如 Ollama须修改embedder配置。记忆在Crew中开启memoryTrue即可激活四种记忆类型记忆类型作用短期记忆当前对话上下文长期记忆跨会话持久化存储实体记忆自动抽取人物、地点等实体情境记忆维护交互的连贯性底层存储可通过memory_config配置例如使用 SQLite 存储长期记忆。完整可运行示例带搜索的研究团队下面构建一个完整的“新闻研究助手”团队它先搜索最新动态再生成分析报告。环境准备pipinstallcrewai crewai-tools python-dotenv.env配置OPENAI_API_KEYsk-xxxx SERPAPI_API_KEYyour-serpapi-key代码research_crew.pyimportosfromdotenvimportload_dotenvfromcrewaiimportAgent,Task,Crew,Processfromcrewai_toolsimportSerperDevTool load_dotenv()# 1. 搜索工具search_toolSerperDevTool()# 2. 定义 AgentresearcherAgent(role信息检索专家,goal查找关于指定主题的最新新闻和信息,backstory你擅长使用搜索引擎能快速找到高质量的信息来源。,tools[search_tool],verboseTrue,allow_delegationFalse)analystAgent(role分析报告撰写人,goal基于搜索到的信息撰写一份专业分析报告,backstory你善于提炼关键信息并用清晰的结构呈现。,verboseTrue,allow_delegationFalse)# 3. 定义 Tasksearch_taskTask(description搜索关于{topic}的最新动态找到至少5条相关信息。,agentresearcher,expected_output包含5条以上新闻标题和摘要的列表)write_taskTask(description根据搜索到的信息写一份关于{topic}的300字分析报告。,agentanalyst,expected_output一份结构完整的分析报告,context[search_task])# 4. 组建团队crewCrew(agents[researcher,analyst],tasks[search_task,write_task],processProcess.sequential,verboseTrue)# 5. 执行resultcrew.kickoff(inputs{topic:2024人工智能发展趋势})print(\n 最终输出 \n)print(result)执行python research_crew.py控制台会依次展示搜索和报告生成的过程最终输出一份分析报告。总结CrewAI通过高度封装的组件体系将多智能体开发简化为“配置角色、分配任务、组建团队、编排流程”四个步骤。与LangGraph相比它的学习曲线更平滑特别适合快速构建原型和业务流程自动化。但当需要深度定制底层行为时LangGraph的细粒度控制仍是不可替代的。两者可以互补使用。本文覆盖了 CrewAI 的 Agent、Task、Crew、Flow、知识库、记忆等所有核心组件包括 YAML 配置与代码定义两种方式、结构化输出、依赖关系、嵌入模型切换等技术要点并提供了示例代码。

相关新闻

2026/8/15 22:45:31

AI Agent白手起家75: 使用 CrewAI 构建游戏开发助手

纲要 项目背景与目标系统架构与流程 团队组成:高级工程师、QA工程师、首席QA工作流:编码 → 审查 → 评估 项目结构核心实现:Agent、Task、Crew 的定义完整可运行示例 纯代码定义,无需外部配置文件生成贪吃蛇游戏 运行与效果展示总…

2026/8/15 22:45:31

Grok Bot AI智能体团队:24/7自动化工作流部署与集成实践

这次我们来看一个名为Grok Bot的 AI 智能体项目。它不是单个聊天机器人,而是一个宣称能 24/7 全天候工作的“AI 智能体团队”。简单来说,你可以把它理解为一套自动化的工作流系统,由多个具备不同技能的 AI 智能体(Agent&#xff0…

2026/8/15 22:40:31

ARM编译器内部错误0xb3b91b的深度调试与解决方案

1. 项目概述:一次由编译器内部错误引发的深度调试之旅在嵌入式开发领域,Keil MDK(Microcontroller Development Kit)几乎是每一位ARM Cortex-M系列开发者绕不开的工具。它集成了强大的ARM编译器(ARM Compiler&#xff…

2026/8/15 23:40:34

第二讲:CSP-J及NOIP普及组知识大纲

这一讲,主要聊一下CSP-J及NOIP普及组知识大纲。 官方的大纲,也就是全国青少年信息学奥林匹克系列竞赛大纲已经由该系列(NOI系列)的主办方中国计算机学会(CCF)发布了,感兴趣的读者可以自行找渠道…

2026/8/15 23:40:34

OMO 同步课如何落地?从课堂连接到教学交付闭环

OMO 同步课如何落地?从课堂连接到教学交付闭环 OMO 不是简单给线下课堂加一条直播链路。对于教培机构而言,线上线下学员是否能同步参与、老师和助教能否协同、课后数据是否沉淀,决定了同步课能不能成为稳定业务。本文梳理 OMO 方案落地时值得…

2026/8/15 23:40:34

服务器CPU常用测试工具(Linux)

一 ,CPU 工具:stress和stress-ng stress 和 stress-ng 是 Linux 系统下两款经典的压力测试工具。它们的主要用途是给系统施加可配置的 CPU、内存、I/O 或磁盘负载,用于评估系统在极端条件下的稳定性和表现,帮助发现那些只在重负载…

2026/8/15 23:40:34

GLM ZCode AI编程助手实战:从安装配置到项目开发全指南

最近,很多开发者朋友在群里讨论一个事儿:智谱AI的GLM大模型和ZCode编程助手,突然宣布对百万用户“重置用量”,并且伴随着新一轮的“价格战”。消息一出,有人欢呼“羊毛来了”,也有人疑惑“这是不是套路&…

2026/8/15 23:35:34

全网19套热门表情包整理:从筛选逻辑到高效使用全攻略

1. 项目缘起:为什么我要做表情包整理这件事不知道你有没有这样的经历:在群里聊天,想表达一个“无语”或者“震惊”的情绪,翻遍自己的表情库,发现要么是几年前的老古董,要么就是画风不搭,总感觉差…

2026/8/15 9:46:30

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/15 7:22:41

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/15 0:04:00

AI 电动婴儿车智能功率 辅助控制、电源管理的完整选型方案

2026年随着 AI 技术在电动孕婴童用品中的深度渗透(如智能避障、自适应速度控制、能量回收),电动婴儿车对功率器件提出更高要求:高效率、小型化、低功耗、高可靠性。微碧半导体(VBsemi)基于 Trench 及 SGT 工…

2026/8/15 0:04:00

论文AIGC检测不达标完整教程!低门槛用5款工具逐步复检!

论文提交前自己先查一遍AI率,是2026年毕业生的常规动作。学校要求论文AI率低于30%,乃至于20%才能答辩… 很多同学发现一个尴尬的事情:同一篇论文,知网查出来AI率35%,维普查可能是48%,大雅、朱雀又是另外的数…

2026/8/15 9:46:39

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/15 4:56:16

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/15 9:46:30

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…