ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Crew AI源码分析 Day1 学习过程中上下文记忆的问题+环境安装

Crew AI源码分析 Day1 学习过程中上下文记忆的问题+环境安装

Day1:ReadMe

在uv中装crew ai

1.在 D 盘创建项目 + 虚拟环境(CrewAI 用)

powershell

# 1. 切到 D 盘 D: # 2. 建项目目录(名字随便) mkdir D:\uv_projects\crewai_project cd D:\uv_projects\crewai_project # 3. 初始化 uv 项目(生成 pyproject.toml) uv init # 4. 创建虚拟环境(就在 D:\crewai_project\.venv) uv venv # 5. 激活环境(必须!) .venv\Scripts\Activate

2. 创建虚拟环境(.venv)

powershell

uv venv

3. 激活虚拟环境

powershell

.venv\Scripts\Activate

4.每次使用的固定流程

  1. 切到项目目录

    powershell

    D: cd D:\uv_projects\crewai_project
  2. 激活虚拟环境

    powershell

    .venv\Scripts\Activate

5.安装 CrewAI

uv pip install crewai

使用crew ai

要创建新的 CrewAI 项目,请执行以下 CLI(命令行界面)命令:

crewai create crew <project_name>sailor

该命令创建一个新的项目文件夹,结构如下:

my_project/ ├── .gitignore ├── 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-修改以定义你的任务

你现在可以通过编辑文件夹里的文件开始开发你的团队。文件是项目的入口,文件是定义团队的地方,文件是定义代理的地方,文件是定义任务的地方。src/my_projectmain.pycrew.pyagents.yamltasks.yaml

为了定制你的项目,你可以:

  • 修改以定义你的代理人。src/my_project/config/agents.yaml
  • 修改以定义你的任务。src/my_project/config/tasks.yaml
  • 修改以添加你自己的逻辑、工具和具体论据。src/my_project/crew.py
  • 修改后为你的代理和任务添加自定义输入。src/my_project/main.py
  • 把环境变量添加到文件里。.env

CrewAI 的设计思路是:配置和代码分离。

  • YAML 文件定义"是什么"(Agent 的角色、Task 的描述)
  • Python 文件定义"怎么做"(工具、逻辑、执行方式)

接入小米的模型

# 小米 MIMO OpenAI 兼容接口配置 OPENAI_API_BASE=https://token-plan-cn.xiaomimimo.com/v1 OPENAI_API_KEY=你的MIMO平台密钥(替换成你自己的) OPENAI_MODEL_NAME=你的MIMO模型名(比如 mimo-chat,按平台要求填写) # CrewAI 日志配置 CREWAI_LOG_LEVEL=INFO

crew/agents.py关键代码(对接 MIMO)

你只需要确保ChatOpenAI部分是这样写的,就能自动读取.env里的配置:

from crewai import Agent from dotenv import load_dotenv import os from langchain_openai import ChatOpenAI # 加载 .env 里的配置 load_dotenv() # 实例化小米 MIMO 模型 mimo_llm = ChatOpenAI( base_url=os.getenv("OPENAI_API_BASE"), api_key=os.getenv("OPENAI_API_KEY"), model_name=os.getenv("OPENAI_MODEL_NAME"), temperature=0.7, timeout=180, # 公网接口建议延长超时 ) # 示例:定义一个研究员 Agent researcher = Agent( role="资深研究员", goal="精准搜集并整理指定主题的有效信息", backstory="你是一名经验丰富的信息研究员", llm=mimo_llm, # 绑定 MIMO 模型 verbose=True, allow_delegation=False )

学习中上下文记忆的问题

最推荐的方法:建立 Learning OS

在 CrewAI 项目根目录创建:

learning/ ├── README.md ← 学习系统总览和阶段规划 ├── progress.md ← 进度追踪表(11课,每课有状态/日期/收获列) ├── architecture.md ← 架构理解地图(含全局架构图和模块理解状态表) ├── glossary.md ← 术语表(已预填16个核心术语) └── mentor-rules.md ← 教学规则(格式、原则、禁止事项)

每学完一个文件就总结

例如学完 agent.py。

不要继续。

直接让 Claude:

更新: learning/01-agent.md 包含: - 文件作用 - 核心类 - 核心方法 - 执行流程 - 我的理解

这样知识沉淀在仓库里。

以后每次打开 Claude Code,第一句话永远是:

请阅读: learning/progress.md learning/mentor-rules.md learning/architecture.md 然后继续担任我的CrewAI源码导师。
返回列表