创见日期:2026年9月19日
当一个 AI Agent 系统只有一两个 Agent 时,治理通常不会成为最先暴露的问题。我们会在 Prompt 里写“不要直接发布未经核验的事实”,在 Workflow 里加 Approval,在 Release Gate 中设置质量阈值,在 Security 层限制工具和数据访问,在 Reliability 层处理异常与重试,最后再通过 Command Center 汇总状态。
这些设计单独看都没有问题。真正的问题是:同一条治理意图开始以不同形式散落在 Prompt、代码、Workflow、权限系统、审批节点、安全规则和运营后台里。
系统仍然“有治理”,但已经没有一个真正意义上的 Governance System。当 Content Agent、SEO Agent、Technical Agent、Publishing Agent、Analytics Agent 都试图执行动作时,到底由谁统一决定:这个动作现在能不能执行?应该直接执行、拒绝执行、等待人工审批、延迟执行,还是升级给更高层级处理?
这就是整个 Agent Automation Architecture 进入下一阶段之后必须补上的基础设施:Policy-as-Code + Control API + Governance Engine。
1、真正的问题不是“缺少规则”,而是规则没有成为系统能力
企业通常已经拥有大量治理规则:某些页面禁止自动删除;首页 Title 修改必须审批;品牌事实不能由生成模型自行改写;产品参数必须来自 Master Data;价格变化超过阈值必须人工确认;数据异常时禁止 Agent 自动采取大规模动作;Production 发布必须经过 Release Gate;Agent 不允许调用未授权 Tool;外部写操作必须留下审计记录。
但现实中,这些 Policy 往往分别存在于:
System Prompt
Developer Prompt
Agent Prompt
Workflow YAML
Application Code
RBAC
Tool Permission
Approval Logic
Release Script
CI/CD
Security Middleware
Command Center
Human SOP
于是形成一个危险状态:
Policy Everywhere
=
Policy Nowhere
因为没有任何一个地方拥有完整的治理真相。Agent 可能在 Prompt 中被要求“不得直接发布”,但 Tool 层实际上拥有 WordPress 写权限;Release Gate 可能判断页面可以发布,但 Security Policy 又认为当前凭证异常;Reliability Policy 还可能发现上游数据延迟。
因此,治理规则不能继续只是 Agent 的“行为建议”,而必须成为 Agent 执行动作之前强制调用的机器决策。
2、从 Prompt Governance 进入 Policy-as-Code
Prompt 可以告诉模型应该怎么做,Policy 必须决定系统允许模型做什么。
Prompt
=
Behavior Guidance
Policy
=
Execution Constraint
Prompt 是软约束。Policy 则必须成为可执行约束。例如:首页涉及品牌定位、公司事实或核心价值主张的修改,在 Production 发布前必须进入人工审批。
Agent
↓
Control API
↓
Governance Engine
↓
REQUIRE_APPROVAL
只要真正产生副作用的执行层必须经过 Governance Engine,Agent 就无法通过 Prompt 漂移、模型误判或 Workflow 差异绕过治理。
Policy-as-Code 的核心并不是简单“把规定写成代码”,而是让治理规则拥有与业务代码相同的版本控制、测试、部署、审计和回滚能力。
3、为什么 ALLOW / DENY 已经不够用了
传统 Authorization System 通常回答:
Can Principal A
perform Action B
on Resource C?
答案通常只有 ALLOW 或 DENY。
Cedar 官方授权模型就是典型的 Principal / Action / Resource / Context(PARC)请求,并由授权引擎给出 Allow 或 Deny。这个模型非常适合传统应用权限,但 Agent 系统的行为控制比传统授权更复杂。
例如,SEO Agent 修改一个普通页面 Title 可能允许,但一次批量修改 300 个页面显然不应该直接 ALLOW;Analytics Agent 在数据延迟时准备触发大规模优化,也未必应该 DENY;品牌事实、CRM 与产品数据库冲突时,系统甚至可能无法自动判断哪个来源正确。
因此 Agent Governance 的统一决策至少应该包含:
ALLOW
DENY
REQUIRE_APPROVAL
DEFER
ESCALATE
4、五种 Governance Decision 必须有严格语义
4.1 ALLOW
表示当前 Principal 在当前 Context 下可以对该 Resource 执行 Action。例如 Content Agent 只更新 Draft、没有改变关键事实、风险评分低且数据来源完整,则可以直接执行。
4.2 DENY
表示该行为明确不允许发生。DENY 不应该自动转成人工审批,因为它代表系统硬边界。
Content Agent
→ delete
→ homepage
Decision:
DENY
Reason:
PROTECTED_RESOURCE
不要把所有 DENY 都改造成 Approval,否则 Approval 最终会成为绕开安全边界的万能后门。
4.3 REQUIRE_APPROVAL
表示行为本身允许,但必须增加人类授权。例如价格变化超过阈值、核心商业页面 Title 修改、Production Schema 大规模变更等。
4.4 DEFER
表示现在不能做,但未来可以重新评估。例如 Search Console 数据尚未稳定、系统处于 Deployment Freeze、关键 Dependency 暂时不可用。
{
"decision": "DEFER",
"reason_code": "DATA_NOT_STABLE",
"retry_after": "2026-09-19T10:00:00Z"
}
4.5 ESCALATE
表示系统在当前 Policy 与 Evidence 下无法形成安全决策。例如多个权威数据源之间出现冲突,必须交由数据负责人、品牌负责人或业务 Owner 处理。
因此:
Approval
≠
Escalation
Approval 的意思是“我知道该做什么,只需要授权”;Escalation 的意思是“系统目前无法可靠判断该做什么”。
5、统一 Control API:所有 Agent 执行动作前都问同一个问题
当治理规则被正式抽离之后,所有 Agent 都不应该继续自己决定“我能不能执行这个动作”,而应该调用统一接口:
POST /control/v1/decision
请求应至少包含 Principal、Action、Resource、Context 与 Evidence。
{
"principal": {
"type": "agent",
"id": "seo-agent",
"version": "3.4.1"
},
"action": {
"type": "publish",
"operation": "update_meta_title"
},
"resource": {
"type": "webpage",
"id": "/products/ferris-wheel/",
"environment": "production"
},
"context": {
"workflow_id": "seo-optimization-9281",
"risk_score": 62,
"change_count": 1,
"data_freshness": "fresh"
},
"evidence": {
"source": "gsc",
"confidence": 0.91
}
}
Governance Engine 返回的结果不只是 Decision,还应该包含 reason_code、matched_policies、obligations、approval、policy_version 与 decision_id。
6、Control API 的关键不是“权限”,而是统一 Action Contract
如果不同 Agent 分别定义 publish、update、modify、edit、push、deploy、write、change,Policy Engine 很快就会失控。
因此必须建立统一的 Action Taxonomy,例如:
READ
GENERATE
ANALYZE
RECOMMEND
CREATE
UPDATE
DELETE
APPROVE
REJECT
PUBLISH
ROLLBACK
EXECUTE_TOOL
CALL_EXTERNAL_API
CHANGE_POLICY
CHANGE_PERMISSION
并进一步定义 Action Scope,例如 UPDATE + SEO_METADATA,或者 PUBLISH + PRODUCTION_CONTENT。
真正成熟的治理输入应该是:
Principal
+
Action
+
Resource
+
Context
+
Evidence
→
Policy Decision
7、Governance Engine 应该成为 Agent Control Plane
未来架构不应该继续让每个 Agent 分别维护 Prompt Rule、Permission Rule、Approval Rule、Release Rule 与 Security Rule,而应该收束到统一 Governance Engine。
┌────────────────────┐
│ Governance Engine │
└─────────┬──────────┘
│
┌────────────┼────────────┐
│ │ │
Security Release Reliability
Policy Policy Policy
│ │ │
Data Policy Brand Policy Tool Policy
│ │ │
└────────────┼────────────┘
│
Policy Decision
Agent 负责 Plan、Reason、Generate、Recommend 与提出 Action;Governance Engine 负责决定能否执行、在什么条件下执行、是否需要审批、是否应该等待、是否需要升级,以及执行时必须承担哪些 Obligations。
8、Policy 不应该只返回 Decision,还应该返回 Obligation
生产系统中真正有价值的 Policy Decision 往往不是简单 ALLOW,而是:
{
"decision": "ALLOW",
"obligations": [
"create_backup",
"store_before_after_diff",
"write_audit_log",
"notify_command_center"
]
}
也就是说,允许执行并不代表可以无条件执行。Production 页面允许修改,也可以同时要求 Snapshot、Diff、Audit Log、Rollback Point 与 Post-deployment Check。
因此 Governance Engine 最终输出的是:
Decision
+
Obligations
9、把 Approval 从 Workflow 节点提升成 Policy Result
传统 Workflow 往往把 Approval 写死:
Step 1
↓
Step 2
↓
Approval
↓
Step 3
无论风险高低每次都审批,最终会造成 Approval Fatigue。
更合理的架构是让 Governance Engine 动态判断:
低风险 → ALLOW
中风险 → ALLOW + OBLIGATIONS
高风险 → REQUIRE_APPROVAL
禁止动作 → DENY
条件不足 → DEFER
事实冲突 → ESCALATE
Approval 由此从固定 Workflow Step 升级成动态 Governance Decision。
10、Release Gate 应该成为 Evidence Producer,而不是 Governance Authority
Release Gate 可以继续检查 Content Quality、Technical SEO、Schema、Broken Links、Brand Consistency 与 Security,但最终治理结论不应该由它自己独立维护。
Release Gate
│
▼
Control API
│
▼
Governance Engine
Release Gate 负责收集 Evidence,例如 content_quality、broken_links、schema_valid、brand_consistency、security_scan;Governance Engine 再根据当前 Policy 决定 ALLOW、REQUIRE_APPROVAL 或其他结果。
Release Gate 是 Evidence Producer,而不是 Governance Authority。
11、Security 负责能力边界,Governance 负责行为边界
Security 解决“Agent 是否拥有 Credential、是否能够访问 Tool、是否能够读取 Database”;Governance 解决“即使它有能力,现在是否应该执行这个动作”。
Publishing Agent 本来就可能拥有 WordPress Write Permission,但当它准备一次修改 1,200 个页面时,Governance Engine 仍然可以返回 REQUIRE_APPROVAL 或 DENY。
Capability
≠
Permission to Execute This Action Now
12、Reliability 也应该正式进入 Policy Input
Agent Governance 不能只关注安全。Database Health、API Latency、Data Freshness、Model Availability、Search Console Delay、Deployment Health、Previous Failure Rate、Rollback Availability 等系统状态,都应该进入 Context。
例如:
IF
GSC freshness > 36 hours
AND
action == MASS_SEO_OPTIMIZATION
THEN
DEFER
这样 Reliability 就不再只是“出问题之后报警”,而开始参与“出问题之前的行为控制”。
13、Policy Conflict 必须有统一优先级
随着 Policy 数量增加,规则冲突一定会出现。例如“SEO Agent 可以修改产品页 Meta Description”“核心商业页面修改必须审批”“紧急错误允许自动修复”可能同时命中。
一种可实践的优先顺序是:
1. Hard Deny
2. Security Boundary
3. Legal / Compliance
4. Protected Resource
5. Escalation
6. Approval Requirement
7. Reliability / Defer
8. Allow
可以概括为:
DENY
>
ESCALATE
>
REQUIRE_APPROVAL
>
DEFER
>
ALLOW
真实系统还应该记录 matched policies、winning policy 与 overridden policies,确保每一次决策都可解释。
14、默认原则应该是 Fail Safe,而不是所有异常都 Fail Deny
Fail Closed 对权限边界仍然重要,但 Agent Governance 的异常类型更复杂。
拿不到 Analytics Evidence 时可能应该 DEFER;事实冲突时应该 ESCALATE;风险超过自动化阈值时应该 REQUIRE_APPROVAL。
更准确的原则应该是:无法安全自动执行时,不执行;但同时明确告诉系统下一步进入 Approval、Retry、Escalation 还是 Manual Investigation。
15、Policy 本身也必须进入软件工程生命周期
把 YAML 放进 Git 并不等于完成 Policy-as-Code。真正的 Policy Lifecycle 至少应包括:
Author
↓
Validate
↓
Unit Test
↓
Simulation
↓
Review
↓
Approve
↓
Deploy
↓
Observe
↓
Audit
↓
Rollback
新增 Policy 上线前,应使用历史请求 Replay 做 Policy Simulation。例如过去 30 天 18,392 个 Decision,在新 Policy 下有多少 ALLOW 会变成 DENY 或 REQUIRE_APPROVAL。只有先看到真实影响,治理团队才知道这条规则上线后会产生什么后果。
16、Decision Log 将成为 Agent 系统最重要的审计数据之一
每一次 Control API 请求都应该生成 decision_id,并记录 timestamp、principal、action、resource、decision、matched_policies、policy_version、risk_score、evidence_hash 与 approval_id。
这样系统才能回答:为什么这个 Agent 做了这件事?为什么另一个任务没有执行?是谁允许它执行的?当时使用哪个 Policy Version?Evidence 是什么?有没有人工批准?
OPA 官方文档明确提供 Decision Logs;启用后,OPA 的策略决策 API 可以带有 decision_id,并可把决策事件用于审计和离线调试。OPA 同时强调将 policy decision-making 与 policy enforcement 解耦。本文借鉴的是这种工程思想,而不是把 OPA 等同于完整 Agent Governance Platform。
17、Command Center 应从“监控后台”升级成 Governance Console
Command Center 过去主要展示 Agents、Tasks、Errors、Queues、Approvals、Deployments。进入 Governance 阶段后,至少应新增:
Decisions
Policy Hits
Deny Reasons
Approval Queue
Escalation Queue
Deferred Tasks
Policy Versions
Decision Trace
这样 Command Center 才真正从 Agent Monitoring 升级成 Agent Governance Console。
18、OPA、Cedar、OpenFGA 应该放在什么位置?
看到 Policy-as-Code,不应该简单得出“部署 OPA 就等于完成 Governance Engine”。现有 Policy / Authorization 技术可以成为重要组件,但解决的问题层级并不完全相同。
18.1 OPA / Rego
OPA 官方将自己定义为通用 Policy Engine,支持把策略决策从业务软件中解耦,并以结构化输入进行评估;其 Management API 还支持策略分发、Decision Logs、状态和配置管理。适合承担 Context Policy、Risk Policy、Deployment Policy、Tool Policy、Environment Policy 等。
18.2 Cedar
Cedar 更聚焦 Authorization,其官方模型围绕 Principal、Action、Resource、Context 进行授权判断,适合作为细粒度权限层。
18.3 OpenFGA
OpenFGA 更擅长 Relationship-Based Authorization。它当前官方文档已经专门讨论 AI Agent 作为 Principal、第一方 Agent Authorization、第三方 Agent Authorization 以及 MCP Tool 授权等模式,适合表达 Agent、User、Project、Resource 之间的委托关系。
因此更合理的架构可以是:
Identity / Relationship
│
OpenFGA
│
▼
Governance Engine
│
┌──────┼────────┐
│ │ │
OPA Cedar Custom Risk
│ │ │
└──────┼────────┘
│
▼
Unified Decision
关键不是产品组合,而是:对 Agent 暴露的永远应该是一个统一的 Governance Contract。
19、SEO / GEO Automation 中它会怎样真正工作?
SEO Agent 发现某个核心产品页过去 28 天 Impressions 上升、CTR 下降、Average Position 稳定,于是生成一个新的 Meta Title。过去可能直接通过 WordPress API 写入 Production;现在应先生成 Change Proposal,再调用 Control API。
Governance Engine 获取 Resource、Action、Traffic、Change Scope、Fact Change、Brand Claim、Rollback 与 Risk Score 后,可能返回 REQUIRE_APPROVAL。SEO Owner 批准以后,系统再次验证 Policy Version、Resource Version 与 Change Hash,再由 Publishing Agent 执行。发布完成后触发 Post-release Validation,异常时再进入 Rollback Policy。
整个过程中,没有一个 Agent 拥有“最终决定权”。真正拥有治理决策权的是 Governance Engine。
20、GEO 场景甚至比 SEO 更需要 Policy Engine
GEO 系统会不断涉及 Facts、Entities、Claims、Sources、Knowledge Graph、Citation、Brand Positioning、Product Specifications 与 Company Information。
例如 GEO Agent 想把“We manufacture X”改成“We are a leading global manufacturer of X”,这已经增加了 Market Leadership Claim。Policy Engine 可以要求证据;没有 Evidence 时返回 DENY 或 ESCALATE,而不是让模型自己判断“这句话听起来是否合理”。
这才是企业事实治理进入 AI 系统的方式:
Facts
→ Machine-readable Policy
→ Execution Boundary
而不是继续依赖 Prompt:“Please avoid hallucination.”
21、Governance Engine 最终要解决的是“自主权预算”
Agent Architecture 最终一定会面对一个问题:我们到底允许 Agent 自主到什么程度?
这个问题不能用一个全局开关解决:
Autonomous = true
更合理的是:
低风险动作 → ALLOW
中风险动作 → ALLOW + OBLIGATIONS
高风险动作 → REQUIRE_APPROVAL
未知风险 → ESCALATE
条件不足 → DEFER
禁止领域 → DENY
这意味着企业不是在二选一“人工 VS 自动化”,而是在建立 Risk-adjusted Autonomy:风险越可控,自主权越高;风险越不可确定,人类控制越强。
22、第一阶段不要先建设“大而全 Policy Platform”
真正落地时,不建议第一天就建立几十种 Policy 类型。可以先从一个极小的 Governance Kernel 开始。
Step 1:统一 Decision Enum。
ALLOW
DENY
REQUIRE_APPROVAL
DEFER
ESCALATE
Step 2:统一 Control API。至少规范 Principal、Action、Resource、Context、Evidence。
Step 3:先迁移最关键的 10—20 条规则。优先覆盖 Production Publish、Delete、Bulk Change、Protected Page、Brand Claim、Price Change、Tool Invocation、Credential Scope、External Write、Policy Change。
Step 4:让 Publishing / Tool Gateway 强制执行。任何真正产生副作用的动作都不能绕过 Control API。
Step 5:从第一天开始记录 Decision Log。
Step 6:再逐渐增加 Simulation、Versioning 和 Policy Console。
23、最终架构
User / Trigger
│
▼
Orchestrator
│
▼
Agent Planning
│
▼
Action Proposal
│
▼
┌───────────────────────┐
│ Control API │
└───────────┬───────────┘
│
▼
┌───────────────────────┐
│ Governance Engine │
│ │
│ Security Policy │
│ Data Policy │
│ Brand Policy │
│ Reliability Policy │
│ Tool Policy │
│ Release Policy │
│ Risk Policy │
└───────────┬───────────┘
│
▼
┌──────────────────────┐
│ Governance Decision │
└──────────────────────┘
│
┌──────┼──────┬────────┬────────┐
│ │ │ │ │
ALLOW DENY APPROVAL DEFER ESCALATE
│ │ │ │
▼ ▼ ▼ ▼
Execution Human Scheduler Owner
│
▼
Validation
│
▼
Audit / Decision Log
│
▼
Command Center
这时 Prompt、Approval、Release Gate、Security、Reliability 和 Command Center 才真正从六套分散机制,变成同一治理体系中的不同组件。
24、真正成熟的 Agent,不应该知道如何绕开规则
很多团队优化 Agent 时,都在努力让模型更聪明、更自主、调用更多工具、完成更复杂任务。但企业级 Agent 真正重要的能力并不是它能做多少事情,而是:即使它拥有做很多事情的能力,系统仍然知道哪些事情现在不能让它做。
所以未来 Agent Architecture 的核心竞争力,不只是 Model、Prompt、Tools、Memory、RAG、Workflow,还必须加上 Governance。
而 Governance 也不能继续停留在规定、文档、Prompt、SOP 和人工习惯。它最终必须进入机器执行层:
Policy
↓
Control API
↓
Decision
↓
Enforcement
↓
Audit
结语:真正的 Agent 自主,不是取消控制,而是把控制变成基础设施
当企业第一次部署 Agent 时,人们往往担心 AI 会不会做错事,于是增加 Prompt;之后又增加 Approval、Security、Release Gate、Reliability 和 Command Center。但当这些机制不断增长时,真正需要解决的问题已经变成:谁来统一解释这些规则?
答案不应该继续是某一个 Prompt,也不应该是某一个 Workflow,更不能依赖某一个工程师记住全部规定。它应该成为独立的系统能力:Governance Engine。
所有 Agent 在真正行动之前,都必须向它询问:Can I do this?
而 Governance Engine 不只是回答 Yes 或 No,而应该能够返回 ALLOW、DENY、REQUIRE_APPROVAL、DEFER、ESCALATE,并解释 Why、Under Which Policy、With Which Evidence、Under Which Version、With Which Obligations。
到这里,Agent 系统才真正完成从“AI 自动化”向“可治理的自主系统”的跃迁。
Agent 的能力决定它“能够做什么”。Policy 决定它“被允许做什么”。Governance Engine 决定它“在此时、此地、此风险条件下,应该怎么做”。
真正成熟的 AI 基础设施,不是让 Agent 获得无限自主权,而是让自主权本身,也变成一种可以被计算、被授权、被审计、被撤销的系统能力。
官方依据与工程边界说明
本文提出的 ALLOW / DENY / REQUIRE_APPROVAL / DEFER / ESCALATE 五态 Governance Decision、统一 Control API、Policy Conflict Precedence、Risk-adjusted Autonomy、Governance Console 等,属于本 SEO / GEO 自动化项目的工程架构,并非 OPA、Cedar、OpenFGA 或任何单一官方项目定义的统一 Agent Governance 标准。
Open Policy Agent:OPA 是通用 Policy Engine,官方强调将 policy decision-making 与 policy enforcement 解耦,并以结构化输入执行策略评估。官方文档:https://www.openpolicyagent.org/docs
OPA Decision Logs:OPA 支持记录 policy decision event,并可在启用 Decision Logs 时返回 decision_id,用于审计和离线调试。官方文档:https://www.openpolicyagent.org/docs/management-decision-logs
Cedar Authorization:Cedar 授权请求围绕 Principal、Action、Resource、Context(PARC)进行评估,授权引擎返回 Allow 或 Deny。官方文档:https://docs.cedarpolicy.com/auth/authorization.html
OpenFGA Authorization for Agents:OpenFGA 官方文档已经提供 AI Agent / automated process 授权模式,包括 Agent 作为 first-class principal、第一方授权与第三方授权。官方文档:https://openfga.dev/docs/modeling/agents
OpenFGA MCP Authorization:OpenFGA 也提供 MCP Tool / Resource 授权建模示例。官方文档:https://openfga.dev/docs/modeling/agents/mcp-authorization