Skip to main content

Constitution 系统

更新 2026-08-13 2 分钟阅读 在 GitHub 上编辑 ↗

这是管理 MoAI-ADK 不变规则 (FROZEN) 与可演化规则 (Evolvable) 的宪法式约束系统。

概述

正如在挽具工程中所见,MoAI-ADK 的挽具会依据循环积累的观察自行演化指令。那么,是什么在管控这种演化?答案就是 Constitution (宪法) 系统。

Constitution 区分了 AI 智能体不得随意更改的不变约束 (FROZEN Zone) 与可通过学习改进的可演化约束 (Evolvable Zone)。把评估标准和安全规则放在演化循环之外 — 这正是自我演化挽具不会失控的原因,也是挽具工程的核心安全机制。

FROZEN vs Evolvable

FROZEN Zone (不变)

AI 智能体绝对不能修改的规则,只有人类开发者可以更改。

代表条目

条目说明来源
TRUST 55 项质量标准moai-constitution.md
SPEC + EARS规格书格式spec-workflow.md
AskUserQuestion 独占用户提问通道agent-common-protocol.md
4 个评估维度Functionality/Security/Craft/Consistencyharness/scorer.go
评分锚点 4 级0.25/0.50/0.75/1.00harness/rubric.go
通过阈值下限最低 0.60(不可下调)design-constitution.md
设计流水线顺序manager-spec 最先,sync-auditor 最后design-constitution.md

Evolvable Zone (可演化)

可以通过学习 (lessons) 与研究 (research) 提出改进建议的规则。

代表条目

条目说明
技能正文内容moai-domain-* 技能的细节内容
流水线权重design.yaml 的 phase_weights
迭代上限design.yaml 的 iteration_limits
智能体行为规则Surface Assumptions、Enforce Simplicity 等

Zone Registry

枚举所有 HARD 条款的单一事实来源 (Single Source of Truth)。

ID 分配规则

text
CONST-V3R2-NNN (至少 3 位 zero-padding)

001-050: 既有 HARD 条款
051-099: design constitution 镜像条目
100-149: design overflow(自动扩展)
150+: 新增条目

Canary Gate

FROZEN 条款带有 canary_gate: true。修改前必须通过 canary 验证。

yaml
# Zone Registry 条目示例
- id: CONST-V3R2-154
  zone: Frozen
  file: internal/harness/scorer.go
  anchor: "#dimension-enum"
  clause: "Dimension enum FROZEN at 4 values"
  canary_gate: true

安全架构(5 层)

Constitution 系统受 5 层安全架构保护。无论挽具积累了多少学习,任何变更都必须依次通过以下五道关口:

Layer 1: Frozen Guard

在写入操作前确认目标文件不在 FROZEN zone 内。违规时阻断写入 + 记录日志 + 通知用户。

Layer 2: Canary Check

将提议的变更应用到内存中,并重新评估最近 3 个项目。若得分下降超过 0.10 则拒绝变更。

Layer 3: Contradiction Detector

当新学习与既有规则冲突时,向用户同时呈现双方。绝不会发生自动覆盖。

Layer 4: Rate Limiter

限制演化速度:

参数默认值说明
max_evolution_rate_per_week3每周最大演化次数
cooldown_hours24演化间最短等待时间
max_active_learnings50活跃学习条目最大数

Layer 5: Human Oversight

require_approval: true 时,所有演化提案都需要用户批准。

在 CLI 中使用

bash
# 查询完整 registry
moai constitution list

# 过滤 Frozen zone
moai constitution list --zone frozen

# 仅查询特定文件的条款
moai constitution list --file internal/harness/scorer.go

# 以 JSON 格式输出
moai constitution list --format json

相关文档