Agent 应用开发会员账号
知识目录选择核心方向与细分内容
知识单元 12进阶场景设计约 12 分钟

理解 → 实现 → 排错 → 取舍

大工具目录的发现与执行分层

考察工具目录、动态发现、召回质量和服务端授权。

工具路由工具发现MCP

知识内容核对 2026-10-03 · 原题来源核对 2026-10-02

这个知识点,你想学到哪一步?

按当前基础选择起点,也可以依次深入。遇到不熟悉的概念,先回到核心原理;完成后用知识练习检查理解。

先理解

刚接触这个知识点

补齐先备概念,读原理与反例,再用自己的话解释为什么。

从核心原理开始 →

再实现

准备把原理写进代码

理解实现步骤与边界,完成小任务,对照验收要求检查结果。

阅读实现与取舍 →

会排错

需要处理故障与条件变化

沿连续追问定位失效前提,再比较迁移案例,说明方案应如何调整。

沿问题继续深入 →

能取舍

需要设计或评审方案

结合工程推演与资深自评标准,解释方案的适用条件、代价和替代选择。

分析工程场景 →
知识单元目录

LEARN · PRACTICE · REFLECT

知识学习与个人记录

我的笔记与复习 ↗

先沿着原理、问答和迁移案例阅读。需要检查理解时,再切换巩固练习或展开个人记录。

作答与个人记录

每次修改后的提交会保留为独立历史。掌握程度由你对照标准自评。

核心知识 · 大工具目录的发现与执行分层

先理解核心原理

先备概念:检索召回、接口命名、权限过滤

选对工具需要先发现适用能力,再基于完整契约调用。发现层负责候选覆盖,执行层负责权限和参数;隐藏错误工具可以改善选择,却不能代替服务端拒绝越权动作。

错选先分原因

“查订单”和“搜索订单文档”命名相近,模型可能把信息检索当业务查询。补清对象、输入和输出边界,比单纯添加更多工具更有用。还有一种失败是正确工具根本没进入候选,不能靠改调用提示修复。

两阶段是工程取舍

可先给模型权限过滤后的轻量目录,再按任务加载少量完整 Schema;没有命中时有界扩展发现。目录应包含稳定工具身份和版本,缓存按租户与权限隔离。这是应用设计,MCP 的工具列表与变更通知只提供发现基础,不规定该排序算法。

评价不能固定一个名字

同一目标可能由查询接口或受控报表实现。标注合法能力集合与限制,分别看候选召回、最终选择、参数正确和业务成功。把被权限过滤的工具计作可用真值会误判召回;把执行失败只归于模型选错,也会掩盖接口设计问题。

用一个问题检查理解

接了 200 个工具,模型总选错。你会怎样缩小工具集合?

先按真实调用失败分析名称、描述、参数和功能重叠,再用权限过滤后的目录按任务检索少量候选工具,必要时二次发现。工具召回与工具调用分别评测,不能因为工具未被选入上下文就宣称它不存在。动态发现只改善选择效率,执行时仍需独立校验权限、版本与参数,目录中的描述也不能改变系统规则。

实现与取舍

先检查工具本身

收集选错工具的样本,区分同义命名、缺少适用边界、参数歧义和真正的检索失败。把“查订单”和“搜索订单文档”分开说明;危险写工具与只读工具应有清晰职责。减少重复入口通常比不断往提示词里添加禁止规则更容易维护。不要通过隐藏错误日志让成功率看起来变高。

分两层发现

第一层只加载经过权限过滤的轻量目录,包含工具名、用途、输入概况和风险类型;第二层按任务查找候选后加载完整 Schema。目录缓存包含租户、权限版本和工具版本。若调用失败源于选错工具,允许有预算地重新发现;若是权限拒绝,不应换一个同功能工具绕过。

评测召回与执行

为每个任务标记可接受工具集合,测候选召回率、最终选中率、参数正确率和多余调用数。某题有两个合法工具,不能只接受一个固定名称。对“找不到工具”单独统计,检查是否被权限过滤、描述索引遗漏或候选数量限制。选取候选数时同时观察成功率和上下文开销。

防止目录成为新风险

工具描述来自外部服务时属于不可信数据,不能凭“只读”字样放开真实写权限。执行网关使用注册后的工具身份、约定版本和实际策略;目录更新触发契约回归。测试加入名称相似、描述含越权要求以及权限已撤销的工具,确认选择改善没有扩大可执行动作。

工程推演

场景
面试假设:200 个企业工具中,Agent 经常把工单检索当成客户信息查询。
设计决策
整理用途边界,再构建权限过滤的目录检索。
验证目标
候选召回和选中率可分别测量,无法找到时能解释原因。
适用边界
工具数量阈值应通过任务实验确定,没有统一最佳值。

连续追问与解答

沿着问题的前提和约束继续向下读。先理解参考解答,再尝试收起答案,用自己的话解释因果和取舍。

举一反三:条件变了,怎样推导?

先找出改变的条件,再判断原方案中哪些前提仍成立。下面的案例是教学推演,便于将原理迁移到新问题。

同能力不同费用

改变的条件:多个合法工具变成质量相同但成本不同

延伸问题:应总选最便宜的吗?

推导与参考解答

先满足任务时效、精度与权限,再在等价工具中比较费用、限额和可靠性。低价工具失败后的重试与回退也算成本;敏感数据不能为省钱路由到无授权服务。将选型依据保存在目录策略,模型建议可被校验。

保持不变的原理:工具替代必须保持任务与权限不变量,成本是其后的优化项。

运行中撤销权限

改变的条件:静态目录变为动态权限

延伸问题:模型已加载 Schema 能继续调用吗?

推导与参考解答

不能只相信已加载目录。执行时检查最新有效权限版本,撤销后拒绝并刷新目录,模型可以转到合法替代方案;在途写请求按提交事实核对。候选缓存按权限版本失效,保留日志说明是权限变化而非工具消失。

保持不变的原理:发现是一个快照,真正放行发生在执行时。

易错点

  • 一次塞入全部工具
  • 只测模型最终选择不测候选召回
  • 把描述中的安全声明当授权

参考资料

依据公开技术资料设计;参考资料支持技术机制,场景与评分标准为本站设计,不代表某公司面试原题。 新增问答与迁移案例用于原理讲解,来源核查与案例运行验证分别记录。

检查自己理解到哪一步

读完后可以对照这些标准解释原理、边界和取舍。掌握程度由你自评;需要进一步验证时,再完成下方小任务。

基础达标
能用真实误选样本改进工具命名、描述与参数边界。
中高级信号
提出两阶段发现、可接受工具集合和失败分类。
资深信号
能处理目录权限版本、契约漂移和可测的候选预算。

动手验证 按需完成 · 建议 15 分钟

为“查合同余额”设计候选召回规则,区分合同全文检索和余额查询工具。

展开验收要求与检查点
  • 权限先过滤
  • 允许多个合法工具
  • 候选不足时有有限回退

重点检查

  • 区分工具召回与调用成功
  • 明确两阶段发现和失败回退
  • 授权在执行时独立校验