你是否曾感觉,和AI(比如Deepseek)的互动就像和一个“万事通”聊天?它什么都懂一点,但很难在某个特定任务上做到极致的专业。当你需要完成一个复杂任务,比如“调研最新的AI行业趋势并撰写一篇深度分析报告”时,你往往需要自己扮演项目经理,不断地引导、追问、整合信息,过程相当繁琐。

但如果,你可以不再只与一个“通才”AI对话,而是直接组建并管理一个各司其职的“AI专家梦之队”呢?

• 一位市场研究员,负责上网搜集所有相关数据和报告。

• 一位资深分析师,负责从数据中提炼核心观点和趋势。

• 一位顶级文案,负责将分析结果润色成一篇引人入胜的文章。

这个听起来像科幻电影的场景,现在已经可以通过一个名为 crewAI 的开源框架轻松实现。它让你从“AI的使用者”,一跃成为“AI团队的管理者”!

asset.png

 

1. 什么是crewAI?从“单兵作战”到“团队协作”

crewAI 是一个专为编排和协调多个AI智能体(Agent)协同工作而设计的框架。它的核心理念是:复杂任务的最佳解决方案,并非来自一个无所不能的超级AI,而是源于一个由多个拥有特定角色和技能的AI组成的、目标明确的团队。

就像一家公司,有CEO、有技术、有市场、有销售,每个角色各司其职,才能高效运转。crewAI让你能够用代码定义出这样一支AI团队,它们可以自主地沟通、协作、分配任务,最终合力完成一个宏大的目标。

2. crewAI的核心组件:如何组建一支AI梦之队?

crewAI的世界里,组建一个AI团队只需要理解四个核心概念:

1. 智能体 (Agent)

这是你的团队成员。每一个Agent都是一个拥有特定背景和专长的“AI专家”。你需要为它定义:

• role (角色): 比如,“资深市场分析师”。

• goal (目标): 比如,“分析AI行业的最新趋势”。

• backstory (背景故事): 一段关于这个Agent的描述,可以帮助AI更好地“角色扮演”,从而更专业地完成任务。

• tools (工具): 赋予Agent可使用的“技能”,比如“上网搜索”、“读写文件”等。

2. 任务 (Task)

这是你需要分配给Agent的具体工作。每一项Task都应该是一个清晰、可执行的指令,比如:“调研并总结2024年第二季度AI领域最重要的5个技术突破”。

3. 工具 (Tools)

这是你的AI团队可以使用的“装备”。crewAI可以轻松集成各种工具,最常见的就是“搜索引擎工具”,让你的AI能够从互联网获取实时信息。

4. 团队 (Crew)

这是你的AI梦之队本身。你需要将定义好的AgentsTasks组合起来,并设定一个协作流程 (Process),比如“串行执行”(一个接一个完成)或“并行执行”。一旦“开球”(Kickoff),这个AI团队就会开始自主工作,直到所有任务完成。

3. 10分钟上手:打造一个“AI分析师 + AI撰稿人”团队

理论讲完,我们来个实战。假设我们需要AI团队完成一个任务:分析“AI在金融科技(FinTech)领域的应用”,并撰写一篇简短的博客文章。

第一步:安装crewAI

pip install crewai

同时,你需要设置你的大模型API密钥(比如OpenAI的OPENAI_API_KEY),crewAI会用它来驱动AI的“大脑”。

第二步:编写你的“AI梦之队”脚本

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

    crewai create crew <project_name>

    此命令创建一个具有以下结构的新项目文件夹:

    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_project。该main.py文件是项目的入口,该crew.py文件是您定义团队的地方,该agents.yaml文件是您定义代理的地方,该tasks.yaml文件是您定义任务的地方。

    要自定义您的项目,您可以:
    • 修改src/my_project/config/agents.yaml以定义您的代理。
    • 修改src/my_project/config/tasks.yaml以定义您的任务。
    • 修改src/my_project/crew.py以添加您自己的逻辑、工具和具体论点。
    • 修改src/my_project/main.py以添加您的代理和任务的自定义输入。
    • 将您的环境变量添加到.env文件中。

    根据你的使用场景需求,对文件进行必要修改:

    # src/my_project/config/agents.yaml
    researcher:
    role:>
        {topic} 高级市场研究员
    goal:>
        发现并分析{topic}在金融科技领域的最新应用和趋势 
    backstory:>
        你是一家顶级科技咨询公司的资深分析师,擅长从海量信息中挖掘技术应用的商业价值.
    
    reporting_analyst:
    role:>
        {topic} 专业科技撰稿人
    goal:>
        将复杂的 {topic}趋势,用通俗易懂的语言写成引人入胜的博客文章
    backstory: >
        你是一位知名的科技博主,以其清晰、简洁且富有洞察力的写作风格而闻名
        你能够让普通读者也能轻松理解前沿技术.
    
    # src/my_project/config/tasks.yaml
    research_task:
    description:>
        调研{topic}在金融科技领域的最新应用
        特别关注支付、借贷、财富管理和反欺诈这四个方面
        总结出3-5个核心要点
    expected_output:>
       一份包含3-5个核心要点的研究摘要报告关于 {topic}
    agent:researcher
    
    reporting_task:
    description:>
        根据研究员提供的摘要报告,撰写一篇500字左右的博客文章
        文章风格应通俗易懂,重点突出 {topic}带来的变革
    expected_output:>
        一份内容完备的报告,需包含核心主题且每个主题都要有一整节的详细信息
        格式要求:采用 Markdown 格式,且不使用 “```” 符号
    agent:reporting_analyst
    output_file: report.md
    # src/my_project/crew.py
    from crewai import Agent, Crew, Process, Task
    from crewai.project import CrewBase, agent, crew, task
    from crewai_tools import SerperDevTool
    from crewai.agents.agent_builder.base_agent import BaseAgent
    from typing importList
    
    @CrewBase
    classLatestAiDevelopmentCrew():
        """LatestAiDevelopment crew"""
        agents: List[BaseAgent]
        tasks: List[Task]
    
        @agent
        defresearcher(self) -> Agent:
            return Agent(
                config=self.agents_config['researcher'],
                verbose=True,
                tools=[SerperDevTool()]
            )
    
        @agent
        defreporting_analyst(self) -> Agent:
            return Agent(
                config=self.agents_config['reporting_analyst'],
                verbose=True
            )
    
        @task
        defresearch_task(self) -> Task:
            return Task(
                config=self.tasks_config['research_task'],
            )
    
        @task
        defreporting_task(self) -> Task:
            return Task(
                config=self.tasks_config['reporting_task'],
                output_file='report.md'
            )
    
        @crew
        defcrew(self) -> Crew:
            """Creates the LatestAiDevelopment crew"""
            return Crew(
                agents=self.agents, # Automatically created by the @agent decorator
                tasks=self.tasks, # Automatically created by the @task decorator
                process=Process.sequential,
                verbose=True,
            )
    #!/usr/bin/env python
    # src/my_project/main.py
    import sys
    from latest_ai_development.crew import LatestAiDevelopmentCrew
    
    def run():
        """
        Run the crew.
        """
        inputs = {
            'topic''AI Agents'
        }
        LatestAiDevelopmentCrew().crew().kickoff(inputs=inputs)

     

    第三步:运行并见证奇迹

    在运行你的crew之前,请确保你的文件中已将以下键设置为环境变量.env:

    OpenAI API 密钥(或其他 LLM API 密钥):OPENAI_API_KEY=sk-...
    Serper.dev API密钥:SERPER_API_KEY=YOUR_KEY_HERE

    请在项目根目录中执行以下命令:

    crewai run

    接下来,你会看到crewAI的魔法:

    1. 研究员Agent开始工作,它会使用搜索工具,在网上搜索相关信息。

    2. 完成研究后,它会生成一份摘要报告,作为撰稿人Agent的输入。

    3. 撰稿人Agent接收到报告,开始构思并撰写博客文章。

    4. 最终,一篇由AI团队协作完成的文章,会打印在你的屏幕上。

    图片

    整个过程无需你进行任何干预,一个复杂的“研究+写作”任务就由AI团队自主完成了!

    4. crewAI的未来:开启协作智能新时代

    crewAI的出现,标志着我们与AI的交互方式正在从“一对一”的问答,走向“一对多”的任务编排。这不仅仅是效率的提升,更是解决问题能力的飞跃。

    无论是构建一个自动化的软件开发团队(产品经理AI + 程序员AI + 测试员AI),还是创建一个内容营销团队(策略师AI + 撰稿人AI + 设计师AI),crewAI都为我们提供了无限的想象空间。

    未来已来,现在就动手,用crewAI组建属于你自己的第一支AI梦之队吧!

    5. 推荐阅读

    深入理解 Qwen-Agent:从"看懂图片"到构建自主AI

    告别手动操作!这个开源神器让你的浏览器长出“AI大脑”

    Qwen3-VL震撼登场!工业智能质检系统Dify实战案例让你3分钟上手最强视觉AI


    想了解更多AI工具和技术趋势?关注我,每周为你带来最新的AI资讯和实用教程!

    参考资料:

    • GitHub项目地址: https://github.com/crewAIInc/crewAI

    Logo

    火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

    更多推荐