当我的 AI 自我阻断时:宪政治理在实践中到底是怎样的
Source: Dev.to
事件概览
发生了什么?
今天上午,CORE – 我的自主 AI 开发系统 – 阻止了其自我修复工作流。没有人类发现,也没有触发警报;constitution 发出了警报。
为什么重要
此事件展示了宪法治理层如何防止静默故障,并在生产环境中保持自主系统的安全。
Source: …
失败
CORE 运行一个 dev‑sync 工作流,自动修复宪法违规。
在执行过程中出现了以下错误:
ERROR: file.tag_metadata failed for src/body/governance/intent_guard.py:
cannot unpack non‑iterable ConstitutionalValidationResult object
自我修复系统试图给自己的治理文件打标签,但 宪法守卫 阻止了它。
根本原因
同一个 IntentGuard 组件的两个版本出现了漂移:
| Component | Return type |
|---|---|
| Old | (bool, list) 元组 |
| New | ConstitutionalValidationResult 对象 |
FileHandler 仍在调用旧的 API,而宪法已经强制使用新的返回类型。因此,AI 实际上被自己的治理层阻止了自我修复,因为治理层已经演进。
正确之处
- 没有静默失败
- 没有部分状态写入磁盘
- 没有损坏的文件
- 明确、可追踪的错误指向漂移
宪法治理层正是按照设计执行的:在违约时中止执行,而不是继续并产生不可见的债务。
对比
| 未受治理的 AI 代理 | 受治理的(CORE) |
|---|---|
| 代理检测到违规 → 生成修复 → 写入修复 → 修复通过语法检查 → 修复仍错误 → 没有人知道 | 代理检测到违规 → 生成修复 → 宪法守卫评估修复 → 守卫阻止执行 → 显式错误 → 人工修正合约 → 系统清洁恢复 |
第二条路径更慢,但它是唯一在大规模下可信赖的方式。
IntentGuard API 更改
旧 API
# Old API
def check_transaction(
self, proposed_paths: list[str]
) -> tuple[bool, list[ViolationReport]]:
...
return (allowed, violations)
新 API
# New API
def check_transaction(
self, proposed_paths: list[str], impact: str | None = None
) -> ConstitutionalValidationResult:
...
return ConstitutionalValidationResult(
is_valid=is_valid,
violations=violations,
source="IntentGuard"
)
有缺陷的调用方
# Still expecting the old API
allowed, violations = self._guard.check_transaction(cleaned)
修复(仅更改两行)
def _guard_paths(self, rel_paths: list[str], impact: str | None = None) -> None:
cleaned: list[str] = [str(p).lstrip("./") for p in rel_paths]
result = self._guard.check_transaction(cleaned, impact=impact)
if result.is_valid:
return
msg = result.violations[0].message if result.violations else "Blocked by IntentGuard."
raise ValueError(f"Blocked by IntentGuard: {msg}")
在应用修复后,系统恢复正常。值得注意的不是修复本身,而是系统能够检测到异常并拒绝继续执行,而不是悄悄产生错误的输出。
为什么宪法治理很重要
- 不仅仅是 linter 或代码审查步骤 – 规则至高无上。
- 规则只在一次由人编写的
.intent/YAML 文件中定义。 - 规则在 运行时 进行评估,而不仅仅在提交时。
- 违规会 停止执行;它们不仅仅记录警告。
- 没有任何代理,包括自我修复的代理,能够绕过它们。
原则: 法律高于智能。
AI 可能比规则更聪明,但规则优先执行。
CORE的能力成熟度
| Level | Description | Status |
|---|---|---|
| A0 – Self‑Awareness | 知道它是什么以及它所在的位置 | ✅ |
| A1 – Self‑Healing | 自动修复已知的结构性问题 | ✅ |
| A2 – Governed Generation | 自然语言 → 与宪法对齐的代码 | ✅ |
| A3 – Strategic | 自主识别架构改进 | 🎯 |
| A4 – Self‑Replication | 根据自身理解编写 CORE.NG | 🔮 |
该事件证明,A1(自我修复)和 A2(代码生成)确实在生产环境中运行,并且宪法治理正在进行实际工作,而不仅仅是理论工作。
- 系统修复了 2 031 个符号,针对 92 条规则进行了宪法审计,捕获了漂移,干净地停止,并在两行修复后恢复。
- 这就是循环按设计运行的方式。
关键要点
-
沉默的失败是敌人。
让失败变得响亮、明确且阻塞。 -
治理漂移是不可避免的——要为检测而构建。
API 会演进,合同会漂移。问题不在于是否会发生,而在于你是否会在发生时知道。 -
自愈循环也需要宪法边界。
不要给你的自主修复系统提升的权限。它应当在与其他所有东西相同的约束下运行。如果它在约束范围内无法修复某件事,那是信息,而不是失败。 -
法律高于智能。
你的 AI 会找到创造性的解决方案,其中一些会违反你的架构。治理层必须比 AI 的创造力更快且更绝对。
参与
CORE 是在 MIT 许可证下的开源项目。如果你正在构建自主 AI 系统并思考治理,我很想了解你的做法。
案例研究: CORE
演示: asciinema.org/a/792095
演示正好展示了这种循环:检测到违规 → 阻止执行 → 修复 → 清除后重新验证。治理是可执行的。今天上午再次证明了这一点。