用途:把一条自然语言规则(如“任何人不得 push 到 main”)转化为当前编程智能体环境中的真实限制,以该智能体原生方式配置,而非仅写成文字约定。技能本身不提供各智能体的现成配方,而是给出让智能体依据其最新官方文档自我配置的流程。
输入:待执行的规则,用自然语言描述。常见横切护栏示例:阻止 git push 到主分支及 git push --force;阻止对项目外文件系统的破坏性命令;任何部署或对远程服务的写入前要求确认;禁止读写 .env 等密钥文件。可选说明规则作用于项目级(全团队)还是用户级。若规则不清晰(何种动作、何种例外),应先询问再继续。
工作流:1)识别当前会话运行的是哪个智能体(依据其自身标识、环境变量或项目中的配置文件),并用一行告知用户。2)查阅该智能体关于 hooks、权限或策略的最新官方文档;references/puntos-de-partida.md 仅作起点,若与当前文档冲突以当前文档为准;若智能体无法联网,应说明并请用户提供链接或文档片段。3)选择能执行该规则的最简机制:若声明式权限(allow/deny/ask)足够则用权限;不够则用对应事件(如执行命令前)的 hook;若智能体不提供任何机制,应明确说明并提出最不脆弱的替代方案,同时把规则写入 AGENTS.md。4)写入前先向用户提议:触发事件、阻止/确认/执行的内容、落在哪个配置文件及作用范围(项目/用户)、可能误拦的情况(假阳性),等待明确批准。5)在智能体原生配置文件中配置,不删除已有配置。6)以安全方式触发事件进行测试(如在测试分支或模拟模式下执行 git push 到 main),向用户展示护栏已生效;若未生效,修正后再结束。7)登记到 AGENTS.md 的 ## Guardrails 小节:规则、机制、所在文件及测试方式,便于团队(人或智能体)知晓。
限制:不安装用户未批准的内容;不为新建护栏而停用已有护栏;未经测试的护栏不算创建完成;若智能体无法强制执行该规则,应说明该规则只是书面规则,而非虚假的护栏。