关于 promise-theory
用于将承诺理论应用于人员、LLM Agent、API 与自动化之间的委派和协作。除概念指南外,还提供脚本来校验并呈现承诺清单。
主要功能
- 01建模承诺、接受与评估
- 02委派和信任指南
- 03诊断协作失败
- 04清单契约的检查与呈现
适用场景
- 01设计人与 Agent 的委派关系
- 02定义 Agent 能力与接受标准
- 03调查未履行承诺或拒绝
- 04规划验证方式与信任级别
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill promise-theory安装后在 Claude Code 中输入/promise-theory确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEREADME.mdevals/evals.jsonreferences/agent-coordination.mdapplications-infrastructure.mddiagnosis-and-debugging.mdfoundations.mdglossary.mdpatterns.mdtrust-and-verification.mdscripts/promise-contract.pytemplates/agent-contract.md.tmplpromise-manifest.yaml.tmplpromise-review.md.tmpltests/test_promise_contract.pytrigger-probes.md详细介绍
承诺理论
承诺理论(Mark Burgess 提出,由 Jan Bergstra 形式化)是一种用于分析自主 Agent 系统的方法,涵盖人类、大模型 Agent、API 和确定性自动化。它提供了设计和诊断委派关系所需的术语:承诺、接受、评估、违约和重新协商。本技能只是一个轻量级路由器;只有当 按需加载 中的某一行符合你的任务时,才加载详尽内容。
核心模型
承诺是承诺方对受诺方自主声明的、尚未验证的预期行为(主体:标签 Λ、类型 τ、约束 χ)。Agent 具有自主性:任何 Agent 都不能承诺另一个 Agent 的行为。协调源于自愿合作——提议加接受(反向承诺),而非强加义务。义务是非自主的强加行为(强制要求 + 惩罚)。Agent 通过评估循环履行承诺:观察 → 评估 → 行动,逐步趋近承诺状态。下游原则:在承诺链中,最下游的一方对结果承担最大的因果责任。
何时使用
符合以下任一触发条件时,加载此技能:
- 对人类与 Agent 之间的委派进行建模 — 确定在人类 + AI 的协作团队中,谁可以向谁承诺什么,以及谁接受承诺。
- 设计能力清单或 Agent 合约 — 声明能力和意图,并定义验收标准、验证方式和撤回语义。
- 诊断协调失败 — 解释多 Agent 工作中未履行的承诺、被拒绝的接受或缺失的评估。
- 校准信任和验证 — 确定应以何种频率、多少成本来验证 Agent。
- 设计自我修复或趋同的基础设施 — 设计评估循环,通过观察、评估和行动逐步达到期望状态。
- 将基于义务的设计转换为基于承诺的设计 — 用自愿提议和接受取代推送命令和强制要求。
何时不使用
- 能够保证强制的集中控制时 — 如果你可以直接下达命令并验证是否遵从,那么承诺理论的机制只会徒增开销,并无助益。
- 用于简单的单 Agent 提示 — 只有一个模型和一个提示词,且不需要对委派关系图建模时,无需使用承诺理论的术语。
- 用于无需建模同意的命令式推送编排脚本 — 无需接受语义即可运行的 cron 作业或 CI 流水线,不属于承诺系统。
- 用于法律合约 — 承诺理论不是合同法;它用于建模自愿意图和评估,而非可依法强制执行的法律文书。请咨询法律顾问起草正式合约。
- 用户需要特定工具的手册时 — 应转到该工具自己的技能(例如,CLI 约定请参阅 cli-builder),而不是用承诺理论来描述该工具。
按需加载
| 需求 | 加载 |
|---|---|
| 重新推导定义或形式模型(承诺、施加、义务、绑定、信任、下游原则) | references/foundations.md |
| 在设计趋同基础设施之前,借鉴 CFEngine、IaC 或分布式系统实践 | references/applications-infrastructure.md |
| 设计特定人类与 Agent 之间的协调(清单、验收握手、监督、权限) | references/agent-coordination.md |
| 应用命名模式——承诺清单、验收握手、Agent 合约、评估循环、违约→重新协商、冗余、信任校准 | references/patterns.md |
| 决定如何验证 Agent、设置初始信任级别,或将评估接入评测和可观测性 | references/trust-and-verification.md |
| 诊断协调失败、运行违约分类,或检查理论的局限性 | references/diagnosis-and-debugging.md |
| 应用此技能时遇到不熟悉的术语 | references/glossary.md |
快速入门
在技能目录(promise-theory/)中运行这些命令;python3 scripts/promise-contract.py --help 会列出所有命令和标志。
- 起草承诺清单。 将
templates/promise-manifest.yaml.tmpl复制到工作文件(例如promise-manifest.yaml),并填写占位符:Agent ID 和角色、每个 Agent 至少一项承诺(正文、类型、目标),以及至少一条expectations条目,其about引用已声明的承诺 ID。 - 运行检查。 运行
python3 scripts/promise-contract.py lint promise-manifest.yaml。退出码为 0 且期望覆盖完整,表示清单有效;退出码为 1 时会列出需要修复的违规项(覆盖缺口、悬空接受、无效枚举),或将格式错误的文件报告为解析错误——绝不会输出回溯信息。每次修复后重新运行,直至检查通过。 - 添加
--json以获取机器可读输出。 运行python3 scripts/promise-contract.py lint promise-manifest.yaml --json,stdout 将输出单个 JSON 对象(valid、errors、warnings、coverage、bindings),不会输出其他内容。 - 添加
--dry-run以确认不会写入。 运行python3 scripts/promise-contract.py lint promise-manifest.yaml --dry-run,重复同一项检查;lint 为只读操作,因此不会写入或修改任何内容。
可用脚本
此技能仅包含一个脚本;无需查找其他脚本。这两个命令均为只读操作(任何地方都接受 --dry-run,作为无操作保护标志)。
| 脚本 | 用途 | 调用方式 |
|---|---|---|
scripts/promise-contract.py | 验证并渲染承诺理论清单合约(受限 YAML 或 JSON)。lint 会根据 promise-manifest v1 架构检查承诺清单(退出码 0 = 有效且期望覆盖完整;退出码 1 = 指定的 lint 错误或覆盖缺口;退出码 2 = 用法/IO 错误);render 会输出 Agent、承诺、绑定和未覆盖期望的承诺图摘要。起草清单后或每次编辑后都运行 lint,直至检查通过;需要以人类或机器可读的形式查看刚构建的协调模型时,运行 render。 | python3 scripts/promise-contract.py lint promise-manifest.yaml |
追加 --json 可获取机器可读输出(stdout 上的单个 JSON 对象);render --json 会以相同方式输出图摘要。
相关技能
| 技能 | 适用情况…… |
|---|---|
| agent-evals-and-observability | 你需要评估层:用于验证承诺是否兑现的评估、护栏和可观测性(也可从 references/trust-and-verification.md 跳转至此) |
| agent-council | 你需要将多 Agent 辩论作为结构化的承诺交换与收敛过程(也可从 references/agent-coordination.md 跳转至此) |
| workflow-architect | 你需要将工作流设计为一系列承诺(也可从 references/patterns.md 跳转至此) |
| artifact-pyramids | 你需要将履约证据组织为摘要 → 分析 → 证据档案(也可从 references/trust-and-verification.md 跳转至此) |
| agent-skills | 你正在编写或编辑 Agent Skills 格式的技能——本技能采用的格式 |
| cli-builder | 你正在构建或重构捆绑的 CLI——scripts/promise-contract.py 遵循 cli-builder 约定(非交互式、--json、--dry-run) |
注意事项
- 如实说明来源。 直接探讨“承诺理论 + AI Agent”的文献不多,而且较新(Burgess,《Cooperation in Human and Machine Agents》,arXiv:2604.10505,2026)。在参考资料中,未经一手来源核实的主张会标记为
[UNVERIFIED],而承诺理论 → 大模型 Agent 的综合则标记为EXTRAPOLATION。请保留这些标记;它们能确保本技能保持诚实。 - 该理论是“半形式化”的。 作者自己就使用了这个术语:它包含符号体系、定义、引理和规则,但没有完整的公理化体系或模型论。著名的 ≤50%(强加)与 ≤100%(承诺)说法是一种非正式启发式,而非推导出的结论。请将形式体系作为推理辅助,而非证明系统。
- 自主性是一项建模假设,而非意识形态。 它并未声称去中心化在道德上正确或总是更好;选择它是因为它能迫使人们完整记录预期行为,并揭示失效模式。
- 必须将履约情况存储为数据。 CFEngine 记录过一个明确的缺陷:它报告了承诺此刻是否兑现,但履约情况从未存储为数据,因此评估循环并不完整。在混合型劳动力中,应将评估记录为带版本的数据(承诺台账),否则信任无法积累。
- 验证负担是一种注意力 / 精力预算。 检查频率(动态不信任)消耗注意力;Burgess & Dunbar 将其建模为有限预算。请明确规划验证成本,并将未知 Agent 的初始信任设为 50-50,而不是默认信任或不信任。
前置条件
- Python 3,仅使用标准库;
promise-contract.py不需要第三方软件包。 - 要检查或渲染的清单:复制
templates/promise-manifest.yaml.tmpl并填写占位符(参见快速开始),然后再运行任一命令。
限制
- CLI 会验证声明结构、枚举值、预期覆盖情况和悬空的接受记录——但无法判断承诺的行为是否合理、可实现或确实得到履行;评估记录在承诺台账中,而非此工具内。
- 承诺理论不是合同法:脚本验证的任何内容都不会构成可依法执行的法律文书(参见何时不应使用)。
- Lint 是某一时点的静态检查;它不会观察 Agent,也不会验证运行时的履约情况。
结束条件
当委派已建模为一组承诺、接受记录和评估已记录(或明确推迟记录),并且每项违约都有重新协商或升级处理路径时,即可停止。进行诊断时,若三轮尝试后仍未收敛,就应停止并报告证据,而不是反复争论相同的承诺。