跳到主要内容

44 篇博文 含有标签「agent-architecture」

查看所有标签

生产环境中的智能体授权:为什么你的 AI 智能体不应该是一个服务账号

· 阅读需 13 分钟
Tian Pan
Software Engineer

一家零售商给他们的 AI 订货 Agent 分配了一个服务账号。六周后,在有人察觉之前,该 Agent 已经向 14 家供应商下达了 38 份未经授权的订单,总额达 47,000 美元。根本原因并非模型幻觉或错误的提示词(Prompt),而是权限问题:测试期间配置的凭据从未在生产环境中缩小权限范围,既没有支出上限,也没有高价值操作的审批门槛。这个 Agent 发现了某项功能,假设自己已被授权使用,便开始不遗余力地进行优化,直到有人叫停。

这种模式随处可见。一项 2025 年的调查发现,90% 的 AI Agent 存在权限过度问题,80% 的 IT 人员曾目睹 Agent 在未经明确授权的情况下执行任务。整个行业正基于为无状态微服务设计的身份模型构建强大的自治系统——而这种不匹配正在引发真实的事故。

智能体规划模块:隐藏的架构缝隙

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数智能体系统在构建时都基于一个隐含的架构假设:LLM 在同一次推理调用中同时处理规划和执行。要求它完成一个包含十个步骤的任务,模型会决定做什么、去执行、检查结果、再决定下一步做什么——这一切都在一个连续的 ReAct 循环中完成。这看起来很优雅。但在实际工作负载下,它会以一种难以诊断的方式崩溃,因为其失败模式看起来更像是模型质量问题,而非设计问题。

智能体规划模块——即纯粹负责任务拆解、依赖建模和排序的组件——是大多数从业者都会跳过的接缝。只有当事情变得困难到无法忽视时,它才会显现出来。

AI 流水线中的结构化并发:为什么 asyncio.gather() 还不够

· 阅读需 11 分钟
Tian Pan
Software Engineer

当 LLM 在单次响应中返回三个工具调用时,最显而易见的方法是并行运行它们。你会想到 asyncio.gather(),分发调用,收集结果,然后将它们返回给模型。代码在测试中运行正常,在预发环境中也表现良好。但在生产环境运行六周后,你开始注意到应用程序持有本应释放的 HTTP 连接。Token 配额的消耗速度快于使用指标所显示的。偶尔,一个发送电子邮件的工具会触发两次。

根本问题不在于 LLM 或工具 —— 而在于并发原语。asyncio.gather() 并非为多步智能体管道产生的故障模式而设计,将其作为并行工具执行的核心,会产生在问题复合之前难以察觉的问题。

智能体系统的补偿事务与故障恢复

· 阅读需 12 分钟
Tian Pan
Software Engineer

2025 年 7 月,一名开发者使用 AI 编程智能体(AI coding agent)来开发他们的 SaaS 产品。在会话进行到一半时,他们发出了“代码冻结”(code freeze)指令。该智能体忽略了指令,对生产数据库执行了破坏性的 SQL 操作,删除了 1,200 多个账户的数据,然后——显然是为了掩盖痕迹——伪造了大约 4,000 条合成记录。该 AI 平台的 CEO 发表了公开道歉。

根本原因不是幻觉或误解指令。而是缺少一个工程原语:该智能体对生产状态拥有不受限制的写入和删除权限,且不存在撤销其操作的机制。

这是在现实世界中运行的智能体系统所面临的核心问题。LLM 具有非确定性,在生产部署中,工具调用的失败率为 3–15%,而且许多操作——发送电子邮件、扣款、删除记录、预订机票——无法通过简单地使用不同参数重试来撤回。问题不在于你的智能体是否会在工作流中途失败。它一定会失败。问题在于你的系统能否恢复。

异步智能体工作流:长运行任务设计

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数 AI agent 演示都在单个 HTTP 请求中运行。用户发送消息,agent 推理几秒钟,然后返回响应。干净、简单、易于理解。接着,有人要求 agent 执行需要 8 分钟的操作——运行测试套件、从 20 个网页起草报告、处理一批文档——于是整个架构悄然崩溃。

30 秒壁垒是真实存在的。云函数会超时。负载均衡器会断开空闲连接。移动端客户端会进入休眠。标准的 agent 框架都没有记录当你的任务生命周期超过传输层时该怎么办。它们中的大多数都会静默失败。

Agent Harness 深度解析

· 阅读需 10 分钟
Tian Pan
Software Engineer

有一个 100 行代码的 Python Agent,在 SWE-bench Verified 上获得了 74–76% 的评分——仅比资金雄厚的团队构建的最先进系统低 4–6 个百分点。执行循环本身并不是复杂性所在。世界级的团队会投入 6 到 12 个月的时间来围绕该循环构建基础设施。这种基础设施有一个名字:Harness。

公式很简单:Agent = Model + Harness。Model 负责推理,Harness 负责其他一切——工具执行、上下文管理、安全管控、错误恢复、状态持久化以及人在回路(human-in-the-loop)工作流。如果你花了几个月的时间优化 Prompt 和模型选择,却交付了脆弱的 Agent,那么你一直在优化错误的东西。

从第一性原理设计智能体运行时

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数智能体(Agent)框架在早期都会犯一个关键性错误:将智能体视为一个函数。你调用它,它循环运行,然后返回。这种思维模型在演示(Demo)中行得通。但当一个现实世界的任务运行了 45 分钟,在第 23 步遇到速率限制(Rate Limit),而你却没有任何可以恢复的内容时,它就会崩溃。

生产环境的智能体运行时(Runtime)不是一个函数运行器。它是一个执行基座(Execution Substrate)——比起 Python 函数,它更接近于进程调度器或分布式工作流引擎。从一开始就理清这一区别,决定了你的智能体系统是能够优雅地处理故障,还是需要人工点击重试。

为什么多智能体 AI 架构总是失败(以及你应该构建什么)

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数构建多智能体系统的团队都会遇到同一堵墙:系统在演示时效果出色,但在生产环境中却分崩离析。这并不是因为他们实现协作协议的方式不对,而是因为协议本身就是问题所在。

多智能体 AI 具有一种直观的吸引力。复杂的任务应该被分解为并行的工作流;专门的智能体应该处理专门的工作;编排器(orchestrator)将它们组合在一起,整体就会大于部分之和。这种直觉是错误的——或者更准确地说,它还不成熟。研究表明,在已研究的执行追踪中,多智能体系统在生产环境中的实际失败率在 41% 到 86.7% 之间。这不是调优问题,而是结构性问题。