Skip to main content
编写策略有两种方式:让 Failproof AI 根据审计发现起草,或自行编写源代码。在你主动选择之前,不会有任何内容被发布或部署。

根据审计编写策略

审计发现失败;策略阻止其再次发生。Failproof AI 根据发现项自身的证据起草策略。

1. 运行审计

针对发生失败的会话运行审计。每个发现项都包含其证据会话、根本原因以及建议的预防路径。请从具有可重复操作模式的发现项入手——策略只能阻止它能在 hook 事件中识别的行为。

2. 生成草稿

  1. 在 Analyze → issues 下打开发现项的问题,查看其引用的会话、根本原因和建议。
  2. 选择 generate policy。Failproof AI 首先判断某个策略是否能够表达该问题。no policy 结果意味着解决方案是警报、工作流程变更或人工介入——而非策略。
  3. 选择 write this policy。问题标题、发现内容、根本原因、建议以及拟定的执行意图将作为草稿出现在 Admin → policy editor 中。如果你不同意候选检查的结论,可使用 open the editor anyway。 策略编辑器的编写视图,包含策略标识、AI 辅助起草、源代码验证和发布控件。

3. 审查草稿

草稿是起点,而非定论。在发布之前,请检查它是否:
  1. 用运营语言命名了失败模式。
  2. 仅匹配包含足够证据以作判断的 hook 事件和工具。
  3. 使用最窄的条件来捕获不安全的操作。
  4. 返回的原因能够告知 Agent 应该采取什么替代措施。
  5. 在 Agent 能够安全纠正方向时使用 instruct,仅在允许该操作不可接受或不可逆转时使用 deny。
在编辑器中验证源代码,并修复所有报告的错误。

4. 测试后发布

在发布之前,在源代码下方运行 backtest:它会将草稿重放到你的集群已发出的调用上,并统计它会中断的正常调用数量。测试策略涵盖了这一项及其他检查。 确认其行为符合预期后,输入策略标识并选择 publish version。发布会生成一个不可变版本,且不会部署任何内容:它处于闲置状态,直到你部署它。在终端中执行:
publish 在发送前会对源代码进行语法检查,因此语法错误会在此处暴露,而不是在执行时的机器上。

自行编写

策略是基于 failproofai API 的 JavaScript 或 TypeScript:
这会对 Write 和 Edit 两种操作匹配 production/config.yml、/srv/production/config.yml、/srv/production 以及 C:\\production\\config.yml,但不匹配 production-backup:production 必须是完整的路径段。上下文还包含事件类型、规范化的载荷、会话元数据、参数以及可用时的源 CLI——详见 policy SDK。 要将其作为版本发布,请将源代码粘贴到 Admin → policy editor 的 compose 中,然后按照上述步骤 3 和 4 操作;或在终端中使用 fp policies publish 发布文件。 若要在没有 Cloud 的机器上运行,请将其保存在 .failproofai/policies/ 目录下,文件名以 policies.js、policies.mjs 或 policies.ts 结尾——这些文件会在项目和用户范围内自动加载——或通过路径安装:
为每个策略指定一个在约定策略、自定义策略、包策略和 Cloud 托管策略中唯一的名称。