演示搜索员、文案员与审核员如何协同工作前言为什么你需要一条 AI 内容流水线做过自媒体的朋友都懂那种痛苦——选题、收集资料、写初稿、自我审核、反复打磨一篇 2000 字的干货文章往往要耗费半天时间。而且一旦进入创作瓶颈效率更是断崖式下跌。如果有三个 AI 助手一个专门负责搜索最新资讯一个专门负责把信息转化成吸引人的文案还有一个专门负责挑毛病、把关质量——那会怎样这正是CrewAI要解决的问题。它是一个基于角色扮演的多智能体框架让你像组建一支小团队一样来定义 AI 的分工协作方式。本文就带你从零搭建一条完整的自媒体内容创作流水线。一、理解 CrewAI 的核心概念在动手写代码之前先把 CrewAI 的三个核心概念搞清楚Agent智能体拥有特定角色、目标和背景故事的 AI 执行者。你可以把它理解为一名有专业技能的员工。Task任务分配给 Agent 的具体工作包括任务描述、期望输出和负责的 Agent。Crew团队将多个 Agent 和 Task 组织起来定义执行流程顺序或并行的容器。我们今天要搭建的流水线对应三个角色角色职责 搜索员Researcher收集指定主题的最新信息、数据和案例✍️ 文案员Copywriter将原始信息加工为结构清晰、语言生动的文章✅ 审核员Reviewer检查内容质量、事实准确性和表达规范性二、环境准备pip install crewai crewai-tools openai在项目根目录创建.env文件填入你的 OpenAI API KeyOPENAI_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxx OPENAI_MODEL_NAMEgpt-4o三、定义三位员工创建agents.pyfrom crewai import Agent from crewai_tools import SerperDevTool # 搜索工具需要 SERPER_API_KEY 环境变量 search_tool SerperDevTool() # ── 搜索员 ────────────────────────────────────────── researcher Agent( role资深内容研究员, goal针对给定话题深度搜集最新、最权威的信息整理出结构化的研究摘要, backstory( 你是一位有着十年经验的内容研究专家擅长在海量信息中快速定位 高价值的数据、案例和观点。你的研究笔记逻辑清晰为后续创作奠定坚实基础。 ), tools[search_tool], verboseTrue, allow_delegationFalse, ) # ── 文案员 ────────────────────────────────────────── copywriter Agent( role爆款内容文案师, goal将研究素材转化为一篇结构完整、观点鲜明、适合自媒体传播的优质文章, backstory( 你是一位深耕科技/商业领域的自媒体创作者文章曾多次登上微信公众号热榜。 你擅长用讲故事的方式传递复杂概念语言风格兼顾专业性与可读性。 ), verboseTrue, allow_delegationFalse, ) # ── 审核员 ────────────────────────────────────────── reviewer Agent( role内容质量审核官, goal从事实准确性、逻辑连贯性和表达规范性三个维度对文章进行全面审核给出修改意见或最终定稿, backstory( 你是一位有媒体从业背景的内容审核专家对信息失真、逻辑漏洞和语言歧义零容忍。 你的审核报告条理分明能帮助文案师迅速定位并解决问题。 ), verboseTrue, allow_delegationFalse, )四、定义三项工作任务创建tasks.pyfrom crewai import Task from agents import researcher, copywriter, reviewer def build_tasks(topic: str): # ── 任务一研究 ────────────────────────────────── research_task Task( description( f请围绕主题【{topic}】展开深度研究。\n 具体要求\n 1. 搜集该主题的最新动态近 3 个月内优先\n 2. 整理 35 个典型案例或数据支撑\n 3. 归纳 23 个核心观点或争议焦点\n 输出格式结构化 Markdown包含「背景摘要」「核心数据」「典型案例」「主要观点」四个章节。 ), expected_output一份 800 字以上的结构化研究报告Markdown 格式, agentresearcher, ) # ── 任务二创作 ────────────────────────────────── writing_task Task( description( f根据研究员提供的报告撰写一篇关于【{topic}】的自媒体文章。\n 要求\n 1. 标题吸引眼球正文 15002000 字\n 2. 结构清晰引言 → 核心观点3 段→ 案例佐证 → 结语\n 3. 语言生动避免堆砌术语适合微信公众号/知乎发布\n 4. 在适当位置引用研究数据增强说服力 ), expected_output一篇完整的自媒体文章Markdown 格式含标题、正文、结语, agentcopywriter, context[research_task], # 依赖研究任务的输出 ) # ── 任务三审核 ────────────────────────────────── review_task Task( description( 请对文案员提交的文章进行全面审核重点检查\n 1. 【事实核查】文中数据和案例是否与研究报告一致有无夸大或失实\n 2. 【逻辑审查】论点与论据是否匹配行文是否前后连贯\n 3. 【表达规范】有无错别字、病句、不当用语\n\n 如发现问题请列出「问题清单」并给出修改建议\n 若整体质量达标直接输出「✅ 终稿」并附上最终版本。 ), expected_output审核报告含问题清单与修改建议或直接输出终稿, agentreviewer, context[research_task, writing_task], ) return [research_task, writing_task, review_task]五、组建团队启动流水线创建main.pyfrom crewai import Crew, Process from agents import researcher, copywriter, reviewer from tasks import build_tasks def run_pipeline(topic: str): tasks build_tasks(topic) crew Crew( agents[researcher, copywriter, reviewer], taskstasks, processProcess.sequential, # 顺序执行研究 → 创作 → 审核 verboseTrue, ) result crew.kickoff() return result if __name__ __main__: topic AI Agent 在企业自动化中的最新应用趋势 output run_pipeline(topic) print(\n *60) print( 最终输出) print(*60) print(output) # 可选将结果保存到文件 with open(output_article.md, w, encodingutf-8) as f: f.write(str(output)) print(\n✅ 文章已保存至 output_article.md)运行python main.py六、执行流程全景图用户输入话题 │ ▼ ┌─────────────────┐ │ 搜索员 │ 调用 SerperDevTool 搜索网络 │ Researcher │ → 输出结构化研究报告 └────────┬────────┘ │ 研究报告 ▼ ┌─────────────────┐ │ ✍️ 文案员 │ 接收研究报告作为上下文 │ Copywriter │ → 输出完整自媒体文章 └────────┬────────┘ │ 文章草稿 研究报告 ▼ ┌─────────────────┐ │ ✅ 审核员 │ 双重上下文报告 草稿 │ Reviewer │ → 输出审核意见 / 终稿 └─────────────────┘ │ ▼ 最终文章三个 Agent 通过context参数传递上下文形成一条信息逐步富化的流水线——这正是 CrewAI 与单纯prompt 链最本质的区别每个 Agent 都是有记忆、有目标、能使用工具的独立执行者而不只是一个文本变换函数。七、进阶技巧让流水线更强大① 加入人工干预节点如果你不想完全放手给 AI可以在创作任务完成后暂停由人工确认后再触发审核writing_task Task( ..., human_inputTrue, # 执行到此处时终端会要求人工输入反馈 )② 使用并行执行提升速度若搜索员可以同时收集多个子话题将Process.sequential改为Process.hierarchical并指定一个 Manager Agent 来调度并行子任务整体耗时可缩短 40%60%。③ 接入自定义工具CrewAI 的工具接口兼容 LangChain Tools你可以轻松接入from langchain.tools import WikipediaQueryRun from langchain_community.utilities import WikipediaAPIWrapper wiki_tool WikipediaQueryRun(api_wrapperWikipediaAPIWrapper()) researcher Agent(..., tools[search_tool, wiki_tool])④ 持久化输出将每次运行的研究报告、草稿和终稿分别存档形成可复用的素材库为下一篇文章的创作积累语料。八、踩坑记录在实际使用中有几个细节值得注意Token 消耗三个 Agent 顺序执行时上下文会累积传递复杂话题单次运行可能消耗 15,00030,000 tokens建议在非生产环境先用 GPT-3.5 调试流程确认无误后再切换 GPT-4o。搜索工具的稳定性SerperDevTool 依赖外部 API网络波动时会导致任务失败。建议为 Researcher Agent 配置max_retry_limit3并在 Task 描述中注明若搜索失败可基于已有知识进行合理推断。输出格式控制在expected_output中尽量具体描述格式要求字数、章节、是否含代码块等否则不同 Agent 的输出风格差异会让后续 Agent 的理解成本显著上升。结语一条真正可用的 AI 内容流水线不只是把几个 prompt 串联起来而是要让每个环节都有明确的职责边界和质量标准。CrewAI 提供的 Agent-Task-Crew 三层抽象恰好给了我们一个足够清晰的框架来实现这一点。从今天的例子出发你完全可以把审核员替换成SEO 优化师或者在流水线末尾加上一个排版员来自动生成适配不同平台的格式——可能性是开放的。Multi-Agent 的核心价值不是让 AI 更聪明而是让 AI 更分工。就像一支优秀的团队每个人都在自己最擅长的赛道上全力冲刺最终汇聚成远超个体的整体产出。