跳到主要内容

从零到一:构建 AI Agent 应用

本教程从零开始,构建一个具备工具调用能力的智能研究助手 Agent。

项目概述

功能

  • 接收用户研究主题
  • 调用搜索工具获取资料
  • 调用文档总结工具整理要点
  • 生成结构化研究报告

技术栈

  • 框架:LangChain
  • LLM:OpenAI API 或 Ollama 本地模型
  • 工具:模拟搜索与总结(可替换为真实 API)

第一步:环境准备

mkdir research-agent && cd research-agent
python -m venv venv
source venv/bin/activate
pip install langchain langchain-openai langchain-community

第二步:定义工具

# tools.py
from langchain.tools import tool

@tool
def web_search(query: str) -> str:
"""在互联网搜索相关信息,用于获取最新资料"""
# 实际可接入 Serper、 Tavily 等 API
return f"[模拟搜索结果] 关于 {query} 的资料摘要..."

@tool
def summarize_docs(text: str) -> str:
"""对长文本进行摘要,提炼关键要点"""
return f"[模拟摘要] {text[:100]}..."

第三步:创建 Agent

# agent.py
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder
from tools import web_search, summarize_docs

llm = ChatOpenAI(model="gpt-4", temperature=0.3)
tools = [web_search, summarize_docs]
prompt = ChatPromptTemplate.from_messages([
("system", "你是研究助手。根据用户主题:1) 搜索资料 2) 总结要点 3) 输出结构化报告。"),
("human", "{input}"),
MessagesPlaceholder(variable_name="agent_scratchpad"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True, max_iterations=5)

第四步:运行与测试

if __name__ == "__main__":
result = executor.invoke({"input": "请调研 AI Agent 的最新发展,并输出要点报告"})
print(result["output"])

第五步:扩展建议

  • 接入真实搜索 API(Serper、Tavily)
  • 增加 RAG,接入向量库做知识增强
  • 使用 MCP 标准化工具定义
  • 部署为 API 或 Web 应用

相关文档