Agent 2025.05.15
用 LangChain 搭建一个简单的 Agent Building a Simple Agent with LangChain
从零开始搭建一个能调用搜索引擎和计算工具的 AI Agent。
Building an AI Agent from scratch that can call search and calculator tools.
Agent 架构概述
一个基本的 Agent 由以下部分组成:
- LLM:决策大脑,决定下一步行动
- Tools:可调用的外部工具(搜索、计算器等)
- Memory:对话历史和中间结果
- Agent Executor:执行循环,协调以上组件
代码实现
from langchain.agents import AgentExecutor, create_react_agent
from langchain.tools import tool
from langchain_openai import ChatOpenAI
@tool
def search(query: str) -> str:
"""搜索互联网获取信息"""
# 实现搜索逻辑
return f"搜索结果:{query}的相关信息..."
@tool
def calculator(expression: str) -> str:
"""计算数学表达式"""
try:
return str(eval(expression))
except Exception as e:
return f"计算错误:{e}"
tools = [search, calculator]
llm = ChatOpenAI(model="gpt-4", temperature=0)
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# 运行
result = agent_executor.invoke({"input": "2024年世界杯冠军是哪个国家?"})
关键注意事项
- 错误处理:工具调用可能失败,需要重试机制
- Token 限制:对话历史过长时需要截断或摘要
- 安全边界:限制 Agent 可执行的操作范围