模块 2Tool 与 Agent Runtime
Tool 契约设计
Tool 是能力契约,不是随手暴露的函数
- 面向模型的语义描述
- 面向 Runtime 的执行和权限元数据
- 面向调用方的稳定输入输出
- 面向治理的 Owner、版本和审计信息
名称与描述决定模型如何区分能力
- 名称稳定、动词清晰、避免近义 Tool
- 描述说明适用条件和不适用条件
- 列出关键副作用与前置状态
- 不要在描述中隐藏业务规则或凭据
参数 Schema 应减少歧义而非复刻内部 API
- 用 enum、范围和可判别联合类型收窄动作空间
- 时间、金额、ID、单位和默认值必须明确
- 优先传业务标识,不让模型生成内部令牌或权限字段
- Schema 合法后仍要做权限、存在性和状态校验
结果既要供模型理解,也要防止 Context 爆炸
- 成功数据与可读摘要分层
- 分页、截断和 Artifact 引用
- 来源、时效和置信信息
- 敏感字段过滤与最小披露
错误必须支持下一步决策
- 参数错误、权限拒绝、业务冲突、暂时故障、未知故障
- 稳定错误码、可重试性、用户安全消息、诊断关联 ID
- 只回注模型可行动的信息,不泄露堆栈和内部拓扑
副作用是契约的一部分
- 只读、可逆写入和不可逆操作分级
- 是否幂等、需要何种幂等键
- 是否需要审批、预览或二次确认
- 执行后可用什么查询验证结果
Tool 演进要保护模型和消费者
- 兼容新增与破坏性变更
- Schema、语义和错误契约测试
- 模型选择与参数生成回归
- 双版本窗口、废弃告警和 Owner 责任