agentic-stack 有界智能循环完全指南:maker→verifier→checker 生命周期,如何防止 AI 失控与预算超限

发布时间:2026/10/7 1:28:13
agentic-stack 有界智能循环完全指南:maker→verifier→checker 生命周期,如何防止 AI 失控与预算超限
agentic-stack 有界智能循环完全指南maker→verifier→checker 生命周期如何防止 AI 失控与预算超限【免费下载链接】agentic-stackOne brain, many harnesses. Portable .agent/ folder (memory skills protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, Hermes, or DIY Python — and keeps its knowledge when you switch.项目地址: https://gitcode.com/gh_mirrors/ag/agentic-stackagentic-stack 是一个可移植的 AI 智能体大脑层.agent/文件夹包含记忆、技能与协议可接入 Claude Code、Cursor、Windsurf、OpenCode 等多种编码智能体框架。它的 v0.19.0 版本新增了有界智能循环Bounded Agentic Loops通过 maker执行者→ verifier确定性验证器→ checker独立审查者三段式生命周期为 AI 自动执行任务加上缰绳——有限尝试次数、时间/Token 预算、路径黑名单、Git worktree 隔离与可恢复检查点从机制上防止 AI 失控循环和预算超限。本指南带你从零理解并配置这套安全机制。为什么你需要有界的智能循环 让 AI 智能体自动修复失败测试听起来很美但失控的循环是真实风险无限重试验证一直失败AI 反复试错烧完 Token 预算越界修改执行者顺手改了.env、密钥目录甚至生产配置自证清白同一个模型既写代码又宣布我修好了缺乏独立验证进程中断丢状态一断网/关机之前的工作全部作废。agentic-stack 的有界循环用机械规则代码强制优先于模型判断的设计逐一化解这些问题——预算、超时、路径门、熔断器全部在 Python 层强制执行AI 说我完成了不算数验证器退出码才算数。核心架构三个角色各司其职 每次循环运行由三个角色接力完成定义在 harness_manager/loops/runner.py 的编排逻辑中角色职责关键约束maker执行者诊断任务并做最小修复只能在自己的 worktree 里动手可能被deny_paths拦截verifier验证器跑确定性命令如pytest退出码 0 才算通过不受 AI 判断影响是硬门槛checker审查者独立进程做语义复审输出APPROVE/REJECT: 原因/ESCALATE: 原因必须是独立于 maker 的另一 profile禁止修改工作区、禁止外部写权限三条铁律在 harness_manager/loops/schema.py 中强制校验L2/L3 自主等级的循环必须配置验证器 独立 checkerchecker 与 maker不能是同一个 profile——自己不能给自己打分即使 checker 批准验证器失败照样算失败checker 无法推翻确定性结果。预算与熔断器五道防超支闸门 每次尝试前后执行器都会按固定顺序检查见 harness_manager/loops/policy.py全局/单次暂停开关kill switch尝试次数上限max_attempts——默认 3 次总运行时长上限max_runtime_seconds——默认 3600 秒输出字符量上限max_output_charsToken 预算estimated_token_budget无精确用量时按文本长度估算并明确标注为估算值停滞检测stagnation_threshold——连续 2 次失败且失败指纹相同归一化掉时间戳、路径、ID 后比较就立即熔断不浪费剩余预算在同一个错误思路上。预算分两层定义循环自身的limits和全局 budget.json运行时取两者更严格的那个。以默认 L2 循环 ci-sweeper 为例见 ci-sweeper.jsonlimits: { max_attempts: 3, max_runtime_seconds: 3600, max_output_chars: 200000, estimated_token_budget: 200000, stagnation_threshold: 2 }任何一道闸门触发运行立即暂停paused或判定耗尽exhausted并写入审计事件——预算是物理墙不是君子协定。路径黑名单把 AI 关在笼子里 constraints.json 提供机器强制的改动约束默认配置如下{ deny_paths: [.env, .env.*, **/secrets/**, **/credentials/**, auth/**, payments/**, billing/**, **/migrations/**], allow_paths: [], max_changed_files: 10, external_writes_require_approval: true }每轮 maker 跑完后执行器用 Git 精确列出变更文件路径碰了黑名单、超出允许清单、或改动文件数超过 10 个立刻升级人工处理根本轮不到验证。由于 maker 在独立 worktree 中作业见下文违规改动也污染不到你的工作分支。Git worktree 隔离改动碰不到你的主分支 L2/L3 循环强制isolation.mode worktree校验逻辑见 schema.py启动前执行器从HEAD创建一个专属 worktree 和分支agentic-loop/循环名/run-id位于仓库旁的.agentic-stack-worktrees/目录同一次运行的所有重试都在同一 worktree 里maker 可以基于上次尝试 验证器反馈继续改进不同运行绝不共享 worktree完成、失败、升级的 worktree全部保留供人工检查只有显式loop cleanup命令才会在通过所有权与脏检查后删除实现见 worktrees.py你的活动检出active checkout在整个过程中分毫未动。检查点与断点续跑中断不丢进度 ⏸️状态存于对话之外——每次生命周期迁移都会原子写入检查点临时文件 os.replace()见 storage.py即使进程被杀也不会留下半截 JSON。loop resume run-id可从暂停/中断处继续并从上一次尝试的验证器反馈接着跑恢复时会校验合同摘要安全规则变严则执行新规则执行合同不兼容则升级为人工处理而不是猜着继续Ctrl-C 中断退出码 130也会先落盘检查点再退出。快速上手从初始化到审计的 8 条命令 所有命令同时支持agentic-stack与./install.shCLI 实现见 commands.py# 1. 把可移植的循环模板含 ci-sweeper 等初始化到项目 agentic-stack loop init /path/to/your-project # 2. 校验合同schema、profile 引用、路径、预算不改动任何文件 agentic-stack loop validate /path/to/your-project # 3. 启动一次有界运行--yes 跳过首次确认但绕不过路径门/预算/验证器 agentic-stack loop run ci-sweeper make the failing test green /path/to/your-project --yes # 4. 查看运行状态、预算消耗、最近验证结果 agentic-stack loop status /path/to/your-project # 5-8. 其余生命周期命令 agentic-stack loop resume run-id /path/to/your-project # 断点续跑 agentic-stack loop stop run-id /path/to/your-project # 取消或 --all 全局暂停 agentic-stack loop cleanup run-id /path/to/your-project # 清理专属 worktree agentic-stack loop audit --strict /path/to/your-project # 就绪度审计退出码本身也是可编程的契约0完成且全部门通过2需审批/政策拒绝3验证失败且重试预算耗尽4harness 可执行文件缺失130用户中断可 resume。调度器黄金法则定时任务cron / CI每次只调用一个loop run检查其退出码后再决定是否启动下一次——它不是常驻守护进程。自主等级 L1/L2/L3渐进放权而非一步到位 等级含义强制要求L1 报告只读检查、更新本地状态如 daily-triage 日报无修改权可用current隔离模式L2 协助允许有界编辑如 ci-sweeper必须有确定性验证器 独立 checker worktree 隔离L3 白名单仅允许显式配置的低风险动作同 L2且所有闸门全过v0.19.0 不附带任何无人值守的合并/部署/发布动作内置三个可移植模式供参考定义在 .agent/loops/ 目录daily-triageL1 只读日报、ci-sweeperL2 修复单个 CI 回归最多 3 次尝试、pr-babysitter默认 L1 只报告红 CI/冲突/评论不推代码。隐私与边界本地优先坦诚声明 ️事件日志本地化.agent/runtime/loops/events.jsonl只追加、只记录白名单元数据状态迁移、退出码、预算计数、变更路径。默认不包含任务文本、提示词、命令参数、模型输出——隐私安全实现见 storage.py明确的安全边界官方文档反复强调这个 supervisor 是看守者而非操作系统沙箱需要更强隔离时请叠加 harness 原生沙箱与审批机制非 Git 项目无法运行内置的动作型循环无法可靠识别改动只能使用 L1 或自定义沙箱。完整设计思路含生命周期状态机、错误处理矩阵与测试策略见 docs/superpowers/specs/2026-07-18-agentic-loops-meta-harness-design.md发布说明见 docs/releases/v0.19.0.md。总结把AI 自主变成AI 有界自主 ✅agentic-stack 的有界智能循环给新手用户的核心启示是防失控不靠提示词而靠机械闸门。三段式生命周期maker → verifier → checker保证写代码的人不能给自己打分五道预算闸门 停滞熔断让每次运行的时间、尝试、Token 花费可预测、有上限黑名单 文件数上限 worktree 隔离把爆炸半径锁死在一个随时可弃的分支里原子检查点 审计事件让中断可恢复、全程可复盘、且数据不出本地。从 L1 报告循环起步验证你的验证命令再逐步把信任的循环升格到 L2——这就是渐进自主的安全成长路径。【免费下载链接】agentic-stackOne brain, many harnesses. Portable .agent/ folder (memory skills protocols) that plugs into Claude Code, Cursor, Windsurf, OpenCode, OpenClaw, Hermes, or DIY Python — and keeps its knowledge when you switch.项目地址: https://gitcode.com/gh_mirrors/ag/agentic-stack创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考