mcpField
P
promise-theory

promise-theory

github.com/magnus919Agent 工作流15356 次安装1 天前更新
代码仓库

关于 promise-theory

用于将承诺理论应用于人员、LLM Agent、API 与自动化之间的委派和协作。除概念指南外,还提供脚本来校验并呈现承诺清单。

主要功能

  1. 01建模承诺、接受与评估
  2. 02委派和信任指南
  3. 03诊断协作失败
  4. 04清单契约的检查与呈现

适用场景

  1. 01设计人与 Agent 的委派关系
  2. 02定义 Agent 能力与接受标准
  3. 03调查未履行承诺或拒绝
  4. 04规划验证方式与信任级别

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/magnus919/agent-skills --skill promise-theory

安装后在 Claude Code 中输入/promise-theory确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
README.md
evals/
evals.json
references/
agent-coordination.md
applications-infrastructure.md
diagnosis-and-debugging.md
foundations.md
glossary.md
patterns.md
trust-and-verification.md
scripts/
promise-contract.py
templates/
agent-contract.md.tmpl
promise-manifest.yaml.tmpl
promise-review.md.tmpl
tests/
test_promise_contract.py
trigger-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 会列出所有命令和标志。

  1. 起草承诺清单。 将 templates/promise-manifest.yaml.tmpl 复制到工作文件(例如 promise-manifest.yaml),并填写占位符:Agent ID 和角色、每个 Agent 至少一项承诺(正文、类型、目标),以及至少一条 expectations 条目,其 about 引用已声明的承诺 ID。
  2. 运行检查。 运行 python3 scripts/promise-contract.py lint promise-manifest.yaml。退出码为 0 且期望覆盖完整,表示清单有效;退出码为 1 时会列出需要修复的违规项(覆盖缺口、悬空接受、无效枚举),或将格式错误的文件报告为解析错误——绝不会输出回溯信息。每次修复后重新运行,直至检查通过。
  3. 添加 --json 以获取机器可读输出。 运行 python3 scripts/promise-contract.py lint promise-manifest.yaml --json,stdout 将输出单个 JSON 对象(valid、errors、warnings、coverage、bindings),不会输出其他内容。
  4. 添加 --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)

注意事项

  1. 如实说明来源。 直接探讨“承诺理论 + AI Agent”的文献不多,而且较新(Burgess,《Cooperation in Human and Machine Agents》,arXiv:2604.10505,2026)。在参考资料中,未经一手来源核实的主张会标记为 [UNVERIFIED],而承诺理论 → 大模型 Agent 的综合则标记为 EXTRAPOLATION。请保留这些标记;它们能确保本技能保持诚实。
  2. 该理论是“半形式化”的。 作者自己就使用了这个术语:它包含符号体系、定义、引理和规则,但没有完整的公理化体系或模型论。著名的 ≤50%(强加)与 ≤100%(承诺)说法是一种非正式启发式,而非推导出的结论。请将形式体系作为推理辅助,而非证明系统。
  3. 自主性是一项建模假设,而非意识形态。 它并未声称去中心化在道德上正确或总是更好;选择它是因为它能迫使人们完整记录预期行为,并揭示失效模式。
  4. 必须将履约情况存储为数据。 CFEngine 记录过一个明确的缺陷:它报告了承诺此刻是否兑现,但履约情况从未存储为数据,因此评估循环并不完整。在混合型劳动力中,应将评估记录为带版本的数据(承诺台账),否则信任无法积累。
  5. 验证负担是一种注意力 / 精力预算。 检查频率(动态不信任)消耗注意力;Burgess & Dunbar 将其建模为有限预算。请明确规划验证成本,并将未知 Agent 的初始信任设为 50-50,而不是默认信任或不信任。

前置条件

  • Python 3,仅使用标准库;promise-contract.py 不需要第三方软件包。
  • 要检查或渲染的清单:复制 templates/promise-manifest.yaml.tmpl 并填写占位符(参见快速开始),然后再运行任一命令。

限制

  • CLI 会验证声明结构、枚举值、预期覆盖情况和悬空的接受记录——但无法判断承诺的行为是否合理、可实现或确实得到履行;评估记录在承诺台账中,而非此工具内。
  • 承诺理论不是合同法:脚本验证的任何内容都不会构成可依法执行的法律文书(参见何时不应使用)。
  • Lint 是某一时点的静态检查;它不会观察 Agent,也不会验证运行时的履约情况。

结束条件

当委派已建模为一组承诺、接受记录和评估已记录(或明确推迟记录),并且每项违约都有重新协商或升级处理路径时,即可停止。进行诊断时,若三轮尝试后仍未收敛,就应停止并报告证据,而不是反复争论相同的承诺。

评论

支持 Markdown