2026 AI Agent实战教程:使用LangGraph从零构建智能代理
2026年,AI Agent(人工智能代理)已成为开发者最热门的技术方向之一。本文将手把手教你使用LangGraph框架在Python中构建一个功能完整的AI Agent,无需从零开始。
什么是AI Agent?
AI Agent是一种能够自主感知环境、制定计划并执行动作的智能程序。与传统的LLM调用不同,Agent具备工具使用、记忆管理和多步推理能力。2026年,从Google到OpenAI,各大厂商都在全力推进Agentic AI的发展。
环境准备
首先,安装所需的依赖库:
pip install langgraph langchain langchain-openai
需要Python 3.10以上版本,以及一个可用的OpenAI API密钥(或其他兼容的LLM提供商)。
第一步:定义工具
Agent的核心能力来自于它可以调用的工具。以下是一个简单的搜索工具和计算器工具的例子:
from langchain.tools import tool
@tool
def search_web(query: str) -> str:
"""搜索网络获取最新信息"""
# 这里集成你选择的搜索引擎API
return f"搜索结果: {query}的相关信息"
@tool
def calculator(expression: str) -> str:
"""执行数学计算"""
try:
return str(eval(expression))
except Exception as e:
return f"计算错误: {e}"
tools = [search_web, calculator]
第二步:构建Agent图
LangGraph使用有向图(Graph)来定义Agent的执行流程。每个节点代表一个步骤,边代表状态流转:
from langgraph.graph import StateGraph, END
from typing import TypedDict, List
from langchain_openai import ChatOpenAI
class AgentState(TypedDict):
messages: List
next_step: str
llm = ChatOpenAI(model="gpt-4o", temperature=0)
def call_model(state: AgentState):
response = llm.invoke(state["messages"])
return {"messages": [response]}
def should_continue(state: AgentState):
last_msg = state["messages"][-1]
if "FINAL_ANSWER" in last_msg.content:
return END
return "tools"
graph = StateGraph(AgentState)
graph.add_node("agent", call_model)
graph.set_entry_point("agent")
第三步:添加工具执行节点
Agent决定调用哪个工具后,需要由工具节点实际执行:
def execute_tools(state: AgentState):
last_msg = state["messages"][-1]
tool_calls = last_msg.additional_kwargs.get("tool_calls", [])
results = []
for tc in tool_calls:
func_name = tc["function"]["name"]
args = json.loads(tc["function"]["arguments"])
for t in tools:
if t.name == func_name:
result = t.run(args)
results.append(result)
return {"messages": [{"role": "tool", "content": str(results)}]}
graph.add_node("tools", execute_tools)
graph.add_conditional_edges("agent", should_continue, {"tools": "tools", END: END})
graph.add_edge("tools", "agent")
app = graph.compile()
第四步:运行Agent
现在可以运行你的AI Agent了:
result = app.invoke({
"messages": [{"role": "user", "content": "计算 256 * 32 的结果,并告诉我今天AI行业的最新动态"}]
})
print(result["messages"][-1].content)
进阶技巧
1. 添加记忆功能
使用LangGraph内置的持久化支持,可以让Agent记住历史对话:
from langgraph.checkpoint import MemorySaver memory = MemorySaver() app = graph.compile(checkpointer=memory) # 现在Agent会记住之前的对话上下文
2. 人机协作(Human-in-the-Loop)
在关键决策点加入人工审核,确保Agent的行为安全可控:
graph.add_node("human_review", human_review_function)
graph.add_edge("tools", "human_review")
graph.add_edge("human_review", "agent")
总结
2026年是AI Agent爆发的一年。从Google的Agent Bake-Off到NVIDIA的AI-Q Agent平台,从Spring AI到LangGraph,构建AI Agent的框架和工具已经非常成熟。本文介绍的LangGraph方案因其灵活性和对复杂工作流的支持,已成为目前最受欢迎的Agent开发框架之一。
通过本文的四个简单步骤,你可以在15分钟内搭建一个具备工具调用、多步推理能力的AI Agent。下一步,你可以尝试接入自定义API、数据库查询、文件处理等更丰富的工具集,让你的Agent处理更复杂的实际业务场景。
参考资源:LangGraph官方文档、LangChain官方教程、Google Agent Bake-Off 2026