智能体「没报错却少了工具」:怎样接非致命降级通道?

简介: 会话成功却工具变少、裁决降级时,如何把 onPlatformWarning/sdk.notice 非致命通道接入宿主,与硬失败分流,避免静默降级被当成正常成功。

现有软件接入智能体 SDK 后,最容易被忽略的一类事故不是 401、429 或余额不足,而是:会话创建成功了」,界面也没弹红字,但工具突然变少、裁决人悄悄缺席、能力位解析失败却回落到「零能力档」——用户和值班同学都以为「还能聊」。 若宿主只接硬失败、不接非致命通报,运维会把「静默降级」当成正常成功。

2025 年末到 2026 年,智能体安全与可观测材料把「看不见的降级」推到开发者面前。OWASP Gen AI《OWASP Top 10 for Agentic Applications》发布说明(页面现行,本机 2026-11-09 再核 HTTP 200;配套 Version 2026 PDF 同站可下载)强调:缺少对智能体在做什么、为何做、调用了哪些工具的清晰可见性时,过度自治会悄悄扩大攻击面,并把小问题放大成系统级故障——强可观测性成为不可妥协项。OWASP Agent Observability Standard 提案 #73(HTTP 200)进一步指出:仅靠单次追踪无法发现随时间发生的静默劣化;点检通过不代表行为轨迹稳定。AWS Well-Architected Agentic AI Lens · AGENTOPS05-BP02(HTTP 200)要求为智能体建立行为基线,监测工具选择漂移、完成率与异常模式,避免只靠静态阈值漏掉「慢慢变差」。同一时期,诊断面也在补齐:Hermes Agent PR #89217(HTTP 200)为 hermes doctor 增加只读的配置组合诊断与稳定 JSON;deepagents dcode doctor(HTTP 200)把安装健康、SDK/平台版本与配置路径打成可粘贴报告;agentdx(HTTP 200)把 Silent Degradation 列为可检测的运维病理之一。上述材料共同回答的行业问题是:硬错误通道不够;装配期/运行期的非致命降级必须有结构化出口,并进入界面与值班链路。

对接入 SDK/会话宿主的开发者,完整行业答案可以收成六句话:

  1. 「请求成功」≠「能力完整」:会话能聊、轮次结束,仍可能发生工具裁剪、裁决人降级或装配告警。
  2. 静默降级是一等运维对象:行业安全/可观测材料已要求看见工具调用与行为漂移,而不是只盯 HTTP/异常栈。
  3. 非致命通报不要丢进 console:应进入宿主回调或会话事件流,再投影到 UI/日志/告警;缺席回调不等于「没事」。
  4. 回落策略必须可解释:例如能力段解析失败时回落「零能力」而不是「缺省放开」,这是安全取向,但必须让人知道发生了回落。
  5. 硬失败与 notice 分通道处理:401/429/capability_disabled 走错误排障;sdk.notice/warning 走降级可见性,不要混成同一种「失败 toast」。
  6. 装配前预检与运行期通报互补:CI/本地 doctor 类命令抓阻断配置;运行期 warning 抓会话装配中的非致命事实。

本文把上述行业问题映射到已核实的 Tansr 机制:createSession({ onPlatformWarning })/onWarning 接收 bundle 解析与装配期的非致命事实;缺席时回落会话事件流 turn.error { scope: 'sdk.notice', recoverable: true }——文档原文写明恒不写入 console、恒不改装配结果;常见码含 app_platform_mismatch、tools_platform_deprecated、capabilities_unparsed(SDK 0.13.0 起回落零能力档 tools 全 false,不再回落缺省档)以及多项 adjudicator_*。依据见 平台装配与 bundle、PlatformWarning、会话与事件流(本机 2026-11-09 再核均为 HTTP 200)。命令行侧可用 设置与 doctor 的 tansr doctor/--json 做零网络装配预检(退出码只看 problems 四类阻断码)。它不是 S06 的 401/429/余额/能力关闭硬失败分码排障全文,也不是 S07 能力位治理决策稿、P01 权限审计链、S10 统一面完成判定,或 S08/S09/S01/R01;这里只回答:宿主怎样把「没报错的降级」接出来,并与硬失败分流。

直接答案

  1. 接 onPlatformWarning(或全量 onWarning):在 createSession 时传入;把 code/message(及全量通道的 detail)写入应用日志与可选 UI 条,不要只 console.warn 后丢掉。
  2. 同时监听 turn.error 且识别 scope: 'sdk.notice'、recoverable: true:这是回调缺席时的回落通道;不要把它当成与硬失败同一套「重试/中断」策略。
  3. 按码分流用户可见性:capabilities_unparsed → 明确提示「能力配置解析失败,已按零能力装配」并引导修 bundle/控制台;adjudicator_* → 提示裁决降级/熔断,权限体验可能变严;app_platform_mismatch → 核对应用类型与接入形态;tools_platform_deprecated → 安排去掉旧别名。
  4. 记住 0.13.0 回落语义:capabilities_unparsed 回落零能力档,不再回落缺省档;界面若仍显示「全部工具可用」就是宿主撒谎。
  5. 硬失败仍走错误面:capability_disabled/401/429/余额等按错误信封与排障稿处理;本文不替代那条链路。
  6. 本地/CI 用 tansr doctor 抓阻断:退出码 0/1;--json 的 problems 仅四码(no_provider/unresolved_model/missing_credential/session_store_unwritable);大量呈现项不改退出码——不要把「报告里有黄字」当成 CI 红灯,也不要把「退出 0」当成运行期不会出现 warning。
  7. 本批未做线上基线与联调实测:标题收窄为机制与宿主接线说明,不承诺「接上回调即消灭静默事故」。

行业问题:为什么「没红字」不够

开发者常问 只盯硬失败时的盲区 非致命通道补上的一环
会话创建成功,为何工具突然没了? 成功体仍返回;能力被静默裁剪 capabilities_unparsed 等 warning/notice
权限怎么变严了却没报错? 裁决人缺席/熔断不走 4xx adjudicator_* 通报
只接了 turn.error 当失败 toast? notice 被误伤成「失败」或被过滤掉 按 scope/recoverable 分流
CI 过了为何线上仍降级? doctor 阻断码 ≠ 运行期装配告警 预检+onPlatformWarning 互补
旧版 SDK 行为是否一样? 0.11.x 曾对解析失败回落缺省档 以 ≥0.13.0 零能力回落为准并写进发布说明

OWASP 对可观测性的强调、AOS 对静默劣化的警告、AWS 对行为基线的要求,以及各家 doctor/病理检测项目,共同指向同一产品缺口:嵌入现有软件的智能体宿主,必须把非致命装配/运行通报做成一等公民。

你原来要自己做的事 → Tansr 接手什么 → 应用仍要负责什么

原来常要自行完成的:

  • 猜测「工具变少」是模型问题、网络问题还是配置问题。
  • 把所有异常塞进同一 toast,或全部忽略非 4xx/5xx。
  • 在 CI 里用人工 checklist 核对 provider/凭据/会话存储可写性。
  • 无法区分「能力位被管理员关闭」(硬拒绝)与「能力段解析失败回落零能力」(非致命但后果更隐蔽)。

Tansr 公开机制可接手的部分(以 2026-11-09 抓取的 docs.tansr.com 为准;0.20.0 候发内容不得写成已上线):

  • Bundle 装配期非致命事实 → onPlatformWarning/onWarning;缺席 → turn.error sdk.notice。
  • 常见 warning 码与 0.13.0 起 capabilities_unparsed → 零能力档的安全回落。
  • 裁决人相关 adjudicator_* 与显式 permission.mode 触发的 adjudicator_skipped_by_mode。
  • tansr doctor/--json:零模型、零网络、零子进程的装配预检;CI 以退出码/problems 为准。
  • 版本核对基线:资料站平台装配页写明 @tansr/sdk 0.19.0/@tansr/serve 0.15.1(均 2026-10-10 发布);CLI doctor 页按命令行 0.10.3(2026-10-10)核对。

应用仍要负责:

  • 实现回调并把码映射到文案/告警级别;决定哪些码打断用户、哪些只记审计。
  • 区分 notice 与硬错误的产品策略;勿把 recoverable notice 当成自动重试信号。
  • 控制台/bundle 修复流程;解析失败时先修配置,而不是提高重试频率。
  • 本批未在真实应用触发全套 warning 码留截图;不承诺「逐步复现手册」。

宿主接线要点(机制说明,非「一键完成」)

  1. createSession({ onPlatformWarning(w) { /* 记 code/message;必要时 UI */ } });需要 detail 时用文档所述全量 onWarning 通道。
  2. 事件循环里:若 turn.error 且 detail.scope === 'sdk.notice'(或以文档字段为准的 notice 形),走降级提示,不走「失败重试」默认路径。
  3. 对 capabilities_unparsed:展示「已按零能力装配」;排查 detail.issues(zod);修到可解析后再开新会话/重新装配。
  4. 对 adjudicator_budget_exhausted/adjudicator_breaker_tripped 等:提示人工确认可能变多;不要假装仍有裁决软化。
  5. 发布流水线加 tansr doctor --json:仅当 problems 非空失败构建;报告中的呈现项另开信息级日志。
  6. 与 S06 硬失败表交叉引用:同一界面可同时有「错误」与「降级」两种状态条,文案勿混用。

常见码速查(以公开页为准)

码 含义(摘要) 宿主建议
app_platform_mismatch 应用平台类型与接入形态不符 核对控制台应用类型与 SDK/serve 形态
tools_platform_deprecated 使用了 tools.platform 旧别名 计划迁移字段,勿长期忽略
capabilities_unparsed capabilities 段解析失败 按零能力对待;修 schema/配置
adjudicator_unavailable 等 裁决人缺席/模型不可用/预算耗尽/熔断 权限体验可能变严;告警
adjudicator_skipped_by_mode 显式 permission.mode 导致不装裁决人 确认是否为自管模式预期

什么时候采用,什么时候不采用

值得按此推进:已在现有软件嵌入 @tansr/sdk/会话宿主;安全或 SRE 要求看见「能力变少」;曾出现「能聊但工具没了」却无日志;需要把 notice 与 401/429 分流。

先不要:把所有 turn.error 一律当失败弹窗;在未接 warning 时宣称「已消除静默降级」;把 tansr doctor 退出 0 解释成「运行期不会 warning」;或把 0.11.x 的缺省档回落行为写成现行默认。纯演示、且明确接受零可观测的原型可以另议——一旦对真实用户交付工具能力,就应按非致命通道接线。

与已有稿的差异

  • 相对 S06:S06 讲 401/429/余额/capability_disabled 等硬失败分码排障;本文讲 非致命降级通道(onPlatformWarning/sdk.notice)与零能力回落可见性。
  • 相对 S07:S07 讲按应用治理工具与联网能力位策略;本文讲能力/裁决在装配期出问题或降级时如何被看见。
  • 相对 P01:P01 讲权限决定与业务回执审计链;本文不展开权限事件字段。
  • 相对 S10:S10 讲统一调用面完成判定与 retryAction;本文不讨论 202/SSE 终态。
  • 相对 doctor 专题假设:本文以运行期 warning 为主线,tansr doctor 仅作互补预检,不写成 CLI 专文。

限制(紧邻结论)

  • 产品事实以 2026-11-09 抓取的 docs.tansr.com 公开页为准;未做全码触发联调实测。
  • OWASP/AWS/GitHub/PyPI 材料用作行业可观测与静默降级旁证,不表示实现兼容或商业关系。
  • 不写具体价格;不写「免费试用」;无 AI/身份/适用版本页脚。
  • AI 效果基线本批缺测,按指导单独记录,不阻塞内容交付。
  • 子代理本轮不线上发布;微信仅准备已渲染 HTML 供父代理/公众号代理交接草稿。
相关文章
|
10天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
4057 20
|
11天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
4158 49
|
11天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1996 7
|
6天前
|
云安全 人工智能 安全
|
6天前
|
存储 弹性计算 人工智能
2026 年阿里云双十一活动入口攻略,新客服务器优惠通道、三大会场入口梳理
综合来看,2026年阿里云双十一活动入口清晰: 阿里云轻量应用服务器、阿里云ECS云服务器、阿里云GPU云服务器、阿里云百炼大模型服务平台 活动会场、综合权益中心、99计划专场三大入口覆盖服务器、AI权益与续费特价;新用户通过控制台首页banner、权益中心、产品页三处路径进入专属专场,老用户通过控制台弹窗和费用中心权益中心进入老客专区,企业用户做企业实名后解锁专属满减与阶梯折扣。
820 0
|
5天前
|
Linux 开发工具 iOS开发
2026最新codex下载安装保姆级使用教程(下载+安装+登录+使用,含所有历史版本)
本文详解OpenAI Codex国内快速上手指南:提供Win/macOS/Linux全平台免安装包、npm/Homebrew等多方式安装、账号/API Key双登录、简体中文切换,覆盖下载、安装、汉化、使用及高频避坑(如微软商店失败、npm超时等),10分钟即可跑通。
1112 3
|
12天前
|
安全 算法 定位技术
《高性价比人生指南》完整原版:普通人用最少的资源,过好这一生的底层逻辑~How To Live Better
📖《高性价比人生指南》是一份基于实证、拒绝焦虑的生存手册,倡导以“人生时薪”为视角,重新计算时间、金钱与精力的成本与收益。它不承诺逆袭,只教人算清账:省下的钱若耗掉时间便亏;买体验比买物品更值;睡眠是最高杠杆的健康投资;关系贵在情绪价值而非表面热络;学习重在改变行为而非自我安慰。核心理念:用低成本、高回报的微小行动,换取长期的选择权——不是成为谁,而是掌控自己人生的主动权。
2145 6
|
云安全 安全 网络安全
|
24天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
4351 58

热门文章

最新文章