首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用 LangChain 与 CrewAI 实现 AI Agent 的多步任务规划(零基础入门)

使用 LangChain 与 CrewAI 实现 AI Agent 的多步任务规划(零基础入门)

作者头像
果粒蹬
发布2026-01-23 19:41:30
发布2026-01-23 19:41:30
2480
举报

使用 LangChain 与 CrewAI 实现 AI Agent 的多步任务规划(零基础入门)

在这里插入图片描述
在这里插入图片描述

一、先搞懂核心概念:AI Agent 与多步任务规划

在 AI 领域,AI Agent(智能体) 可以理解为“自带思考和行动能力的 AI 助手”——它不用人类逐步指挥,能自主理解任务、规划步骤、调用工具,甚至调整策略直到完成目标。比如让 AI 写一篇技术摘要,它会自己规划“先查资料→整理核心观点→优化表达”,全程模拟人类处理复杂任务的逻辑。

多步任务规划 是 AI Agent 的核心能力,指将一个复杂任务(如“研究+写作”)拆解成多个简单子任务,按顺序或协作完成。就像做饭要先买菜、切菜、烹饪、装盘,每个步骤环环相扣,AI Agent 也会通过这种“拆解-执行-整合”的逻辑,搞定单步 AI 无法完成的复杂需求。

二、LangChain 与 CrewAI:各司其职,优势互补

LangChain 和 CrewAI 都是实现 AI Agent 多步任务规划的常用工具,但定位和优势完全不同,搭配使用能发挥 1+1>2 的效果。

1. LangChain:AI Agent 的“工具包”

LangChain 的核心作用是“连接”——连接 LLM(大语言模型,如 GPT、Claude)、外部工具(如网页搜索、数据库)和任务流程。它就像一个万能工具箱,提供了现成的组件,让你不用从零开发就能实现“调用模型→搜索网页→处理数据”等操作。

核心优势:工具生态丰富(支持网页搜索、文档解析、数据库交互等)、流程编排灵活,能轻松实现单 Agent 的多步任务链路。

2. CrewAI:多 Agent 的“协作管理器”

CrewAI 专注于“多 Agent 协作”——它能让多个 AI Agent 明确分工、相互配合,共同完成复杂任务。比如让一个 Agent 负责搜索资料,另一个负责撰写内容,还有一个负责审核优化,CrewAI 会协调它们的工作顺序、传递任务结果,避免重复劳动。

核心优势:简化多 Agent 定义与协作逻辑、支持角色分配和任务依赖配置,让“团队式 AI 协作”开箱即用。

总结:分工逻辑

LangChain 负责“单个 Agent 如何一步步执行任务(调用工具、处理数据)”,CrewAI 负责“多个 Agent 如何分工协作(谁做什么、按什么顺序做)”,二者结合可快速实现复杂的多 Agent 多步任务规划。

三、示例场景:研究“AI Agent 发展趋势”并撰写技术摘要

我们选一个贴近技术场景、逻辑清晰的案例:让 AI 团队自主研究 2026 年 AI Agent 的发展趋势,最终输出一篇 500 字左右的技术摘要。该任务需拆解为 3 个子任务,由 3 个 Agent 协作完成:

  1. 搜索 Agent:负责通过网页搜索,收集 2026 年 AI Agent 相关的最新研究、行业报告和应用案例;
  2. 分析 Agent:负责整理搜索结果,提炼核心趋势(如技术突破、落地场景),剔除无关信息;
  3. 撰写 Agent:负责根据分析结果,撰写结构清晰、语言专业的技术摘要,控制字数和可读性。

下面我们用 Python 代码实现这个场景,结合 LangChain 的网页搜索工具和 CrewAI 的多 Agent 协作能力。

四、完整 Python 代码实现(可直接复制运行)

首先需安装依赖包,打开终端执行以下命令:

代码语言:javascript
复制
pip install langchain crewai langchain-openai langchain-community python-dotenv duckduckgo-search

说明:依赖包作用分别是 LangChain(工具链)、CrewAI(多 Agent 协作)、OpenAI 接口(LLM 模型)、DuckDuckGo 搜索(网页搜索工具)、dotenv(管理环境变量)。

代码实现(含详细注释)

代码语言:javascript
复制
import os
from dotenv import load_dotenv
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_openai import ChatOpenAI
from crewai import Agent, Task, Crew, Process

# 1. 加载环境变量(存储 OpenAI API 密钥,避免硬编码)
load_dotenv()  # 需在项目根目录创建 .env 文件,写入:OPENAI_API_KEY=你的密钥

# 2. 初始化工具(使用 LangChain 的 DuckDuckGo 搜索工具,用于网页查询)
search_tool = DuckDuckGoSearchRun()  # 无需额外配置,开箱即用

# 3. 初始化 LLM 模型(使用 GPT-4o,也可替换为 GPT-3.5-turbo,需调整温度参数)
llm = ChatOpenAI(
    model="gpt-4o",
    temperature=0.7  # 0-1 之间,值越高内容越有创造力,越低越严谨
)

# 4. 定义 3 个协作 Agent(每个 Agent 有明确角色、目标和工具)
## 搜索 Agent:负责收集最新信息
search_agent = Agent(
    role="AI 趋势搜索专员",
    goal="精准收集 2026 年 AI Agent 领域的最新研究成果、行业报告和落地案例,确保信息时效性和准确性",
    backstory="你是一名擅长技术领域信息检索的专员,熟悉 AI 行业动态,能快速筛选出有价值的信息,排除冗余内容",
    tools=[search_tool],  # 仅赋予搜索工具权限
    llm=llm,
    verbose=True  # 运行时打印详细日志,方便调试
)

## 分析 Agent:负责提炼核心趋势
analysis_agent = Agent(
    role="AI 趋势分析顾问",
    goal="从搜索到的信息中,提炼 2026 年 AI Agent 的 3-5 个核心发展趋势,标注关键数据和案例支撑",
    backstory="你是一名资深 AI 行业分析师,擅长从复杂信息中梳理逻辑、总结规律,能精准抓住技术发展的核心脉络",
    llm=llm,
    verbose=True
)

## 撰写 Agent:负责输出技术摘要
writing_agent = Agent(
    role="技术摘要撰写师",
    goal="根据分析结果,撰写一篇 500 字左右的技术摘要,结构清晰(含引言、核心趋势、总结),语言专业且易懂",
    backstory="你是一名科技媒体撰稿人,擅长将复杂技术内容转化为简洁易懂的摘要,兼顾专业性和可读性",
    llm=llm,
    verbose=True
)

# 5. 定义任务(每个任务对应一个 Agent,明确任务内容和输出要求)
## 任务 1:搜索信息
search_task = Task(
    description="搜索 2026 年 AI Agent 发展趋势相关信息,重点关注技术突破、行业应用、头部企业动态,收集至少 3 个权威来源的信息",
    expected_output="整理成结构化的信息清单,包含来源、核心观点、关键数据",
    agent=search_agent
)

## 任务 2:分析趋势(依赖搜索任务结果)
analysis_task = Task(
    description="基于搜索到的信息清单,分析 2026 年 AI Agent 的核心发展趋势,每个趋势配 1 个案例或数据支撑,剔除重复、无关信息",
    expected_output="3-5 个核心趋势的分析报告,每条趋势含标题、核心观点、支撑材料",
    agent=analysis_agent,
    context=[search_task]  # 明确依赖搜索任务,确保先完成搜索再分析
)

## 任务 3:撰写摘要(依赖分析任务结果)
writing_task = Task(
    description="根据趋势分析报告,撰写技术摘要,引言简要介绍 AI Agent 重要性,正文分点阐述核心趋势,总结部分展望未来应用前景,控制字数在 450-550 字",
    expected_output="一篇结构完整、语言流畅的技术摘要(纯文本格式,无Markdown)",
    agent=writing_agent,
    context=[analysis_task]  # 依赖分析任务结果
)

# 6. 组建 Agent 团队,配置协作流程
crew = Crew(
    agents=[search_agent, analysis_agent, writing_agent],
    tasks=[search_task, analysis_task, writing_task],
    process=Process.sequential  # 顺序执行任务(搜索→分析→撰写),也可配置并行流程
)

# 7. 启动任务,获取结果
if __name__ == "__main__":
    result = crew.kickoff()
    print("\n" + "="*50)
    print("最终技术摘要:")
    print("="*50)
    print(result)

代码运行说明

  1. 获取 OpenAI API 密钥:登录 OpenAI 平台,创建 API 密钥,写入 .env 文件;
  2. 运行代码后,终端会打印每个 Agent 的执行日志,包括搜索内容、分析过程和撰写结果;
  3. 若需替换模型,可将 model="gpt-4o" 改为 model="gpt-3.5-turbo",适合预算有限的场景;
  4. LangChain 支持多种搜索工具(如 Google 搜索、SerpAPI),可替换 DuckDuckGoSearchRun 实现更精准的检索。

五、多步任务执行流程 Mermaid 流程图

以下流程图展示了从用户输入到最终输出的完整链路,清晰呈现任务分解、Agent 协作和工具调用逻辑:

流程图说明:整个流程为“顺序执行”,每个任务的输出作为下一个任务的输入;LangChain 仅在搜索任务中提供工具支持,CrewAI 负责全程的任务调度和 Agent 协作。

六、零基础入门小贴士

  1. 先跑通代码:无需一开始理解所有细节,先按步骤安装依赖、配置 API 密钥,运行代码看到结果后,再逐行分析逻辑;
  2. 修改场景练手:将案例中的“AI Agent 趋势”改为“Python 学习趋势”“新能源汽车发展”等,调整 Agent 角色和任务描述,熟悉工具用法;
  3. 工具替换尝试:用 LangChain 的 ArxivQueryRun(学术搜索)替换 DuckDuckGo,或用 Anthropic Claude 模型替换 OpenAI,探索不同工具的效果;
  4. 避免踩坑点:API 密钥需妥善保管(勿硬编码),运行时确保网络通畅,若出现报错,优先检查依赖包版本和 API 密钥有效性。

通过以上案例,我们能看出 LangChain 与 CrewAI 搭配的核心价值——让零基础开发者也能快速实现“多 Agent 协作完成复杂任务”,无需从零搭建框架。后续可尝试更复杂的场景(如市场调研、报告生成、代码开发),逐步深化对 AI Agent 多步任务规划的理解。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-23,如有侵权请联系 [email protected] 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 [email protected] 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 LangChain 与 CrewAI 实现 AI Agent 的多步任务规划(零基础入门)
  • 一、先搞懂核心概念:AI Agent 与多步任务规划
  • 二、LangChain 与 CrewAI:各司其职,优势互补
    • 1. LangChain:AI Agent 的“工具包”
    • 2. CrewAI:多 Agent 的“协作管理器”
    • 总结:分工逻辑
  • 三、示例场景:研究“AI Agent 发展趋势”并撰写技术摘要
  • 四、完整 Python 代码实现(可直接复制运行)
    • 代码实现(含详细注释)
    • 代码运行说明
  • 五、多步任务执行流程 Mermaid 流程图
  • 六、零基础入门小贴士
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档