用动作描述能力,单独绑定工具
Action-Verb Tool Abstraction
可移植指令说明要做什么,具体工具绑定由运行环境决定。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
同一评审方法在宿主A有source_read,宿主B用文件工具。核心任务是读许可源码,私有工具名不应硬编码为所有宿主都可用。
具体做法
用能力动词说明目标及输入输出,如按已确认路径读当前源码。适配层核宿主实际工具、schema和权限,再映射参数/结果;保持错误与范围契约等价。宿主未知或无能力报缺口,不造API。通过相同夹具检查各适配器读同一字节和拒绝越界,核心理由不依单一模型故障。
反例
到处写必须调用mcp_vendor_read,不存在就编一个或换无限制Shell。
改进写法
核心要求读取许可路径的当前源码;A映射实际source_read,B映射已核文件读取。记录工具/schema与返回身份,未知宿主报告不可用,不扩大权限;两适配器应满足相同读取和错误契约。
为什么这样改
能力表达保留任务意义,绑定承担平台细节。不同宿主无需为同一方法复制私有接口,且映射检查保留可执行性。
如何验证
教学两适配器读取same.txt返回相同摘要,越界路径均拒,缺工具明确gap。只声明read能力却没有可调用绑定不算实现。未跑宿主则仅设计。
适用边界
抽象不能创造缺工具或权限,接口差异可能要求独立适配。源中模型迁移收益不是本例实证;厂商API细节在绑定层仍须精确核验。