核心 GUIDE

PATTERNINTERMEDIATE7 分钟阅读

Agent Tool Contract

Tool Contract 定义 Agent 能请求什么、Runtime 保证什么、可能如何 Failure,以及哪些 Side Effect 需要更强 Control。

核心心智模型

Tool 是 Application Boundary,不是 Magic Capability。Contract 应让 Input Schema、Permission、Side Effect、Result State、Idempotency 与 Error Semantics 足够明确,使 Runtime 可以独立 Enforcement。

为什么重要

Model 以 Probabilistic 方式选择 Tool Call,因此 Ambiguous Description 与过度 Permissive API 会直接变成 Safety / Reliability Problem。设计良好的 Contract 会缩小 Action Space,让 Deterministic Code 在高后果 Request 到达外部系统前先 Reject Invalid Request,也让 Model 在执行后获得 Structured Observation。

01

围绕 Business Action 与 Invariant 设计 Tool

Domain 允许时,优先暴露 Narrow Typed Operation,而不是 Generic Shell-like Power。明确 Required Permission、Validation Rule、Reversible / Irreversible Effect、Idempotency Behavior、Timeout Semantics 与 Structured Result State。Runtime 独立于 Model Enforcement 这些 Rule,并只返回下一步 Decision 真正需要的 Evidence。

02

例子:Issue Customer Credit

不要给 Agent 一个 Generic `execute_payment`,而是提供 `issue_support_credit`,参数限定 Customer ID、Bounded Amount、Reason Code 与 Operation ID。Runtime Enforcement Account Scope 与 Amount Limit,超过 Threshold 需要 Approval,并返回 `COMPLETED`、`PENDING` 或 `REJECTED` 以及 Authoritative Transaction Reference。

常见失败模式

  • 明明可以使用 Narrow Domain Action,却给 Model 一个 Broad Generic Tool。
  • Permission 只写在 Tool Description 中,没有 Runtime Enforcement。
  • 只返回 Free-form Success Text,没有 Structured Status 与 Identifier。

工程启发

  • 用 Bounded Business Action 命名 Tool,并明确 Side Effect。
  • Permission 与 Invariant 在 Runtime Code 中 Validation,绝不只依赖 Prompt。
  • Result State 要考虑 Recovery,包括必要时的 UNKNOWN 与 PENDING。

关键结论

  1. 01Tool Design 决定 Agent 的 Safe Action Space。
  2. 02Runtime Enforcement 比 Persuasive Instruction 更强。
  3. 03好的 Contract 同时让 Execution 与 Recovery 明确。

来自 Knowledge Graph 的相关知识点

这些关系直接来自 canonical graph,不维护第二套 Guide 分类体系。

Structured Output 是应用契约ENABLESGuideTool Result 验证与显式错误面PREREQUISITEGuide
MCP 协议、应用状态、授权与能力边界RELATED
能力边界与最小权限PREREQUISITE