crew AI笔记[9] - 运用crew AI框架构建实战级agent项目
练练手可以,副作用很明显,因为我根本就不熟悉crew AI到底是个啥玩意,框架把实现细节都屏蔽了,让人更加难以了解细节。构造出合理的agent协作流程,并据此写出高质量的prompt,这才是crew AI应用工程师的核心竞争力【个人理解,不喜勿喷 ^_^】懂提示工程,具备领导力(是的,用crew AI就像管理者指挥各种专家协同作战一样),深刻理解业务,了解原始需求,能够。所以说用agent做个玩具
目标
参考官网推荐开发流程,利用yaml和crewai工具构建一个标准化框架
ps:第一次尝鲜crew AI我就发现这玩意应该要整一个脚手架,让我们聚焦在任务拆解(agent结构设计)和prompt优化上,不把时间浪费在基础设施构建上。当时我还用Gemini通过对话的方式花了一下午捣鼓出了一个自定义框架,居然也能用。练练手可以,副作用很明显,因为我根本就不熟悉crew AI到底是个啥玩意,框架把实现细节都屏蔽了,让人更加难以了解细节。所以强烈建议读者老老实实先裸奔,看完[1]-[8]的教程,再考虑上框架实战。
前提条件
python版本: Python >=3.10 and <3.14
crewai版本:好像没啥关系?
openai版本:openai >= 1.13.3
安装uv:
推荐
pip install uv
官网提供
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
利用uv构建crewai框架【easy】
环境依赖
uv tool install crewai
此处可选创建虚拟环境
碰到环境问题, xxxx is not on your PATH.
修复:
uv tool update-shell
确认安装正确:
uv tool list
创建crew AI脚手架
crewai create crew <your_project_name>
工程结构
my_project/
├── .gitignore
├── knowledge/
├── pyproject.toml
├── README.md
├── .env
└── src/
└── my_project/
├── __init__.py
├── main.py
├── crew.py
├── tools/
│ ├── custom_tool.py
│ └── __init__.py
└── config/
├── agents.yaml
└── tasks.yaml
如何配置为qwen大模型?
.env改造
QWEN_API_KEY=your-qwen-api-key-here
请注意,原样抄即可(不要改一个字,或者随便乱写),因为QWEN_API_KEY会在代码段中配置
crew.py中增加一段修改LLM引用的代码
def __init__(self):
self.qwen_llm = LLM(
model='dashscope/qwen-plus',
base_url='https://dashscope.aliyuncs.com/compatible-mode/v1',
api_key=os.environ.get("QWEN_API_KEY"),
stream=False, # 设置为同步模式
temperature=0.7, # 控制模型输出的随机性
request_timeout=240, # 增加请求超时时间到240秒
max_retries=2,
)
agent和crew中引用这个东西即可
llm=self.qwen_llm
运行
crewai install
uv add <package-name>
crewai run
怎么改?【核心工作】
以上可以确保crewai框架可用,以下仔细探索如何在这个框架上自定义任务。自定义核心内容主要如下所示:
File | Purpose |
---|---|
agents.yaml |
Define your AI agents and their roles |
tasks.yaml |
Set up agent tasks and workflows |
main.py |
Project entry point and execution flow |
crew.py |
Crew orchestration and coordination |
tools/ |
Directory for custom agent tools |
knowledge/ |
Directory for knowledge base |
1、首先确定要干啥,先纸上谈兵,直接在A4纸或者processOn上比划一个最原始的需求
2、然后利用通用AI,以对话的形式,定制agents和tasks
3、再回到框架进行实际改造
基础:agents.yaml -> tasks.yaml -> crew.py -> main.py
进阶:tools/knowledge内置【todo】
看起来只有寥寥三段式,实际上内涵相当丰富。等哪天真的把agent玩明白以后再返回到这个地方,专门出几篇文章写这个点好了。
怎么调试【核心工作】
语法:crewai train -n <n_iterations> -f <filename.pkl>
实战:crewai train -n 2
# 迭代两次
重中之重,可参考后续教程:crew AI笔记【10】 - training特性-优化必备
感想
基于crew AI的agent设计,运用框架可以很容易构造出看起来能用的agent,但是能用和好用是两码事,真正的核心是这两点(个人愚见):
1、怎么合理构造agent?
懂提示工程,具备领导力(是的,用crew AI就像管理者指挥各种专家协同作战一样),深刻理解业务,了解原始需求,能够站在机器和数据的视角构造出合理的agent协作流程,并据此写出高质量的prompt,这才是crew AI应用工程师的核心竞争力【个人理解,不喜勿喷 ^_^】
所以说用agent做个玩具容易,要做个能实战的东西去解决实际问题,真的很难,自己去实践一下就知道了。
2、怎么优化和完善?
学会training的方法,这一点相对来说比较好办。
参考资料
更多推荐
所有评论(0)