一、Agent 到底是什么

💡 一句话定义

Agent = LLM(大脑)+ Tools(手脚)+ Loop(反思循环)

普通 LLM 是"一问一答":

用户 → LLM → 回答

Agent 是"多轮循环":

用户 → LLM 思考 → 调用工具 → 观察结果 → LLM 反思 → 继续调用 → … → 最终回答

关键在"循环"这个字。

LLM 一次没搞定?没关系,看下工具返回什么,再来一次。

这就是 ReAct(Reasoning + Acting) 模式,Agent 的核心范式。

二、为什么选 LangGraph

市面上搭 Agent 的框架不少:

框架 特点 适用
LangChain 老牌,链式调用 入门友好
LangGraph 图式结构,可控性强 生产环境首选
AutoGen 多 Agent 对话 协作场景
CrewAI 角色扮演式 团队模拟
LlamaIndex 数据侧强 RAG 场景

🎯 为什么选 LangGraph

它是 LangChain 团队推出的新一代 Agent 框架,用状态图来描述工作流,天然支持复杂逻辑、循环、条件分支、人机协作。生产级项目基本都在往这个上迁。

三、我们要搭什么

做一个真实能用的场景 —— 技术资讯智能助手

用户输入一个技术话题,Agent 会自动:

1联网搜索最新资讯

用 Tavily 搜索 API 抓取最新内容

2提取关键信息

从搜索结果中筛选真正相关的内容

3判断信息是否足够

不够就继续搜索,够了就总结

4生成结构化报告

输出带引用来源的最终报告

整个过程不需要人干预,Agent 自己规划、自己决策。

四、环境准备

pip install langgraph langchain-openai langchain-community tavily-python

需要两个 API Key:

  • OpenAI(或替换成 DeepSeek/Qwen 等)
  • Tavily 搜索(tavily.com 免费额度够用)
export OPENAI_API_KEY="sk-xxx"
export TAVILY_API_KEY="tvly-xxx"

五、代码实战:三步搭建

第一步:定义状态(State)

LangGraph 用 State 记录整个流程中的信息。

from typing import TypedDict, List, Annotated
from langgraph.graph.message import add_messages

class AgentState(TypedDict):
    topic: str                    # 用户输入的话题
    search_results: List[dict]    # 搜索到的内容
    iteration: int                # 已搜索轮数
    is_enough: bool               # 信息是否足够
    final_report: str             # 最终报告
    messages: Annotated[list, add_messages]  # 对话历史

📌 关键点

Annotated[list, add_messages] 表示 messages 字段会自动累加,不会覆盖 —— 这是 LangGraph 的独门 trick。

第二步:定义节点(Node)

每个节点就是一个函数,输入 State,输出更新后的 State。

from langchain_openai import ChatOpenAI
from langchain_community.tools.tavily_search import TavilySearchResults

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
search_tool = TavilySearchResults(max_results=5)

# 节点1:搜索
def search_node(state: AgentState) -> dict:
    print(f"🔍 第 {state['iteration']+1} 轮搜索: {state['topic']}")
    results = search_tool.invoke({"query": state["topic"]})
    return {
        "search_results": state["search_results"] + results,
        "iteration": state["iteration"] + 1
    }

# 节点2:判断信息是否足够
def evaluate_node(state: AgentState) -> dict:
    prompt = f"""基于以下搜索结果,判断关于"{state['topic']}"的信息是否足够写一份深度报告。

搜索结果:
{state['search_results'][-5:]}

只回答 YES 或 NO。"""
    response = llm.invoke(prompt)
    is_enough = "YES" in response.content.upper()
    print(f"📊 信息是否足够: {is_enough}")
    return {"is_enough": is_enough}

# 节点3:生成报告
def report_node(state: AgentState) -> dict:
    prompt = f"""基于以下资料,为主题"{state['topic']}"写一份结构化报告。

要求:
1. 包含 3-5 个核心要点
2. 每个要点后标注来源URL
3. 结尾给出总体判断

资料:
{state['search_results']}"""
    response = llm.invoke(prompt)
    print("📝 报告已生成")
    return {"final_report": response.content}

第三步:构建图(Graph)

把节点连接起来,定义流转逻辑。

from langgraph.graph import StateGraph, END

# 条件边:根据状态决定下一步
def should_continue(state: AgentState) -> str:
    if state["iteration"] >= 3:  # 最多搜3轮
        return "report"
    if state["is_enough"]:
        return "report"
    return "search"

# 构建图
workflow = StateGraph(AgentState)

workflow.add_node("search", search_node)
workflow.add_node("evaluate", evaluate_node)
workflow.add_node("report", report_node)

workflow.set_entry_point("search")
workflow.add_edge("search", "evaluate")
workflow.add_conditional_edges(
    "evaluate",
    should_continue,
    {"search": "search", "report": "report"}
)
workflow.add_edge("report", END)

app = workflow.compile()

✅ 到这里,Agent 就搭好了。

整个流程可视化后是这样的:

START → search → evaluate → [is_enough?] → search / report → END

第四步:跑起来

initial_state = {
    "topic": "2026年 AI Agent 最新进展",
    "search_results": [],
    "iteration": 0,
    "is_enough": False,
    "final_report": "",
    "messages": []
}

result = app.invoke(initial_state)
print("\n" + "="*60)
print(result["final_report"])

输出示例:

🔍 第 1 轮搜索: 2026年 AI Agent 最新进展

📊 信息是否足够: False

🔍 第 2 轮搜索: 2026年 AI Agent 最新进展

📊 信息是否足够: True

📝 报告已生成

六、进阶:让 Agent 更聪明

技巧1:动态改写搜索关键词

第一次搜"AI Agent"太宽泛,第二次可以缩窄到"多Agent协作框架"。

def refine_query_node(state: AgentState) -> dict:
    prompt = f"""已经搜过 {state['iteration']} 次,主题是 {state['topic']}。
基于已有结果,给出一个更精准的搜索关键词,扩展查询维度。"""
    response = llm.invoke(prompt)
    return {"topic": response.content}

技巧2:加入人类反馈

关键节点可以让人工审核 —— Human-in-the-Loop

from langgraph.checkpoint.memory import MemorySaver

checkpointer = MemorySaver()
app = workflow.compile(
    checkpointer=checkpointer,
    interrupt_before=["report"]  # 生成报告前暂停
)

在关键节点暂停,人工确认后再继续 —— 这是生产级 Agent 的标配。

技巧3:Tool 调用错误重试

def search_node_with_retry(state, max_retry=3):
    for attempt in range(max_retry):
        try:
            results = search_tool.invoke({"query": state["topic"]})
            return {"search_results": state["search_results"] + results}
        except Exception as e:
            print(f"⚠️ 第 {attempt+1} 次失败: {e}")
    return {"search_results": state["search_results"]}

七、真实案例:Agent 帮我干过的活

📌 案例1:每周技术周报自动生成

每周一早 8 点,Agent 自动搜索过去 7 天 AI 领域大事件,去重、分类、总结,生成一份 markdown 报告发到我邮箱。节省了大约 2 小时/周。

📌 案例2:代码库自动 Review

Agent 每天读取 GitHub 上的 PR,跑静态检查、跑测试、给出改进意见评论。覆盖了 80% 的初级 review 工作。

📌 案例3:客户咨询自动分诊

Agent 读取工单描述,判断是产品问题还是技术问题,自动路由到不同处理流程。响应时间从 4 小时降到 10 分钟。

八、避坑指南

⚠️ 坑1:无限循环

条件判断写错了,Agent 一直搜索停不下来。必须加最大迭代次数限制。

⚠️ 坑2:Token 爆炸

搜索结果全塞给 LLM,几轮后 context window 就满了。要做摘要压缩,只保留关键信息。

⚠️ 坑3:工具调用失败没兜底

API 挂了 Agent 就崩了。每个工具都要加 try-except 和重试。

⚠️ 坑4:不做审计追踪

Agent 决策一堆步骤,出错了根本不知道哪一步。必须记录每个节点的输入输出。

九、成本估算

跑一次典型的"资讯搜索 + 报告生成"任务:

项目 用量 成本
Tavily 搜索 3 次 免费额度内
GPT-4o-mini 调用 约 8 次 ¥0.05
Token 消耗 约 15K tokens -
总耗时 - 约 30 秒

一份深度报告 5 分钱。

换算成人工——按 30 分钟 ¥50 的时薪算,一次省 ¥25

十、下一步该学什么

掌握基础 Agent 后,进阶方向:

🔹 多 Agent 协作

研究员 + 编辑 + 审核,三个 Agent 分工写文章。学习 AutoGen 或 CrewAI。

🔹 长期记忆

给 Agent 加向量数据库做长期记忆,让它"记得"过往任务。

🔹 自主浏览器

用 Playwright 让 Agent 真正操作浏览器,填表、点击、下单。

🔹 生产部署

用 LangGraph Cloud 或自建 Kubernetes,跑 24/7 Agent 服务。

◆ ◆ ◆

总结

Agent 的本质不是模型,是流程编排。

LLM 只是其中一颗大脑,真正让它"能干活"的,是你怎么用状态图把它组织起来。

2026 年做技术,不会写 Agent 就像 2020 年不会用 Docker

门槛不高,红利很大。

今天就把上面代码跑一遍。

看到 Agent 第一次自己"想通"问题的那一刻——

你会理解为什么大家说这是新一代软件的开端。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐