把 AI 安全落到系统里:从人类控制到跨国协作的工程清单

2026-09-23 16 预计阅读时间: 1 分钟
来源: openai.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

OpenAI CEO Sam Altman 在联合国安理会的发言聚焦三个彼此关联的问题:如何提升 AI 安全、如何确保人类始终保有控制权,以及为什么国际合作不可或缺。对开发者和技术负责人来说,这些议题不应只停留在政策讨论中,还需要被翻译成权限、审批、日志、测试和事故响应机制。

“人类控制”必须是系统属性

在人机协作产品中,页面上增加一个“确认”按钮,并不等于建立了有效的人类控制。真正的控制至少包含四个条件:

  • 可理解:审批者能看到模型准备执行什么操作、影响哪些对象,以及为什么触发审批。
  • 可拒绝:拒绝操作不会被系统自动重试、绕过或降级成另一条执行路径。
  • 可撤销:高影响操作应尽可能提供回滚、冻结或补偿机制。
  • 可追责:系统需要记录模型版本、输入摘要、工具调用、审批人和执行结果。

这意味着团队要按“行动影响”而不是“模型能力”分级。例如,生成会议摘要通常可以自动完成;发送外部邮件需要确认;修改生产权限、发起资金转移或控制关键基础设施,则应采用更严格的多人审批和隔离机制。

一个可操作的分级表可以是:

风险级别 示例 推荐控制
摘要、分类、草稿 自动执行并保留日志
对外发送消息、修改普通业务数据 单人确认、参数预览、幂等执行
资金、生产权限、关键设施操作 多人审批、短期凭证、独立策略引擎、强制冷静期

安全不能只靠模型拒答

模型层的安全训练很重要,但生产系统不能假设模型永远判断正确。提示注入、权限配置错误、工具参数异常以及下游服务故障,都可能让一条看似合理的输出变成真实事故。

更稳妥的架构是把控制拆成独立层次:

  1. 模型提出结构化行动建议,而不是直接持有长期生产凭证。
  2. 策略引擎根据行动类型、资源范围和风险等级作出确定性判断。
  3. 高风险行动进入人工审批队列。
  4. 执行器使用短期、最小权限凭证调用目标系统。
  5. 审计系统记录提议、审批和执行三个阶段。

这样设计的关键价值是:即使模型受到误导,外部控制层仍能阻止越权行动。反过来,如果所有安全规则都写在系统提示词里,那么提示词一旦被绕过,防线也会一起消失。

可以这样实践:给 AI 工具调用加一道确定性闸门

下面是一个不依赖第三方库的最小示例。它不会连接真实生产系统,而是演示如何根据行动类型决定自动执行、人工审批或直接拒绝。保存为 approval_gate.py 后即可运行。

from dataclasses import dataclass, asdict
from datetime import datetime, timezone
import json
from pathlib import Path
from typing import Any

POLICY = {
    "summarize_document": "allow",
    "send_external_email": "review",
    "change_production_role": "review",
    "disable_audit_logging": "deny",
}

@dataclass
class Action:
    actor: str
    name: str
    arguments: dict[str, Any]
    reason: str


def write_audit(event: str, action: Action, decision: str) -> None:
    record = {
        "time": datetime.now(timezone.utc).isoformat(),
        "event": event,
        "decision": decision,
        "action": asdict(action),
    }
    with Path("audit.jsonl").open("a", encoding="utf-8") as f:
        f.write(json.dumps(record, ensure_ascii=False) + "\n")


def authorize(action: Action) -> bool:
    decision = POLICY.get(action.name, "deny")
    write_audit("policy_evaluation", action, decision)

    if decision == "allow":
        return True

    if decision == "deny":
        print(f"拒绝执行:策略禁止 {action.name}")
        return False

    print("\n待审批行动:")
    print(json.dumps(asdict(action), ensure_ascii=False, indent=2))
    approved = input("输入 APPROVE 才允许执行:").strip() == "APPROVE"
    write_audit("human_review", action, "approved" if approved else "rejected")
    return approved


def execute(action: Action) -> None:
    # 实际项目中应在这里换取短期凭证,并调用受限的工具适配器。
    print(f"模拟执行:{action.name},参数:{action.arguments}")
    write_audit("execution", action, "completed")


if __name__ == "__main__":
    proposed_action = Action(
        actor="support-agent-v1",
        name="send_external_email",
        arguments={
            "to": "customer@example.com",
            "subject": "工单处理结果",
        },
        reason="模型建议向客户发送处理结果",
    )

    if authorize(proposed_action):
        execute(proposed_action)
    else:
        print("行动未执行。")

运行命令:

python approval_gate.py
cat audit.jsonl

接入真实业务前,需要进一步改造:不要让模型自行声明风险等级;策略应由服务端根据工具名称和参数计算;审批身份要通过企业身份系统验证;敏感字段应脱敏或加密;执行接口还要支持幂等键、超时和回滚。

国际合作最终要落到可互操作的机制

AI 系统跨越国界提供服务,而各国的法律、风险容忍度和基础设施并不相同。国际合作若只形成原则声明,很难直接改变生产系统。更有工程价值的协作对象包括:

  • 统一或可映射的事故严重度分级;
  • 能跨组织交换的模型与系统评测结果;
  • 对高影响能力采用一致的测试术语和报告字段;
  • 明确漏洞、滥用和重大事故的通报渠道;
  • 为敏感日志设置保存期限、访问权限和跨境传输边界。

共享信息也存在边界。完整提示词、用户数据、模型权重和攻击细节不应默认公开。团队可以优先交换经过脱敏的指标、复现条件、受影响版本、缓解措施和时间线,在透明度与安全性之间建立清晰规则。

上线前可以检查什么

将安全、人类控制和国际协作转化为工程要求时,可以从以下清单开始:

  • 模型是否能够直接取得长期高权限凭证?
  • 每一种工具调用是否都有明确的默认拒绝策略?
  • 审批者是否能看到最终参数,而不只是模型生成的解释?
  • 拒绝后是否存在自动重试或其他绕过路径?
  • 日志能否关联模型版本、策略版本、审批记录和执行结果?
  • 团队是否定期演练提示注入、凭证泄露和错误授权场景?
  • 重大事故是否有停机开关、负责人、通报时限和外部联络渠道?
  • 跨境共享的评测与事故数据是否经过脱敏和合规审查?

国际层面的治理需要长期协商,但工程团队不必等待所有规则尘埃落定。把高风险行动从模型中剥离出来,用确定性策略、人类审批、最小权限和可验证日志包围模型,就是今天可以实施的一步。


相关推荐