目标

参考官网推荐开发流程,利用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的方法,这一点相对来说比较好办。

参考资料

uv教程

uv更新国内源

官网资料

官网视频

Logo

更多推荐