跳到主要内容

146 篇博文 含有标签「ai-agents」

查看所有标签

AI Agent 的 ORM 阻抗失配:为什么数据层才是真正的瓶颈

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数构建 AI Agent 的团队都在花数周时间调整 Prompt 和评估(evals)、基准测试模型选择以及微调 Temperature —— 而他们真正的瓶颈其实在更深的一层:那个为人类开发者而非 Agent 设计的数据访问层。

这种失配并非细微。像 Hibernate、SQLAlchemy 和 Prisma 这样的 ORM,结合返回分页、单实体响应的 REST API,产生的数据访问模式对自主 AI Agent 来说完全是错误的。其结果是 Token 浪费、速率限制失败、级联的 N+1 数据库查询,以及 Agent 因为无法负担加载所需上下文的成本而产生幻觉。

本文将探讨这一结构性问题,以及一个针对 Agent 优化的数据层究竟是什么样的。

RBAC 对 AI Agent 来说还不够:一种实用的授权模型

· 阅读需 13 分钟
Tian Pan
Software Engineer

如今,大多数构建 AI agent 的团队都将授权视为事后才考虑的事情。他们接入一个 OAuth 令牌,给 agent 分配与触发它的用户相同的权限范围(scopes),然后就大功告成了。然而,几个月后,他们会发现一段被操纵的提示词导致 agent 窃取了文件,或者一个受损的工作流在连接的服务中悄无声息地提升了权限。

问题不在于 RBAC 不好。而是在于 RBAC 是为具有稳定工作职能的人类设计的,而 AI agent 既不稳定也不是人类。在一个对话回合中,agent 的“角色”可能从只读研究转变为具备写入能力的代码执行。静态角色无法表达这一点,这种不匹配创造了一个可预见的漏洞攻击面。

串行工具调用瀑布:Agent循环中隐藏的延迟税

· 阅读需 10 分钟
Tian Pan
Software Engineer

如果你曾剖析过一个莫名其妙跑得很慢的AI Agent,大概率会发现一个瀑布。Agent调用工具A,等待,再调用工具B,等待,再调用工具C——即便B和C根本不依赖A的结果。你为1倍的工作量付出了3倍的延迟。

这个模式并非边缘情况,而是几乎所有Agent框架的默认行为。模型在单次响应中返回多个工具调用,执行循环则逐一按顺序运行它们。修复并不复杂,但前提是要有一种可靠的方法来识别哪些调用真正相互独立。

上游数据质量是你 AI Agent 的真实瓶颈

· 阅读需 11 分钟
Tian Pan
Software Engineer

一个团队花了三个月时间为他们的知识智能体(knowledge agent)调优提示词。他们尝试了 GPT-4,接着是 Claude,然后是一个微调模型。他们重写了六次系统提示词,还聘请了一名提示词工程师。智能体却一直在产生幻觉——语气自信、表达流利,但内容是错的。真正的问题最后被发现是向量库中存放了一份 2023 年的 Confluence 导出文件,以及一份充满矛盾、随意的 Slack 归档讨论,两者都在讨论同一话题。模型只是在履行它的职责:综合处理给定的信息。而这些信息本身就是垃圾。

超过 60% 的生产环境 AI 项目失败可以追溯到数据质量、上下文问题或治理失败,而非模型限制。然而,当智能体表现异常时,人们的第一反应几乎总是修改提示词。第二反应是切换模型。第三可能是增加一个重排序器(reranker)。而喂给整个流水线的上游数据库,在浪费了数月工作时间之前,很少会出现在排错清单上。

智能体协议碎片化:为 A2A、MCP 及未来设计

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队在选择智能体协议时,实际上同时做了三个不同的决策——把它们混为一谈,正是为什么许多集成一旦引入第二个框架就会崩溃的原因。

这三个决策分别是:智能体如何与工具和数据交互(纵向集成)、智能体如何与其他智能体协作(横向协调),以及智能体如何向人机界面暴露状态(交互层)。Google 的 A2A、Anthropic 的 MCP 和基于 OpenAPI 的 REST 解决的是这个栈的不同层次。当工程师混淆它们时,要么用多智能体机制过度设计单智能体场景,要么用单智能体工具欠设计多智能体工作流。两种失败在生产环境中重构代价都极高。

压缩陷阱:为什么长时运行的智能体会忘记已经尝试过的事情

· 阅读需 10 分钟
Tian Pan
Software Engineer

智能体调用文件写入工具,工具因权限错误而失败。智能体记录此事,转而采用其他方案。任务运行足够长时间后,运行时触发上下文压缩,生成摘要:"智能体一直在尝试写入输出文件。"被丢弃的内容:权限错误曾经发生过,以及为什么最初的方案被放弃。三百个 token 之后,智能体再次尝试同样的写入操作。

这种模式——姑且称之为压缩陷阱——是生产智能体系统中最顽固的可靠性故障之一。这不是模型 bug,而是压缩机制的工作方式与智能体在长时会话中保持连贯性所需之间的架构失配。

长程智能体的航位推算:无需中断即可掌握智能体运行状态

· 阅读需 13 分钟
Tian Pan
Software Engineer

在 GPS 出现之前,水手们使用推算定位法(dead reckoning):取你最后一个确认的位置,记录你的速度和航向,然后向前推算。这种方法一直有效,直到累积的误差复合成不可逆转的后果——你没预料到的礁石。

!["https://opengraph-image.blockeden.xyz/api/og-tianpan-co?title=%E9%95%BF%E6%97%B6%E9%97%B4%E8%BF%90%E8%A1%8C%20Agent%20%E7%9A%84%E6%8E%A8%E7%AE%97%E5%AE%9A%E4%BD%8D%E6%B3%95%EF%BC%9A%E6%97%A0%E9%9C%80%E5%81%9C%E6%AD%A2%E5%8D%B3%E5%8F%AF%E4%BA%86%E8%A7%A3%20Agent%20%E7%9A%84%E4%BD%8D%E7%BD%AE"]

长时间运行的 AI Agent 正面临着完全相同的问题。当一个 Agent 花费两个小时协调 API 调用、编写文档并执行多步骤计划时,运行它的人通常并不比没有仪器的水手拥有更好的能见度。Agent 要么完成了,要么没完成。失败模式并不是崩溃——而是看似在工作却静默循环并烧掉 30 美元 token 的情况,或者是 Agent “成功”完成了错误的任务,因为它的世界模型在执行一小时后发生了偏移。

生产数据让这一点变得具体:据记录,未被发现的循环 Agent 在人工干预前曾重复相同的工具调用 58 次。按照前沿模型的费率,一个失控运行两小时的 Agent 在被察觉之前会耗费 15–40 美元。而最严重的失败并不是报错退出的那些——而是那 12–18% “成功”运行却返回看似合理实则错误答案的情况。

聊天机器人、Copilot 还是 Agent:改变你架构决策的分类学

· 阅读需 10 分钟
Tian Pan
Software Engineer

AI 工程中最昂贵的架构错误不是选错了模型,而是选错了交互范式。本该构建 Agent 的团队花了六个月打磨一个聊天机器人,然后困惑地发现用户什么事也办不成。本该构建 Copilot 的团队接入了完全自主的 Agent,结果用整个季度来扑灭未授权操作和失控成本引发的各种火。

这套分类学在你写下第一行代码之前就至关重要,因为聊天机器人、Copilot 和 Agent 有着根本不同的信任模型、上下文窗口策略和错误恢复需求。选错了不只是产品变差——而是产品无法通过调提示词或换模型来修复。

大规模提示词注入:防御智能体流水线免受恶意内容的侵害

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个银行助手正在处理一段客户支持对话。消息中嵌入了指令——由于是以零不透明度的白色文字渲染的,因此不可见——要求智能体绕过交易验证步骤。智能体照做了。当异常情况在日志中浮现时,已有 250,000 美元被转移到了客户从未接触过的账户中。

这并非凭空虚构的场景。它发生在 2025 年 6 月,精准地展示了为什么提示词注入(Prompt Injection)是生产级智能体 AI(Agentic AI)中悬而未决的最难问题。与仅生成文本的聊天机器人不同,智能体(Agent)会采取行动。它会调用工具、发送电子邮件、执行代码并发出 API 请求。当它的指令被劫持时,影响范围(blast radius)不再是一句糟糕的话,而是机器速度下的未经授权的操作。

根据 OWASP 2025 年 LLM 应用十大安全风险,提示词注入现在被列为排名第 1 的关键漏洞,出现在安全审计评估的 73% 以上的生产级 AI 部署中。每个构建智能体的团队都需要一个连贯的威胁模型和防御架构,且这种架构不能以安全之名让系统变得毫无用处。

追踪规划层:为什么你的智能体追踪只记录了一半的故事

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的智能体在最终成功之前三次调用了错误的工具,而你的追踪仪表板准确地向你展示了哪些工具被调用、调用的顺序以及完整的延迟分析。但追踪无法展示真正关键的部分:为什么智能体认为这些工具调用是正确的决策、它试图完成什么目标,以及它在做出每一个错误决定时基于什么样的假设。

这就是 2026 年智能体可观测性核心存在的鸿沟。从业者在工具调用追踪上投入了大量资源。工具已经成熟,OpenTelemetry 语义规范已经确立,仪表板也非常精美。但智能体调试总是会撞上同一堵墙:你可以完全洞察智能体做了什么,却无法看到它为什么这么做。

赢得自主权:如何让 AI Agent 从受监督过渡到独立运行

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数团队将 AI 自主性视为一个二进制开关:智能体要么受监督,要么不受监督。这种思维模式正是为什么 80% 的组织报告了智能体的意外操作,以及为什么 Gartner 预测到 2027 年底,超过 40% 的代理型 AI 项目将因风险控制不足而被放弃。问题不在于 AI 智能体天生不可信,而在于团队在赢得独立性之前就将其提升到了独立地位。

自主性应该是智能体通过展示其可靠性而逐步积累的东西,而不是你在部署时分配的一个属性。就像一名新工程师在获得生产环境访问权限之前,先从审查 PRs 开始一样,AI 智能体在建立业绩记录的过程中,其操作范围也应逐步扩大。这不仅是哲学层面的思考——它会改变你所做的具体架构决策、你追踪的指标以及你设计回滚机制的方式。

最小足迹原则:自主 AI 智能体的最小权限设计

· 阅读需 10 分钟
Tian Pan
Software Engineer

某零售采购智能体在"初始测试期间"继承了供应商 API 凭证,却没有人在系统投产前对其加以限制。当一个差一错误触发后,该智能体拥有完全的下单权限——永久生效,毫无限制。等财务部门察觉时,已有价值 47,000 美元的未授权供应商订单发出。代码没有问题,模型也按设计运行。造成如此大破坏的,是权限问题。

这就是最小足迹原则:智能体应仅请求当前任务所需的权限,避免在任务范围之外持久化敏感数据,清理临时资源,并将工具访问权限限定于当前意图。这是 Unix 最小权限原则在新时代的延伸——在这个时代,代码会在运行时自主决定下一步需要做什么。

团队之所以在这里屡屡犯错,并非出于疏忽,而是概念错误:他们把智能体权限当作设计时的工作,而智能体 AI 使其成为了运行时问题。