
CrewAI · 角色化多 Agent 团队与事件驱动流程编排框架 · 原理学习与本地运行全指南
项目仓库: https://github.com/crewAIInc/crewAI
开源协议:MIT · 主语言:Python(要求 >=3.10 且
<3.14) · 依赖管理:UV · 运行形态:crewai
命令行 + Python 库 · 常驻服务端口:无(CLI 项目运行,无内置 Web 控制台)
· 分支:main(命令、配置项以官方仓库最新说明为准)
1 项目简介
CrewAI 是一个开源的 Python 多智能体自动化框架,官方定位为“面向生产就绪多 Agent 工作流的高层抽象与低层 API”。它提供两套互补的核心抽象:
- Crews(团队):由具备角色(role)、目标(goal)、背景故事(backstory)、工具与任务的 Agent 组成,强调自主协作与动态分工,适合需要 Agent 之间自然决策、委派与协作的场景。
- Flows(流程):事件驱动的确定性工作流,用
@start、@listen、@router等装饰器编排执行路径,配合结构化状态(Pydantic 模型)、条件分支与路由,把自主 Agent 包裹在可控的业务流程里。
框架的设计目标是让开发者在“Agent 自主协作”与“代码精确控制”之间自由切换:简单任务可以直接组建 Crew 跑通,复杂生产流程可以用 Flow 管理状态、分支、人工介入与检查点。官方 README 同时说明,CrewAI 提供工具、记忆、知识库、检查点、异步执行以及 MCP / A2A 支持等生产化能力。
定位说明:CrewAI 是框架与 CLI 工具,本身不内置大模型权重,默认通过 OpenAI API 调用模型,也支持接入本地模型(如 Ollama、LM Studio,见官方 LLM 连接文档)。本文侧重 Crew 与 Flow 的编排原理、最小可运行项目结构与本地安装运行方式,属于 Agent / 框架原理学习类内容。官方另有商业产品 CrewAI AMP Suite(控制平面、可观测性、企业支持),与开源框架本体相互独立,不在本文部署范围内。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | CrewAI |
| 仓库地址 | github.com/crewAIInc/crewAI |
| 项目定位 | 角色化多 Agent 团队(Crews)+ 事件驱动流程(Flows)编排框架 |
| 开源协议 | MIT(见仓库 LICENSE) |
| 主语言 / 运行时 | Python,要求 >=3.10 且 <3.14 |
| 依赖管理 | UV(官方推荐用于依赖与 CLI 安装) |
| 安装方式 | uv tool install crewai;项目内
crewai install 安装依赖 |
| 项目脚手架 | crewai create crew <project_name>(JSON-first
结构);--classic 生成旧版 Python/YAML 结构 |
| 运行命令 | crewai run;库模式
Crew(...).kickoff(inputs=...)、Flow
子类实例化 |
| 常驻服务端口 | 无;框架不提供内置 Web 控制台 |
| 模型接入 | 默认 OpenAI API;支持 Anthropic、Google Gemini、Azure、本地 Ollama / LM Studio 等,以官方 LLM 文档为准 |
| 官方文档 | docs.crewai.com |
1.2 适用场景
- 学习多 Agent 系统的两种主流编排思路:自主角色团队(Crew)与事件驱动流程(Flow)的区别与配合方式。
- 把研究、写作、数据分析、行程规划、岗位描述生成等多步任务拆成若干专职 Agent,按顺序或层级协作产出结构化结果。
- 在确定性业务代码中嵌入 Agent 步骤:用 Flow 管理状态、条件分支、人工审核节点与检查点,把 Crew 作为流程中的一个可调用环节。
- 为 Agent 配置工具(网页搜索、自定义 Python 工具、MCP
服务)、记忆、知识库与结构化输出(
output_pydantic/output_json)。 - 从实验原型平滑过渡到生产代码:保留 Python 原生定制能力,在框架之上扩展提示词、工具、执行路径与集成。
1.3 能力边界(官方口径)
- CrewAI 不提供模型本身,也不附带模型 API Key;Agent 的推理质量取决于所接入的模型。
- 框架聚焦 Agent 编排与工作流控制;可观测性、集中管理、企业级安全审计与 7×24 支持属于商业 AMP Suite 能力,开源框架本体不包含对应控制平面。
- 官方 README 明确:Crew 适合需要自主决策与动态交互的任务,Flow 适合需要精确执行路径与状态管理的任务;二者应按场景选择,而不是互相替代。
- 框架默认开启匿名遥测(版本、Python 版本、操作系统、Agent /
任务数量、流程类型、模型类型、工具名等),不收集提示词、任务描述、Agent
背景故事、工具调用、API 响应或密钥;开启
share_crew后才会上报更详细的任务执行数据。可通过环境变量OTEL_SDK_DISABLED=true关闭遥测。 - 框架不支持微调或训练基础模型;自定义领域能力通过接入已训练模型、知识库、工具与提示词实现。
2 功能特性
2.1 Crew:角色化自主团队
- 每个 Agent 由
role(角色)、goal(目标)、backstory(背景故事)、llm、tools、settings等字段定义,职责边界清晰。 - 任务(Task)包含
description、expected_output、agent、context(依赖其他任务的产物)、output_file、markdown、结构化输出等配置。 - 团队流程支持 sequential(顺序执行,任务按定义顺序流转)与 hierarchical(层级流程,自动指派一名经理 Agent 负责规划、委派与结果校验)两种模式,详见官方 Process 文档。
2.2 Flow:事件驱动的精确控制
- 用
@start()标记流程起点,@listen(...)监听上游方法或事件触发,@router(...)根据状态做条件路由。 - 支持
or_()、and_()组合多个触发条件;流程状态由泛型Flow[StateModel]绑定的 Pydantic 模型管理。 - Flow 内可以直接实例化并调用 Crew,把自主团队作为确定性流程中的一个步骤。
2.3 工具、记忆与知识库
- Agent 可挂载官方工具与自定义工具(项目
tools/目录,以"custom:<name>"引用);支持 MCP 与 A2A 集成。 - 支持记忆(memory)、知识库文件(
knowledge/)、技能(skills/)、检查点(checkpointing)、异步执行与人工介入(human input on execution)。 - 任务可声明
output_pydantic/output_json获得结构化输出,并支持output_file落盘。
2.4 模型灵活接入、无厂商锁定
- 默认使用 OpenAI API;官方 LLM 连接文档覆盖 Anthropic、Google Gemini、Azure、Groq、本地 Ollama、LM Studio 等多种接入方式,可在 Agent 级别或全局切换模型而不改动架构。
2.5 项目脚手架与 CLI 工程化
crewai create crew生成 JSON-first 项目结构:agents/*.jsonc定义 Agent,crew.jsonc定义任务、流程与输入默认值;旧版 Python/YAML 脚手架通过--classic生成。- 内置
crewai install、crewai run、crewai install之外的依赖追加(uv add <package>)等工程命令。
2.6 社区示例与课程
- 官方示例仓库
crewAIInc/crewAI-examples提供落地页生成、行程规划、股票分析、岗位描述生成等案例;官方与 DeepLearning.AI 合作提供多 Agent 系统入门与进阶课程。
3 官方界面预览
CrewAI 本体没有图形控制台;官方 README 提供了 Crew 与 Flows 两套抽象的结构对比图:左侧 Crew 以 Agent + LLM + 工具 + 记忆组成团队,任务依次汇聚到 Final Outcome;右侧 Flows 以代码、Crew 与共享 State 构成事件驱动流水线。

上图对应官方口径:Crew 提供更强的自主性(more agency),Flow 提供更细的流程控制(finer precision);两者可以组合在同一个应用中使用。
4 官方跳转链接汇总
下表列出项目相关的官方入口,均可直接点击访问。
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/crewAIInc/crewAI | 框架源码、README、脚手架与示例 |
| 官方文档 | docs.crewai.com | 安装、Agent、Task、Crew、Flow、记忆、工具、模型接入 |
| 安装指南 | docs.crewai.com/en/installation | UV 安装与 CLI 配置说明 |
| 模型接入 | docs.crewai.com/en/concepts/llms | 各厂商 API Key 与本地模型配置 |
| 流程模式 | docs.crewai.com/en/concepts/processes | Sequential 与 Hierarchical 流程说明 |
| 快速上手 | docs.crewai.com/en/quickstart | Flow-first 入门示例 |
| 官方示例仓库 | github.com/crewAIInc/crewAI-examples | 行程规划、股票分析、落地页生成等案例 |
| 官方网站 | crewai.com | 项目主页与开源入口 |
| 商业产品 | CrewAI AMP Suite | 企业控制平面(独立商业产品,非开源框架) |
| 云试用入口 | app.crewai.com | Crew Control Plane 免费试用入口 |
| 社区论坛 | community.crewai.com | 使用问题与经验交流 |
| 学习平台 | learn.crewai.com | 官方认证课程入口 |
| Issues 反馈 | github.com/crewAIInc/crewAI/issues | Bug 反馈与功能建议 |
| README 原文 | raw README.md | 本指南整理所依据的官方说明 |
5 前置要求与服务器配置
5.1 软件前提
Python
>=3.10且<3.14:用python3 --version检查版本区间;不在区间内时先切换或新建 Python 环境。UV:官方推荐的依赖管理与 CLI 安装工具。macOS / Linux 安装:
curl -LsSf https://astral.sh/uv/install.sh | sh # 没有 curl 时使用 wget wget -qO- https://astral.sh/uv/install.sh | shWindows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"安装后若出现 PATH 提示,执行
uv tool update-shell刷新当前 shell 配置。模型服务凭据:在项目
.env中配置模型提供商 API Key;使用网页搜索工具时需要 Serper.dev 的SERPER_API_KEY。网络访问:需要能访问所选模型接口;接入本地模型时则需要本机模型服务已启动。
Windows 附加提示:若安装中遇到
chroma-hnswlib==0.7.6构建错误(fatal error C1083: Cannot open include file: 'float.h'),需安装 Visual Studio Build Tools 并勾选“使用 C++ 的桌面开发”,按官方安装指南处理。
5.2 硬件与系统建议(官方口径)
| 项目 | 说明 |
|---|---|
| GPU | 框架本身不在本机跑模型,无独立显卡硬性要求;接入本地模型时再按模型运行环境准备 GPU / 显存 |
| CPU / 内存 | 普通开发机即可,占用取决于 Agent 数量、并发任务与所选工具 |
| 存储 | 预留数百 MB 至数 GB 用于项目虚拟环境、依赖与产物文件 |
| 操作系统 | Linux、macOS、Windows 均可;Windows 构建原生扩展时需配备 C++ 构建工具链 |
5.3 目录与端口说明
| 项 | 默认路径 / 取值 | 用途 |
|---|---|---|
| 项目配置 | 项目根目录 .env |
模型 Key、搜索 Key 等环境变量 |
| Agent 定义 | agents/*.jsonc |
各 Agent 的 role、goal、backstory、llm、tools、settings |
| 团队与任务定义 | crew.jsonc |
Agent 列表、任务列表、流程模式、输入默认值、verbose |
| 自定义工具 | tools/ |
项目私有工具,在 Agent 配置中以 "custom:<name>"
引用 |
| 知识库 / 技能 | knowledge/、skills/ |
知识文件与技能文件目录 |
| 产物输出 | 任务 output_file 指定路径(示例
output/report.md) |
任务结果落盘位置 |
| 常驻端口 | 无 | 框架不启动监听端口;人工介入、对外服务由使用者自行搭建 |
6 方式一:CLI 快速安装与项目运行(推荐入门)
本方式对应官方 README 的 Getting Started 流程,适合新建项目、学习编排与本地实验。框架类项目无常驻服务端,官方未提供 Docker Compose 部署文件,故本章不编造 Compose 编排,以官方 CLI 流程为准。
6.1 安装 CrewAI CLI
# 安装全局 crewai CLI
uv tool install crewai
# 若 PATH 未刷新,执行一次 shell 配置更新
uv tool update-shell
# 验证安装(输出示例:crewai v0.102.0 - crewai,版本号以实际安装为准)
uv tool list后续升级全局 CLI:
uv tool install crewai --upgrade注意:上述命令只升级全局
crewaiCLI;项目虚拟环境内的crewai包版本需按官方“Upgrading CrewAI in a project”指南单独升级。
6.2 创建 Crew 项目
# JSON-first 项目(官方当前默认脚手架)
crewai create crew latest-ai-development
cd latest_ai_development生成的目录结构:
my_project/
├── .gitignore
├── .env
├── agents/
│ └── researcher.jsonc
├── crew.jsonc
├── knowledge/
├── pyproject.toml
├── README.md
├── skills/
└── tools/需要旧版 Python/YAML
脚手架(crew.py、config/agents.yaml、config/tasks.yaml)时:
crewai create crew <project_name> --classic6.3 编写 Agent 与团队配置
agents/researcher.jsonc:
{
"role": "{topic} Senior Data Researcher",
"goal": "Uncover cutting-edge developments in {topic}",
"backstory": "You're a seasoned researcher who finds relevant information and presents it clearly.",
"llm": "openai/gpt-4o",
"tools": ["SerperDevTool"],
"settings": {
"verbose": true
}
}agents/reporting_analyst.jsonc:
{
"role": "{topic} Reporting Analyst",
"goal": "Create detailed reports based on {topic} data analysis and research findings",
"backstory": "You're a meticulous analyst who turns complex data into clear, concise reports.",
"llm": "openai/gpt-4o",
"settings": {
"verbose": true
}
}crew.jsonc:
{
"name": "Latest AI Development",
"agents": ["researcher", "reporting_analyst"],
"tasks": [
{
"name": "research_task",
"description": "Conduct thorough research about {topic}. Find recent, relevant information.",
"expected_output": "A list with 10 bullet points of the most relevant information about {topic}.",
"agent": "researcher"
},
{
"name": "reporting_task",
"description": "Review the research and expand each topic into a full section for a report.",
"expected_output": "A markdown report with the main topics, each with a full section of information. No fenced code blocks around the whole document.",
"agent": "reporting_analyst",
"context": ["research_task"],
"output_file": "output/report.md",
"markdown": true
}
],
"process": "sequential",
"verbose": true,
"inputs": {
"topic": "AI Agents"
}
}6.4 填写环境变量并运行
在 .env 中填写模型提供商 API Key;使用网页搜索工具时填写
SERPER_API_KEY:
OPENAI_API_KEY=sk-你的密钥
# SERPER_API_KEY=你的 Serper 密钥(需要网页搜索时填写)在项目目录内安装依赖并运行:
crewai install
crewai run运行过程中控制台输出执行日志;任务完成后在项目根目录生成
output/report.md。配置中的 {placeholder}
占位符未在 inputs 中给默认值时,crewai run
会在命令行提示输入。
7 方式二:源码克隆与库模式本地开发
7.1 克隆仓库并安装开发依赖
面向阅读框架源码、二次开发或向官方贡献代码:
git clone https://github.com/crewAIInc/crewAI.git
cd crewAI
# 安装全部分组与附加依赖
uv sync --all-groups --all-extras
# 安装提交钩子
uv run pre-commit install常用开发命令(官方 README):
# 运行测试
uv run pytest lib/crewai/tests/ -x -q
# 类型检查
uv run mypy lib/7.2 库模式最小 Crew 示例
在自己的 Python 项目中安装 crewai 包后,可直接用代码定义
Agent、Task 与 Crew:
from crewai import Agent, Crew, Task, Process
researcher = Agent(
role="Senior Data Researcher",
goal="Uncover cutting-edge developments in AI Agents",
backstory="You're a seasoned researcher who finds relevant information and presents it clearly.",
verbose=True,
)
analyst = Agent(
role="Reporting Analyst",
goal="Create detailed reports based on research findings",
backstory="You're a meticulous analyst who turns complex data into clear, concise reports.",
verbose=True,
)
research_task = Task(
description="Research recent developments in AI Agents.",
expected_output="A list with 10 bullet points of the most relevant information.",
agent=researcher,
)
report_task = Task(
description="Review the research and expand each topic into a full section for a report.",
expected_output="A markdown report with a full section of information for each topic.",
agent=analyst,
context=[research_task],
output_file="output/report.md",
)
crew = Crew(
agents=[researcher, analyst],
tasks=[research_task, report_task],
process=Process.sequential,
verbose=True,
)
result = crew.kickoff(inputs={"topic": "AI Agents"})
print(result)7.3 库模式 Crew + Flow 组合示例
官方 README 给出了在 Flow 中实例化 Crew、用 @router
按置信度分流的完整示例,体现“确定性流程包裹自主团队”的典型模式:
from crewai.flow.flow import Flow, listen, start, router, or_
from crewai import Crew, Agent, Task, Process
from pydantic import BaseModel
class MarketState(BaseModel):
sentiment: str = "neutral"
confidence: float = 0.0
recommendations: list = []
class AdvancedAnalysisFlow(Flow[MarketState]):
@start()
def fetch_market_data(self):
self.state.sentiment = "analyzing"
return {"sector": "tech", "timeframe": "1W"}
@listen(fetch_market_data)
def analyze_with_crew(self, market_data):
analyst = Agent(
role="Senior Market Analyst",
goal="Conduct deep market analysis with expert insight",
backstory="You're a veteran analyst known for identifying subtle market patterns",
)
researcher = Agent(
role="Data Researcher",
goal="Gather and validate supporting market data",
backstory="You excel at finding and correlating multiple data sources",
)
analysis_task = Task(
description="Analyze {sector} sector data for the past {timeframe}",
expected_output="Detailed market analysis with confidence score",
agent=analyst,
)
research_task = Task(
description="Find supporting data to validate the analysis",
expected_output="Corroborating evidence and potential contradictions",
agent=researcher,
)
analysis_crew = Crew(
agents=[analyst, researcher],
tasks=[analysis_task, research_task],
process=Process.sequential,
verbose=True,
)
return analysis_crew.kickoff(inputs=market_data)
@router(analyze_with_crew)
def determine_next_steps(self):
if self.state.confidence > 0.8:
return "high_confidence"
elif self.state.confidence > 0.5:
return "medium_confidence"
return "low_confidence"
@listen("high_confidence")
def execute_strategy(self):
strategy_crew = Crew(
agents=[Agent(role="Strategy Expert", goal="Develop optimal market strategy")],
tasks=[Task(description="Create detailed strategy based on analysis",
expected_output="Step-by-step action plan")],
)
return strategy_crew.kickoff()
@listen(or_("medium_confidence", "low_confidence"))
def request_additional_analysis(self):
self.state.recommendations.append("Gather more data")
return "Additional analysis required"运行 Flow 入口的方式、状态读写细节以官方 Flow 文档为准。
8 配置项说明
8.1 .env 环境变量
| 变量 | 用途 | 必填条件 |
|---|---|---|
OPENAI_API_KEY |
默认 OpenAI 模型接入密钥 | 使用 OpenAI 模型时必填 |
OPENAI_BASE_URL |
OpenAI 兼容接口地址(接入代理或兼容网关时使用) | 可选 |
ANTHROPIC_API_KEY |
Anthropic 模型接入密钥 | 使用 Anthropic 模型时必填 |
GEMINI_API_KEY / GOOGLE_API_KEY |
Google Gemini 接入密钥 | 使用 Gemini 模型时必填 |
AZURE_API_KEY 等 |
Azure 及其他提供商密钥(完整清单见官方 LLM 文档) | 按所选模型填写 |
SERPER_API_KEY |
Serper.dev 网页搜索工具密钥 | 使用 SerperDevTool 时必填 |
OTEL_SDK_DISABLED=true |
关闭框架匿名遥测 | 可选,按需设置 |
模型标识符写法(如
openai/gpt-4o)、本地 Ollama / LM Studio 的连接参数与模型名格式,以官方 LLM 连接文档当前版本为准。
8.2 agents/*.jsonc 字段
| 字段 | 用途 |
|---|---|
role |
Agent 角色名称,支持 {placeholder} 占位 |
goal |
角色目标,决定任务方向 |
backstory |
背景故事,塑造角色语气与专长定位 |
llm |
指定模型标识符;不填时使用全局默认模型 |
tools |
工具名列表,官方工具或 "custom:<name>"
自定义工具 |
settings |
verbose 等 Agent 运行参数 |
8.3 crew.jsonc 字段
| 字段 | 用途 |
|---|---|
name |
Crew 名称 |
agents |
Agent 配置文件引用列表(不含扩展名) |
tasks |
任务定义数组:name、description、expected_output、agent、context、output_file、markdown
等 |
process |
sequential 或 hierarchical |
verbose |
是否输出详细执行日志 |
inputs |
占位符默认值;运行时缺失会在 CLI 提示输入 |
8.4 代码层常用参数
| 位置 | 参数 / 装饰器 | 用途 |
|---|---|---|
Agent(...) |
role / goal / backstory /
tools / llm / memory /
verbose |
定义角色及其能力与记忆 |
Task(...) |
description / expected_output /
agent / context / output_pydantic
/ output_json / output_file /
human_input |
定义任务、依赖、结构化输出与人工审核 |
Crew(...) |
agents / tasks / process /
memory / knowledge_sources /
verbose / share_crew |
组建团队并声明流程与共享能力 |
Flow 装饰器 |
@start() / @listen(...) /
@router(...) / or_() /
and_() |
标记起点、监听触发、条件路由与复合触发条件 |
9 常用运维命令
9.1 CLI 项目命令
# 安装项目依赖
crewai install
# 运行项目
crewai run
# 追加项目依赖(UV 管理)
uv add <package-name>
# 查看已安装工具与版本
uv tool list9.2 源码开发命令
# 安装开发依赖
uv sync --all-groups --all-extras
# 提交钩子
uv run pre-commit install
# 测试
uv run pytest lib/crewai/tests/ -x -q
# 类型检查
uv run mypy lib/9.3 日常检查与产物管理
# 查看当前虚拟环境与 crewai 包版本
uv pip list | grep crewai
# 检查 .env 是否被 .gitignore 排除,避免密钥入库
cat .gitignore | grep .env
# 备份项目配置与产物(agents、crew.jsonc、tools、knowledge、output)CrewAI 没有容器常驻服务,因此不存在“查看容器日志、重启服务”等运维操作;调试时通过
verbose: true观察 Agent 与任务执行轨迹,产物以任务output_file落盘位置为准。
10 常见故障排查
10.1 Python 版本不在支持区间
现象:crewai install
或导入时报依赖解析失败、语法错误。
排查:python3 --version 确认在
3.10 到 3.13 之间;使用
uv init --python 3.11 或 conda
新建符合区间的环境后重试。
10.2 crewai
命令找不到或 PATH 未刷新
现象:安装后终端提示 command not found。
排查:执行
uv tool update-shell,重新打开终端;用
uv tool list 确认 CLI 已注册;必要时重新执行
uv tool install crewai。
10.3 模型认证失败(401 / 403)
现象:Agent 启动后调用模型返回认证错误。
排查:核对 .env
中对应提供商密钥变量名是否正确、密钥是否过期或欠费;使用非 OpenAI
模型时检查 llm 标识符与 base_url
配置;同一密钥不要同时写入多个冲突变量。
10.4 网页搜索工具报错或缺工具
现象:任务执行到搜索步骤报错提示缺少工具或 Key。
排查:确认 SERPER_API_KEY 已配置;Agent
配置中的工具名与已安装工具包一致;自定义工具已放入 tools/
目录并在 Agent 配置中以 "custom:<name>"
正确引用。
10.5 任务上下文未传递、报告缺少上游信息
现象:第二个任务拿不到研究结果。
排查:在任务配置 context
中声明上游任务名;顺序流程下确认任务在 tasks
数组中的顺序与依赖关系一致;检查 expected_output
是否明确要求了下游需要的内容。
10.6 Hierarchical 流程行为不符合预期
现象:层级流程中经理 Agent 未按预期委派任务。
排查:先按官方 Process
文档核对层级流程的适用条件;确保经理角色模型具备足够指令遵循能力;必要时先用
sequential 跑通流程,再切换为 hierarchical
对比行为差异。
10.7 Windows 原生扩展构建失败
现象:crewai install 卡在
chroma-hnswlib 等包编译并报 float.h 找不到。
排查:按官方说明安装 Visual Studio Build Tools
并勾选“使用 C++ 的桌面开发”,重启终端后重试;或在 WSL2 中运行项目。
10.8 遥测与数据上报顾虑
现象:担心框架上报提示词或任务内容。
排查:官方 README
说明默认遥测不收集提示词、任务描述、背景故事、工具调用、响应与密钥;如仍需关闭,在
.env 设置
OTEL_SDK_DISABLED=true;share_crew
默认为关闭,不要在不需要时显式开启。
11 风险与合规说明
- 许可证:CrewAI 开源框架以 MIT 许可证发布,允许使用、修改与再分发;商业使用请保留版权与许可证声明。企业级控制平面、可观测性、安全合规与专属支持属于 CrewAI AMP Suite 商业能力,部署到团队生产环境前请阅读官方商业条款。
- 模型与数据合规:任务描述、资料片段、工具返回内容会发送到所选模型服务商;接入第三方商业模型须遵守其服务条款与数据处理约定;涉密代码、客户数据优先选择私有部署模型并做好访问控制。
- AI 产出审查:Agent 生成的报告、代码、分析结论属于辅助初稿,可能包含事实错误、引用过时或逻辑漏洞;对外发布或进入决策流程前必须由人工复核。
- 凭据管理:
.env中的模型 Key、搜索 Key 属于敏感信息,不要提交到 Git 仓库、不要写入文章、截图或公开示例;更换密钥后重启任务生效。 - 工具与 MCP 安全:自定义工具与外部 MCP 服务可能访问本地文件、网络与系统命令,只挂载可信工具并控制其权限;人工介入节点应保留在关键审批位置。
- 版本兼容性:框架迭代较快,脚手架格式(JSON-first 与
--classic)、模型标识符与配置字段可能随版本调整;新项目以官方当前文档与crewai --help输出为准。