Agent 工程笔记①:工具调用失败时,先查哪三层
Agent 靠工具调用tool calling读写文件、跑命令、查接口。失败时控制台往往只丢一句「tool error」排障却可能停在错误层。本系列叫「Agent 工程笔记」。第一篇只建立排查顺序先分清失败发生在哪一层再决定改提示、改 schema还是改环境。一、先说一个具体麻烦你让 Agent「更新依赖并跑测试」。它调了终端工具返回非零退出码。你以为是模型笨把提示加长三倍还是失败。后来发现命令在沙箱里根本没有pnpm。问题在执行环境不在「想不想得清楚」。工具失败常见混在一起。分层以后动作才对得上病。二、三层分别是什么第一层模型决策模型有没有选对工具参数意图对不对该不该在缺信息时先搜索再写症状调错工具、漏调、乱调、该停不停。第二层协议与参数工具名、JSON 参数、必填字段、类型是否符合 schemaMCP / API 是否校验失败症状参数缺失、类型错误、未知工具名、解析失败。第三层执行环境权限、网络、路径、依赖、超时、沙箱策略、密钥是否可用症状命令找不到、权限拒绝、连不上、超时、磁盘只读。三、推荐排查顺序A先看原始工具结果退出码、stderr、HTTP 状态不要只看模型转述B确认工具名与参数是否合法第二层C在同一环境手动复现命令第三层D若环境与参数都对再回头看提示与决策第一层很多人颠倒先改人格化提示却不复现命令。四、每层最小修复动作第一层补约束与验收减少工具数量要求「先只读探测」。第二层收紧 JSON Schema给枚举对失败返回可机读错误码。第三层装依赖、开放路径、延长超时、提供只读凭据、修好沙箱。下面是一个更利于第二层排查的工具错误返回示意。{ok:false,code:ENOENT,tool:run_terminal,message:pnpm: command not found}上面代码中code与message让宿主和模型都能定位到环境层而不是笼统的「失败了」。五、和 MCP / 约束验收的关系MCP 把工具接到宿主接上不等于稳。Server 挂了、schema 漂移、权限过宽都会在二三层爆雷。「约束 验收」主要稳住第一层少让模型在模糊目标下乱点工具。三层要一起看。六、常见误区1只骂模型多数是环境与契约。2吞掉 stderr等于丢掉第三层证据。3工具说明过长却缺必填示例第二层更容易出错。4一次给二十个高危工具第一层选错概率上升。七、小结与下一篇工具失败先问决策错了、参数错了还是环境执行错了按层动手比反复加形容词有效。下一篇预告上下文太长时砍什么、留什么。完

相关新闻

i.MX8M Mini核心板实战:从底板设计到嵌入式Linux部署

i.MX8M Mini核心板实战:从底板设计到嵌入式Linux部署

1. 一块“小钢炮”级别的核心板:先看它到底放了什么第一次看到这块板子的设计图时,我第一反应是“这玩意儿真的能跑Linux?”——尺寸压到比一张名片还小一圈,却同时集成了i.MX8M Mini处理器、LPDDR4内存、eMMC存储、PMIC电源管理、…

2026/8/29 20:55:35 阅读更多 →
图论与动态规划融合:解决带约束路径计数与优化问题

图论与动态规划融合:解决带约束路径计数与优化问题

1. 项目概述:当图论遇上动态规划最近在刷题和做项目的时候,经常遇到一类问题,感觉像是图论,但又需要记录状态;感觉像是动态规划,但状态转移又依赖于图的结构。这种“图论 dp”的组合拳,在算法竞…

2026/8/29 20:55:28 阅读更多 →
先行一步的央企,穿透式监管到底做出了什么效果?

先行一步的央企,穿透式监管到底做出了什么效果?

穿透式监管系列 第6篇前五篇讲了政策、盲区、逻辑、架构、数据治理,都是"应该怎么做"。这一篇换一个角度:已经做了的企业,到底做出了什么效果?穿透式监管从2024年提出、2026年全面落地,时间不长。但已经有一…

2026/8/29 20:56:21 阅读更多 →

最新新闻

JVM OOM监控与在线处理实战:从被动重启到主动防御

JVM OOM监控与在线处理实战:从被动重启到主动防御

1. 项目概述:从一次线上OOM事故说起 那天凌晨两点,我被一阵急促的报警电话惊醒。监控大屏上,核心交易服务的响应时间曲线像过山车一样冲上了天际,紧接着就是一连串的“服务不可用”告警。登录服务器一看,日志里赫然躺着…

2026/8/29 20:57:18 阅读更多 →
嵌入式C++模板编程:从泛型原理到工程实践

嵌入式C++模板编程:从泛型原理到工程实践

1. 从“重复造轮子”到“一劳永逸”:为什么嵌入式C需要模板在嵌入式开发领域,尤其是从单片机转向Linux应用或复杂驱动开发的工程师,经常会遇到一个经典困境:你写了一个非常漂亮的函数,比如一个通用的冒泡排序&#xff…

2026/8/29 20:57:18 阅读更多 →
JVM OOM监控与在线处理实战:从告警到根因定位的完整体系

JVM OOM监控与在线处理实战:从告警到根因定位的完整体系

1. 从一次线上OOM告警说起:为什么监控比调优更紧急?那天下午,系统监控大屏上一个刺眼的红色告警弹了出来:“生产环境核心交易服务,堆内存使用率持续超过95%,GC频繁”。没过几分钟,业务群里开始反…

2026/8/29 20:57:18 阅读更多 →
PDMS PiplineTool(二十八)修复安全阀类元件螺栓计算问题

PDMS PiplineTool(二十八)修复安全阀类元件螺栓计算问题

目录1.版本信息2.更新内容介绍2.1 安全阀入口出口异径时2.2 法兰面命名规则的定义2.3 “是否管线头尾法兰不出材料”开关1.版本信息 修复安全阀螺栓规格计算错误问题,发布1.0.9版本。关注公众号,回复:下载。 2.更新内容介绍 修复计算螺栓数…

2026/8/29 20:57:18 阅读更多 →
隐藏在PVC中的“安全卫士”:稀土抑烟剂的材料价值

隐藏在PVC中的“安全卫士”:稀土抑烟剂的材料价值

在我们的日常生活中,PVC材料随处可见。地板、管材、电线护套、装饰材料……凭借良好的加工性能、耐用性和经济性,PVC已经成为现代工业和生活领域中应用广泛的重要材料。但随着应用场景不断升级,人们对PVC提出了更高要求:不仅要性能…

2026/8/29 20:57:18 阅读更多 →
python学习笔记4.5 ---实现一个图书管理系统(使用容器 类)

python学习笔记4.5 ---实现一个图书管理系统(使用容器 类)

一.只使用容器 # todo 存储书籍信息的列表放到循环外 防止每次循环都刷新 book_list = [] while True:print("""欢迎来到图书管理系统1.添加图书2.根据id修改3.根据id查询4.查询所有图书5.根据id删除某个图书6.退出""")choose = input("请…

2026/8/29 20:56:17 阅读更多 →

日新闻

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:00:24 阅读更多 →
【JavaScript】内存管理-垃圾回收机制-内存泄露

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:00:24 阅读更多 →
Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/29 0:00:24 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/29 18:08:35 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 23:05:07 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 19:47:53 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/29 4:34:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/28 17:43:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/29 2:05:18 阅读更多 →