












很多人第一次听到 Agent,会以为它是「更聪明的聊天机器人」。其实不是那么回事。Agent 是一套能自己定计划、调工具、看结果、再调整,直到把事干完的系统——它有关键的「行动」和「循环」,而不只是动嘴。
IBM、DeepMind、OpenAI 给 Agent 的共识定义是:一个能持续感知环境、自主推理、调用工具做事,并根据反馈不断调整,直到目标达成的系统。
光背定义没用,看它跟普通聊天机器人差在哪:
这里有个绕不开的词:ReAct,就是 Reason(想)+ Act(做)。现在主流 Agent 基本都按这个圈转:
想 → 做 → 看结果 → 再想,没干完就回到「想」,一直转到目标达成,或者踩到停止条件(任务完成 / 步数到上限 / 遇到解决不了的错误)。
写前端这么多年,我觉得 Agent 最像的是自动驾驶,而不是某个具体的人。
你调一个普通 LLM,就像调用一个纯函数:传进去 prompt,返回一段 text,调用结束,状态清空。Agent 更像一套自动驾驶:你只设终点(目标),它自己感知路况(环境信息)、决策(下一步往哪走)、执行(打方向盘 / 调接口)、再根据导航反馈修正路线。你不用每一步都喊「现在左转」,你只管说去哪,剩下的它自己跑完。
还是拿那个高铁的例子:普通模型给你一段文字就结束了;Agent 会自己拆出「查车次 → 比价 → 选座 → 下单 / 让你确认」这一串动作,中间某个车次没票了,它自己换方案继续,而不是卡住问你。
Agent 适合「步骤多、要临场判断、还得拉外部数据」的活。说几个我实际用上的,都是以前得人肉盯的事:
以前线上报错靠人刷监控面板,漏了就背锅。现在 Agent 定时拉报错日志、做归类、做限频,严重的直接建 Jira 单并 @ 对应人。人不用来回切好几个系统当传声筒。
大模型有知识截止日期,不懂今天股价、今天天气、今天你们仓库的最新提交。Agent 通过工具实时去拉,把这块短板补上。比如问「我们这个接口今天超时了多少次」,它能真去查监控再答。
像「抓某个领域的最新文章 → 过滤 → 生成摘要 → 发邮件」,每一步都是不同系统。Agent 自己把它们连起来,中间不用人把 A 的输出复制粘贴进 B。
你不用把每一步写死。「帮我把这个落地页转化率低的问题查一下」,Agent 会先抓数据、再看热力图、再判断是文案问题还是加载问题,而不是等你给标准答案才动。
Agent 相关文章里老冒出来几个词,先认个脸,免得后面看懵:
落到代码上。一个最小可用 Agent,抽象出来就是下面这个循环:
import openai
def run_agent(user_goal, tools, max_steps=10):
messages = [{"role": "user", "content": user_goal}]
for step in range(max_steps):
# 1. 大模型决定:直接回答,还是调用工具
response = openai.chat.completions.create(
model="gpt-4o",
messages=messages,
tools=tools,
)
msg = response.choices[0].message
# 2. 如果直接回答,任务结束
if not msg.tool_calls:
return msg.content
# 3. 执行工具,并把结果送回上下文
for call in msg.tool_calls:
result = execute_tool(call.function.name,
json.loads(call.function.arguments))
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": json.dumps(result),
})
# 4. 继续下一轮思考
这个循环就是 Agent 的骨架。工程里真要用起来,还得补几块:
别给「把代码变好」这种虚词。改成「检查这个 React 组件有没有多余的 re-render,并给出修改方案」。目标越具体,Agent 越不容易跑偏。
负责规划和推理的模型(GPT-4o、Claude Sonnet、DeepSeek-V3 这类)更适合当 Agent 的脑子。便宜的小模型适合做后面那些确定性处理,比如格式化、校验。
工具描述要写得像给同事看的 API 文档:名字、干啥的、参数、返回值、会怎么报错。Agent 全靠这些描述决定要不要调、怎么调。
简单任务可以「一步一想一调」。复杂任务建议先让模型输出一份计划清单,再按计划执行,中途失败了再重排,比走到哪算哪稳得多。
前面讲的都是原理,这里我拿一件自己真的会想偷懒的事,把它完整跑一遍:每天帮我从各大平台抓热点,挑出真正值得看的,再用人话解读一遍,最后打包成一份日报发到我邮箱。
这活纯靠人,每天手动刷微博、知乎、新闻 App 再整理,半小时打底,还容易漏。但它又不是「一次性任务」——有明确目标、要调好几个外部源、中间还得判断「这条值不值得收」,正好是 Agent 的菜。
![每日热点日报 Agent 的工作流]](https://blogimg.lieme.cn/2026/08/2026081515470799.png)
拆开看是这么一条流程:
整个流程每天定时跑一轮,所以流程图右边画了个回头箭头——它不是跑一次就完,而是「日更」的循环。
tools = [
fetch_weibo_hot(), # 拉微博热搜
fetch_zhihu_hot(), # 拉知乎热榜
fetch_news_rss(), # 拉新闻 RSS
dedup_and_cluster(), # 去重 + 语义聚类
llm_summarize(), # AI 解读单条热点
render_digest(), # 拼成 Markdown 日报
send_email(), # 发到邮箱
]
每个工具都要写清「干啥、入参、返回啥、失败了咋办」——前面说的「把工具说明书写清楚」就是在这儿用的。模型看不到你的代码,它只靠这些描述决定先调哪个。
def run_daily_digest(tools, max_steps=20):
goal = "产出今日热点日报并发送到邮箱"
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": goal},
]
for step in range(max_steps):
resp = llm(messages, tools=tools) # 思考
if not resp.tool_calls: # 没工具要调 = 干完了
return resp.content
for call in resp.tool_calls: # 行动
result = execute(call) # 调工具
messages.append(tool_result(call, result)) # 观察 → 再思考
你会发现,这就是前面那个最小骨架,只是 tools 换成了日报专用的几个函数。Agent 抽象出来就这么点东西,难的从来不在循环,在「工具写得稳不稳、护栏全不全」。
跑通这一版,你基本就把「Agent = 会自己定计划 + 调工具 + 看结果再调整」这句话,从概念变成了每天真给你发邮件的东西。
Agent 没那么玄。它就是把「模型会想」+「工程上管状态」+「能调外部工具」这三件事拧成一圈循环。
站在前端角度,你可以把它当成一套更猛的异步工作流:以前我们用 Promise 和状态机管用户操作,现在用 Agent 管 AI 的自主执行。
别一上来就想着造个全能管家。先用 LangGraph、CrewAI、Anthropic Agent SDK 或 OpenAI Assistants 跑通一个具体例子——比如「追踪你关注领域的最新动态,每周自动出一份汇总」。跑通了,再慢慢加记忆、加工具、加护栏。
下一篇聊聊一个和 Agent 强相关的新岗位:FDE。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。