Skip to content

Input and Output Contracts

Input 与 output contracts 是 validation 与 interpretation hints。它们不替代原生协议 schema。

Input contract

tool_input_contract SHOULD 包含:

  • JSON Schema 兼容的 model_input_schema
  • 可选的 runtime_input_schema,用于内部字段。
  • provider/runtime 可强制 schema 时的 strict
  • 安全的 defaults
  • 用于模型 grounding 的 examples
  • 用于 redaction 与 telemetry controls 的 sensitive_fields
  • 不得由模型生成的 internal_only_fields
  • argument_mode: jsontextfilemultipartstreamcustom
  • mutation_policy: hooks 或 permission prompts 是否可以替换输入。

Input variants

保持 model_inputobservable_inputpermission_inputcall_input 分离。这能避免 path normalization、permission UI edits 或 internal fields 污染模型原始参数。

Output contract

tool_output_contract SHOULD 包含:

  • 结构化内容的 structured_schema
  • text、image、audio、video、file、log 或 resource refs 的 content_types
  • 工具应生成 durable deliverable 时的 artifact_expectations
  • 防止大 payload 进入 prompt 的 max_inline_bytesmax_inline_chars
  • preview、persist、redaction 与 never-persist rules 的 persistence_policy_ref
  • 区分 model content、UI rendering 与 transcript search text 的 rendering_boundary
  • redaction_rulesfallback_summary guidance。

如果原生协议已有 schemas,Agent Tool 应引用它们,并补充 agent-specific interpretation,而不是复制一切。

Draft standard for portable agent tool declarations, runtime interfaces, invocations, progress, results, permissions, scheduling, and audit refs.