CrewAI 初体验

发表于 2026-04-30 00:00 1075 字 6 min read

猪京京 avatar

猪京京

猪京京的数字花园,记录学习、思考和探索的空间

CrewAI 的安装、基础配置与最小可运行示例,适合作为多 Agent 工作流的入门笔记

引言

CrewAI 是一个适合多 Agent 协作场景的框架。虽然单个 Agent 也可以独立完成很多任务,但在需要拆分角色、分离职责、串联流程时,多 Agent 的组织方式通常更高效。

我之前用过另一个项目 三省六部 · Edict。它基于 OpenClaw,通过不同 Agent 模拟不同人格与职责,例如太子负责收集情报与日常对话,中书省负责安排任务分工。Edict 的优点是各 Agent 的职责和运行状态都很清晰,但它也会占用更多上下文空间。

相比之下,CrewAI 更轻量。它更适合作为多 Agent 工作流的入门方案:用更少的 Token 和更直接的结构,就能搭出一个能协作、能分工、能输出结果的 Agent 团队。

安装与更新

CrewAI 与 uv 深度绑定,官方文档也推荐优先使用 uv 来完成安装:

uv tool install crewai
# 更新 CrewAI
uv tool install crewai --upgrade

如果你还没有安装 uv,可以先执行:

curl -LsSf https://astral.sh/uv/install.sh | sh

最小可运行示例

下面以 DeepSeek 为例,在只改动三个文件的前提下,搭一个能自动收集并整理信息的入门项目。

创建新项目

安装完成后,就可以直接使用 crewai 命令创建一个新的 AI 项目:

crewai create crew <your_project_name>

执行后,CrewAI 会像 uv 一样创建项目目录,并生成一套基础结构。这里先不展开每个文件的职责,而是优先用一个最小示例把基础流程跑通。

配置模型 API

运行创建命令时,CLI 会提示你选择模型和对应的 API。即使一开始填错也没关系,因为这些配置最终都会写入 .env 文件;如果你全部跳过,通常会得到一个空的 .env

这里我们以 DeepSeek 模型 API 作为示例。如果你需要使用其它模型的 API,请到对应平台官网查找具体配置:

# .env

# 核心模型配置
MODEL=deepseek/deepseek-chat
API_BASE=https://api.deepseek.com/v1
DEEPSEEK_API_KEY=sk-your-deepseek-key


# 可选:如果 CrewAI 默认仍寻找 OpenAI key,可显式兼容
OPENAI_API_BASE=https://api.deepseek.com/v1
OPENAI_API_KEY=sk-your-openai-compatible-key

[!tip] 如果你只是想先验证流程是否跑通,建议优先使用自己最熟悉、最稳定的模型供应商;等整体流程稳定后,再切换到目标模型。

项目规划

在填写完基础信息之后,就可以进入项目的实际配置阶段。

第一步是在 agents.yaml 中定义 Agent 角色,第二步是在 tasks.yaml 中定义任务流程。

# src/project/config/agents.yaml

researcher:
  role: >
    资深技术分析师
  goal: >
    发现 {topic} 领域的最新趋势
  backstory: >
    你是一名顶尖的技术调研专家,擅长从海量信息中提取核心洞察。

reporting_analyst:
  role: >
    {topic} Reporting Analyst
  goal: >
    Create detailed reports based on {topic} data analysis and research findings
  backstory: >
    You're a meticulous analyst with a keen eye for detail. You're known for
    your ability to turn complex data into clear and concise reports, making
    it easy for others to understand and act on the information you provide.

这里我们只定义两个 Agent:一个负责信息收集,另一个负责分析与汇报。

# src/project/config/tasks.yaml

research_task:
  description: >
    深入调研 {topic} 的现状。
  expected_output: >
    一份包含 5 个关键点的调研简报。
  agent: researcher

reporting_task:
  description: >
    Review the context you got and expand each topic into a full section for a report.
    Make sure the report is detailed and contains any and all relevant information.
  expected_output: >
    A fully fledged report with the main topics, each with a full section of information.
    Formatted as markdown without '```'
  agent: reporting_analyst

这样一来,每个 Agent 的职责和任务边界就清楚了,最终再以标准 Markdown 形式输出整理结果。

运行整个项目

完成上述配置后,就可以启动 CrewAI 运行这个信息收集项目。

crewai install
crewai run

运行后,整个流程会自动执行,并输出最终整理好的结果。

[!note] 如果你已经熟悉单 Agent 工作流,可以把这篇笔记理解为一个最小化的多 Agent 迁移示例:先拆角色,再拆任务,最后再决定是否引入工具、记忆和流程控制。

命令启动

Agent 启动

汇报 Agent 启动

任务完成并生成最终结果

© 2025 - 2026 猪京京 @pigthinktank
Powered by theme astro-koharu · Inspired by Shoka