首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Loop Engineering 安全写入模式(Safe Write Pattern):让 AI 循环在 MCP 世界中只提议、不越权
📅 2026/9/23 23:00:40
✍️ 爱科研究院
👁 阅读 3,247
人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务【免费下载链接】loop-engineeringPractical patterns, starters CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.项目地址https://gitcode.com/gh_mirrors/lo/loop-engineering点击查看免费下载当循环loop开始通过 MCP 连接器触碰外部系统——创建 PR、更新工单、发布看似官方的评论——它就从一个只读观察者变成了潜在的状态变更者。本指南讲解 loop-engineering 仓库推荐的默认安全写入模式Safe Write Pattern任何需要改变外部状态的动作都必须走发现→隔离→实现→验证→仅提议→留痕→人工闸门→清理的八步链路把执行权留在人类手中。读完你将在自己的循环中落地一套可复用的最小权限写入架构并理解minimal-fix、loop-verifier、loop-gate等工具在其中的精确位置。核心原则给循环最低特权examples/mcp/README.md 开篇即点明本项目对 MCP 连接器的第一原则给循环它需要的最低权限读 评论优先于写任何变更外部状态的动作都必须经过人工闸门 worktree 隔离。安全写入模式正是这条原则的操作化。它不是一个可选的加分项而是仓库文档与 patterns/ 中所有 L2 模式即具备修改能力的循环的推荐默认配置。所谓 L2指的是在 docs/operating-loops.md 定义的升级路径中已经越过只读报告L1、开始小范围自动修复L2以及连接外部工具L2的循环——它们每一次写操作都应该按下述模式执行。八步安全写入模式原文档给出了一条清晰的执行链路。以下逐步展开并补充每一步背后的源码与配置依据。1. 发现 / 分诊Discovery / Triage先读再决定循环第一步永远是读取通过 MCP 或本地 git 发现当前有哪些 PR、issue、CI 失败或评论值得处理。对 GitHub使用只读令牌即可覆盖这一步参考 examples/mcp/github-readonly.mcp.json——它只声明GITHUB_PERSONAL_ACCESS_TOKEN且要求填入READ_ONLY令牌。对 Slack 这类告警源examples/mcp/slack-read.json 只开放channels:history:read与groups:history:read并且明确只读指定频道、从不代表循环发消息。从源码结构看examples/mcp/github-propose.json 将这一阶段的权限固定为contents: read、issues: read、metadata: read——发现阶段只需要读。2. Worktree代码变更必须在隔离区进行任何代码修改都不应在主工作区直接进行而要开一个独立的 git worktree。这一步的意义是循环实验失败不影响主分支变更以可评审的 patch 形式留存便于 verifier 复核与人类审阅。这一理念在工具层面有三重实现tools/loop-worktree/ 提供 worktree 与锁lock管理tools/loop-sandbox/ 提供临时 worktree 隔离在应用前把变更捕获为可评审的补丁文件tools/loop-swarm/ 在多个loop-sandbox串行运行之间要求逐字节一致的补丁共识才接受改动。3. 实现者子代理Implementer sub-agentminimal-fix或等价物实现阶段应派生一个子代理严格执行 skills/minimal-fix/SKILL.md你只修复一个特定问题产生能工作的最小 diff。该技能的硬性规则包括一次调用只处理一个问题多个失败 → 先分诊或升级绝不触碰 denylist 路径如.env、auth/、payments/、secrets遇到即升级给人类无人值守运行时优先 worktree 隔离以及最关键的一条——不要把自己的工作标记为完成由 verifier 决定。4. 验证者子代理Verifier sub-agentmaker/checker 分离实现者不能自己验收自己必须由独立会话或更高推理能力的模型扮演 checker。skills/loop-verifier/SKILL.md 明确定义了它的姿态你的工作是拒绝除非证据足够强。其检查清单要求全部通过才能 APPROVE仅改动相关文件无 denylist 路径、无无关编辑变更确实针对既定目标你亲自运行了测试并报告结果不信任实现者的口头声明无作弊没有禁用测试、跳过断言中等以上风险即使测试通过也建议人工评审。输出为APPROVE | REJECT | ESCALATE_HUMAN三分法无法运行测试的环境直接ESCALATE_HUMAN。5. 仅提议Propose only提交的永远是提案这是整个模式的分水岭。循环的产出不是已合并的代码而是打开一个draft PR或附 diff 链接 摘要的评论或者创建/更新工单并标注proposed by loop — human review requested所有输出必须签名 Loop Engineering — Pattern Name。examples/mcp/github-propose.json 的权限设计精确对应这一阶段pull_requests: write被限定用于评论和 draft PR注释中明确绝不自动合并、尽量用 draft PR、配对 worktree 证据。对 Linearexamples/mcp/linear.json 允许读 issue、追加状态、创建loop-followupissue回链 PR/state但明确不得自动关闭面向客户或安全问题。6. 记录进状态Record in state循环必须把提议了什么、链接、时间戳、风险写入状态文件。docs/operating-loops.md 给出了最小日志条目模板loop-run-log.md或结构化 JSONrun_id、pattern、duration_s、items_found、actions_taken、escalations、tokens_estimate、outcome。状态文件同时是团队透明度的载体——patterns/pr-babysitter.md 建议把pr-babysitter-state.md放在仓库或共享文档中让全员能看到循环在做什么。7. 人工闸门Human gate或极窄 allowlist 额外验证默认策略是不自动合并。docs/safety.md 的自动合并政策表列出允许不允许注释/文档中的错别字行为变更仅测试文件内的 lint 自动修复依赖版本升级import 排序lockfile 变更allowlist 内docs/路径的配置任何 denylist 路径若确需放行琐碎补丁allowlist 必须记录在AGENTS.md或专门的loop-auto-merge-allowlist.md中。而机械化的强制手段由 tools/loop-gate/ 承担它从 gate.yaml 读取 denylist 与 auto-merge allowlistloop-gate check --action type --paths changed files以退出码2表示升级、0表示放行——与loop-context --check同一约定便于控制脚本串联。注意 gate.yaml 中的maxFiles: 10一次改动触碰超过 10 个文件无论路径是什么都触发升级——因为一个循环提议超大 diff通常意味着它已经失控。8. 清理 / 关闭Prune / close下次运行归档过期提案状态会自然过期PR 可能被合并、issue 可能被关闭、提案可能被人类否决。循环必须在每次运行时清理这些过期提案prune避免状态文件堆积成理解债。patterns/pr-babysitter.md 的失败模式清单中明确列出Stale state → 循环每次运行都应 prune 已关闭/已合并的 PRdocs/operating-loops.md 的杀停清单也要求归档状态文件并标记status: retired。落地示例Grok 提示词逐行拆解原文档给出的 Grok 示例是安全写入模式最浓缩的可执行形态逐行解读如下/loop 15m Use github-propose MCP (read draft PR comment). Run pr-review-triage on open PRs. For low-risk, allowlisted items that pass verifier: - open worktree - minimal-fix - loop-verifier - post signed comment link to worktree (or open draft PR) Never merge. Update pr-babysitter-state.md.行对应模式步骤/loop 15m设定调度节奏15 分钟一轮Use github-propose MCP声明连接器身份与权限见 examples/mcp/github-propose.jsonRun pr-review-triage on open PRs第 1 步只读分诊For low-risk, allowlisted items that pass verifier第 7 步的极窄 allowlist 额外验证前置条件open worktree → minimal-fix → loop-verifier第 2–4 步隔离、实现、验证post signed comment link to worktree (or open draft PR)第 5 步仅提议 签名Never merge第 7 步人工闸门循环永不合并Update pr-babysitter-state.md第 6 步状态留痕同样的配方在 examples/mcp/README.md 的 1 天版本中重复出现/loop 1d并追加了总纲Always: 在评论中声明 bot 身份 Loop Engineering — Changelog Drafter在 STATE 或模式专属状态文件中记录 MCP 动作与结果在 skill 或LOOP.md中维护显式 denylist。为什么这套模式有效原文档的论证值得完整保留并补充依据循环保有能动性agency它负责快速发现与提议这正是 L1 分诊阶段验证过的低成本能力docs/operating-loops.md 提示空监视列表应在 5k token 内退出。人类或严格 allowlist保留最终变更权maker/checker 分离 人工闸门是 docs/safety.md 的最低防线loop-gate用退出码将其机械化不依赖循环自觉读文档。全部上下文落在 STATE PR/工单中理解债可控团队随时可查。易于暂停scheduler_delete或禁用对应 Action 即可。这正是 docs/operating-loops.md 杀停清单的第一步若发生事故先暂停全部循环、回滚合并、记录状态、收紧 verifier 后再重启。安全写入模式与循环生命周期安全写入模式不是静态清单而是与循环的升级路径联动Report-only (L1) → 1–2 周稳定分诊 ↓ Small auto-wins (L2) → verifier worktree max attempts ↓ Connectors (L2) → PRs/tickets 自动更新此处开始强制本模式 ↓ Unattended (L3) → 仅在具备 denylist、预算、指标、人工闸门后docs/operating-loops.md 明确警告不要对生产仓库上的新模式跳过 L1。新连接器应先以 report-onlyL1模式测试——这与 examples/mcp/README.md 的安全说明先在报告模式测试新连接器完全一致。同时每一次 MCP 调用都应被记录monitor工具或 GitHub Action 日志。对于需要更高自动化程度的团队templates/loop-constraints.md 提供了机器可读的约束模板loop-constraintsskill 会在每次循环启动时读取并强制每条规则而 L3 循环的 token 预算扩展必须走 skills/budget-negotiator/SKILL.md 请求人工批准——代理不能自行调高loop-budget.md中的上限这同样属于变更外部状态必须过人工闸门的延伸。结论安全写入模式把AI 循环 MCP 连接器的组合从高风险的自动写入器降级为高吞吐的提案生成器循环负责发现、分诊、隔离、最小修复与验证提交 draft PR 或带签名评论把状态完整记入 STATE 文件而合并、关闭、生产变更的决定权始终留给人类。仓库中 examples/mcp/safe-write-pattern.md、examples/mcp/README.md、docs/safety.md 与 docs/operating-loops.md 四份文档互为表里配合 gate.yaml 与loop-gate的机械化执行构成了一个可落地、可暂停、可审计的默认写入架构——这也是所有触碰外部系统的 L2 循环应当遵循的底线。赞分享人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务【免费下载链接】loop-engineeringPractical patterns, starters CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.项目地址https://gitcode.com/gh_mirrors/lo/loop-engineering点击查看免费下载相关推荐Loop Engineering 的 Issue Triage 模式用 loop-init 搭建只读提议式 Issue 队列治理循环Loop Engineering 的 Issue Triage 模式用 loop init 搭建只读提议式 Issue 队列治理循环 本文介绍 loop en人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务用单个 GitHub Action 搭建 L1 只读循环loop-engineering Thin Loop 模式实战用单个 GitHub Action 搭建 L1 只读循环loop engineering Thin Loop 模式实战 Thin Loop 是 loop en人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务gs-quant 量化金融回测实战一段脚本跑通均值回归策略看懂 5 个核心指标gs quant 量化金融回测实战一段脚本跑通均值回归策略看懂 5 个核心指标 gs quant 是 Python 量化金融工具包内置回测引擎、触发器与绩人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/23 23:00:40
中文预训练模型选型指南:大模型、小模型与相似度模型实战对比
2026/9/23 23:00:40
红外多目标检测数据集:YOLO三格式标签+热感知训练指南
2026/9/23 22:55:40
ENSP实战:校园局域网课程设计的VLAN划分与网络排错指南
2026/9/23 23:45:43
Numba 0.63.1 补丁版本解析:`CodeLibrary._reload_init` 修复如何解决非 CPU 目标的 lowering 崩溃
2026/9/23 23:45:43
Eclipse Mosquitto 1.4.3 版本发布详解:Broker、客户端库与 CLI 工具的缺陷修复全解析
2026/9/23 23:45:43
Python实现KNN手写数字识别:从原理到向量化加速的完整指南
2026/9/23 23:45:43
多目标粒子群优化储能选址定容与出力协同设计
2026/9/23 23:45:43
Airbyte Snapchat Marketing 连接器增量同步设计解析:16 个增量流、4 个 Deferred Child 与 SubstreamPartitionRouter 分区机制
2026/9/23 23:40:43
PowerDMIS三坐标系解析与精密测量实践
2026/9/23 0:02:40
3个致命坑:VIP免费文档性能优化最佳实践
2026/9/23 0:02:40
微信朋友圈显示地址从入门到实战
2026/9/23 0:02:40
秘书奶好大好紧快叫的视频源码解析
2026/9/23 19:31:10
深入解析Transformer多头注意力机制与工程优化
2026/9/23 19:31:10
OpenClaw 的 Skills 跑学习任务,模型通道改到 TaoToken 通道行不行?
2026/9/23 19:31:09
ChatGPT报错Oops, an error occurred! 全链路排查指南