用 LangGraph 构建第一个 AI 智能体完全指南(一)

在构建第一个商业 AI 智能体三个月后,一切都在客户演示期间崩溃了。

本应无缝的自主工作流变成了令人尴尬的循环 ------ 反复请求澄清问题,决策前后矛盾。客户虽保持礼貌,但明显感到失望。如果分析失败原因,会发现可能从根本上就误解了智能体架构 ------ 构建了一个过于复杂的系统,决策边界模糊,没有清晰的推理路径。

这次失败彻底改变了工作方法,并成为了阐释这类系统的基础。一旦理解了核心原则,构建高效的智能体将变得出奇简单。

认识 AI 智能体 AI 智能体是具备以下能力的系统:(1)分步思考问题,(2)按需调用外部工具,(3)通过行动反馈持续优化。

与仅响应提示的聊天机器人不同,智能体会主动采取行动完成任务。这就好比:前者只能回答你关于数据的问题,而后者能真正帮你分析数据。

从模型到智能体 在智能体出现前,我们构建的 AI 解决方案是孤立割裂的组件 ------ 一个模型用于理解文本,另一个生成代码,还有一个处理图像。

这种碎片化模式存在三大问题:(1)用户需手动管理工作流,(2)跨系统传递时上下文会丢失,(3)每个流程步骤都需定制化集成。

而智能体彻底改变了这一范式。

不同于处理单一任务的传统模型,智能体可协调多种能力,同时保持对整体任务的全局理解。

智能体不仅执行指令,还能根据过程中获取的信息自适应调整下一步决策,类似人类的工作方式。

AI 智能体的核心优势 我们通过一个具体任务理解智能体的能力:分析 Medium 上的文章。

传统 AI 将其拆解为孤立步骤 ------ 摘要生成、关键词提取、内容分类、洞察提炼 ------ 每个步骤都需要人工明确协调。

其局限性不仅在于模型孤立工作,更在于你必须手动编排整个流程,显式管理步骤间的知识传递,并根据中间结果独立判断是否需要额外操作。

与之相对,基于智能体的方案能自主执行每个步骤,且不偏离整体目标。

智能体智能的三大基石 AI 智能体基于三大核心原则:

状态管理:智能体的工作记忆,用于跟踪已获取的信息和目标

决策制定:智能体根据当前知识判断合理的行动路径

工具调用:智能体知晓用何种工具解决具体问题

用 LangGraph 构建 AI 智能体 现在已了解 AI 智能体的定义和价值,接下来我们用LangGraph(LangChain 用于构建健壮 AI 智能体的框架)开发一个实例。

很多人喜欢 LangGraph 的原因在于,它允许将智能体的思考和行动映射为图结构:每个节点代表一种能力(如网页搜索或代码生成),节点间的连接(边)控制信息流。

刚开始构建智能体时,这种可视化方式能让人豁然开朗 ------ 终于能直观看到智能体的思考过程。

第一个智能体:Medium 文章分析器 我们来看如何用 LangGraph 创建一个文本分析智能体。

这个智能体将实现以下功能:阅读文章、理解主题、提取关键要素、生成简洁摘要 ------ 本质上是你的个人研究助理。

环境搭建 首先,你需要配置开发环境。

步骤 1 --- 创建项目目录:

bash 复制代码
mkdir ai_agent_project
cd ai_agent_project

步骤 2 --- 创建并激活虚拟环境:

bash 复制代码
# Windows系统
python -m venv agent_env
agent_env\Scripts\activate

# macOS/Linux系统
python3 -m venv agent_env
source agent_env/bin/activate

步骤 3 --- 安装必要的依赖包:

复制代码
pip install langgraph langchain langchain-openai python-dotenv

步骤 4 --- 配置 OpenAI API:

这里使用 GPT-4o mini 作为智能体的核心,但你可以替换为任意偏好的大语言模型。若你还没有 API 密钥:

  1. 访问 OpenAI 官网创建账户
  2. 导航至 API Keys 页面
  3. 点击 "Create new secret key"
  4. 复制生成的 API 密钥

步骤 5 --- 创建.env 文件:

bash 复制代码
# Windows系统
echo OPENAI_API_KEY=your-api-key-here > .env

# macOS/Linux系统
echo "OPENAI_API_KEY=your-api-key-here" > .env

your-api-key-here替换为你实际的 OpenAI API 密钥。

步骤 6 --- 创建测试文件test_setup.py

python 复制代码
import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

# 加载环境变量
load_dotenv()

# 初始化ChatOpenAI实例
llm = ChatOpenAI(model="gpt-4o-mini")

# 测试环境配置
response = llm.invoke("Hello! Are you working?")
print(response.content)

步骤 7 --- 运行测试:

复制代码
python test_setup.py

若成功收到回复,恭喜!你的环境已准备好构建智能体。下一次,咱们就用它来动手开发具体的项目实例。

相关推荐
小鸡吃米…6 小时前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫7 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)7 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan7 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维7 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS7 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd7 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
水如烟8 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然8 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
旅途中的宽~8 小时前
《European Radiology》:2024血管瘤分割—基于MRI T1序列的分割算法
人工智能·计算机视觉·mri·sci一区top·血管瘤·t1