ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Agentic AI 看起来很强,为什么真实项目里总失控?

2026/8/6 23:44:27 拓冰建站 浏览量
Agentic AI 看起来很强,为什么真实项目里总失控?

聊《Agentic AI看起来很强,为什么一进真实项目就容易失控?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。

摘要

上周需求评审,业务方提了一个 Agent 需求:"让系统自动处理客户投诉,从读取工单、分析原因、调用知识库,到生成回复并推送,全流程自主完成。"

我听完问了一个问题:这条链路里,哪一步失败后,系统该停下来等人确认?

业务方愣了一下,说"应该都能自动处理吧"。

我说,那如果它调错了知识库、推了错误回复,责任算谁的?

这个场景我见过太多次了。Agentic AI 的 Demo 跑起来很漂亮,LLM 能拆解任务、调用工具、甚至自我反思。但一旦放到真实项目里,权限怎么控、日志怎么记、失败怎么恢复,这些问题没有一个被认真讨论过。

今天这篇,不聊概念,聊边界和取舍。

---

目录

  • Agentic 到底是什么
  • 自主性边界:什么该让 Agent 做,什么必须人管
  • 任务拆解:别指望 LLM 一次性搞定复杂流程
  • 可观测性:没有日志的 Agent 等于盲飞
  • 安全约束:Agent 的权限,比 Prompt 更重要
  • 总结

Agentic 到底是什么

很多人把 Agentic AI 理解成"能自主做事的 AI",这个定义太宽泛了。

从工程角度,Agentic 系统的核心特征是任务驱动 + 工具调用 + 循环决策。它不是一个被动响应问题的聊天机器人,而是一个能主动规划路径、调用外部工具、并根据结果调整下一步的智能体。

典型结构长这样:

用户输入 → 规划器(Plan) → 执行器(Act) → 观察结果(Observation) → 判断是否完成 → 循环

这就是 ReAct 模式,Reasoning + Acting。

但问题来了:规划器是谁写的?执行器的边界在哪?观察结果谁来评估?

这些问题的答案,决定了你的 Agent 是可控的系统,还是一个会越跑越野的黑盒。

我见过太多团队,拿到一个 Agent 框架就急着做 Demo,Prompt 写得花里胡哨,工具调得飞起。但上线之后,最基础的问题都没想清楚——这个 Agent 能调什么接口?能改什么数据?出错后谁来兜底?

Agentic 不是能力问题,是工程约束问题。

---

自主性边界:什么该让 Agent 做,什么必须人管

这是我最想强调的一点。

需求评审时,业务方想要的"自主执行",在工程师眼里应该翻译成一份权限清单。

我的判断标准很简单:

  • 只读操作 → 可以给 Agent,比如查知识库、读工单
  • 生成内容但需人工审核 → 可以给 Agent,但输出必须进人工确认队列
  • 写入/修改/删除操作 → 默认不给,除非有强校验机制
  • 涉及资金、用户隐私、合规敏感的操作 → 绝对禁止 Agent 直接执行

边界不是靠 Prompt 约束的,是靠系统架构约束的。

一个实际的例子:我们做过一个工单分类 Agent,它能读取工单内容、调用分类模型、写出分类结果。但分类结果不会直接写入数据库,而是进入一个待确认队列,由人工审核后才会生效。

这个设计简单,但有效。它让 Agent 承担了重复劳动,同时把关键决策留给了人。

自主性不等于完全放手。好的 Agentic 系统,是"能自主,但知道什么时候停下来"。

---

任务拆解:别指望 LLM 一次性搞定复杂流程

很多团队踩的第一个坑,就是把一个复杂任务丢给 LLM,指望它自己拆解。

现实是:LLM 能拆,但拆得不可靠。

一个真实的投诉处理流程,可能包含十几个步骤:读取工单 → 查询用户历史 → 检索知识库 → 生成初步回复 → 审核 → 推送。每一步都有失败的可能,LLM 自己规划的路径,可能在第三步就偏离了。

我的建议是:复杂流程用工作流编排,不要依赖 LLM 的动态规划。

用 LangGraph、Temporal 或者简单的状态机,把流程写死,让 LLM 只负责其中需要"智能判断"的环节。

from langgraph.graph import StateGraph, END class AgentState(TypedDict): ticket_id: str user_history: dict knowledge_result: str draft_response: str status: str # pending_review | approved | rejected def read_ticket(state): # 读取工单,固定逻辑 ... def query_knowledge(state): # 调用知识库,固定逻辑 ... def generate_response(state): # LLM 只负责这一步 ... workflow = StateGraph(AgentState) workflow.add_node("read_ticket", read_ticket) workflow.add_node("query_knowledge", query_knowledge) workflow.add_node("generate_response", generate_response) workflow.add_edge("read_ticket", "query_knowledge") workflow.add_edge("query_knowledge", "generate_response") workflow.add_edge("generate_response", END)

这样,流程是确定的,LLM 只在关键节点发挥作用。确定性流程 + 智能节点,才是工程上可靠的 Agentic 架构。

---

可观测性:没有日志的 Agent 等于盲飞

这是目前行业里最被忽视的一点。

Agent 跑通了 Demo,但上线一周后,运维发现:这个 Agent 在反复调用同一个 API,每次都在重试,日志里全是 500 错误,但没人知道为什么。

问题出在哪?Agent 的每一步决策都没有被记录。

一个可观测的 Agent 系统,需要记录以下内容:

1. 输入:用户原始请求是什么
2. 规划:Agent 决定做什么、为什么做
3. 工具调用:调了哪个工具、传了什么参数、返回了什么结果
4. 中间状态:每步执行后的状态变化
5. 最终输出:Agent 给出的最终结果

这些信息不能只存在内存里,要持久化到日志系统,最好能关联到 Trace ID,方便排查。

import uuid import logging logger = logging.getLogger("agent.tracer") def tracked_tool_call(tool_name, params, result, correlation_id=None): trace_id = correlation_id or str(uuid.uuid4()) logger.info({ "trace_id": trace_id, "event": "tool_call", "tool": tool_name, "params": params, "result_status": "success" if result else "failed", "timestamp": datetime.utcnow().isoformat() }) return trace_id

可观测性不是上线后的补救,是设计时就该考虑的基础设施。

---

安全约束:Agent 的权限,比 Prompt 更重要

回到最初的需求评审场景。

业务方要"自动处理投诉",工程师要问的是:这个 Agent 能访问哪些系统?能写哪些数据?出错后能回滚吗?

安全约束的层级,从低到高依次是:

  • Prompt 层:告诉 Agent "不要做 X"——最不可靠,LLM 会忽略或误解
  • 工具层:给 Agent 的工具本身做了权限限制——比如分类 Agent 只能读不能写
  • 网关层:所有 Agent 的 API 调用经过统一网关,做鉴权和限流
  • 审计层:所有操作留痕,可追溯、可回滚

我见过最糟糕的案例:一个 Agent 被赋予了数据库写入权限,Prompt 里写了"只在确认信息准确后写入",结果 LLM 在不确定时直接写了错误数据,而且无法回滚。

安全约束必须放在系统层,不能依赖 LLM 的"自觉"。

---

总结

Agentic AI 的 Demo 跑通很容易,难的是让它在一个可控的边界内稳定运行。

我给团队的验收标准就三条:

1. 权限清单:Agent 能做什么、不能做什么,写清楚,不是靠 Prompt 约束
2. 日志完整:每一步决策可追溯,出问题能还原现场
3. 流程确定:复杂任务用工作流编排,LLM 只在关键节点介入

Demo 看能力,上线看约束。 这两件事,一样都不能少。

资料展示

下面是我整理的AI大模型学习资料和工具包预览,适合收藏后按主题逐步学习。

如果你想看完整资料目录,可以在评论区留言「资料」;也欢迎告诉我你更关注AI大模型里的哪类内容。