从手工修 bug 到 AI 自动化,我在 SGLang 项目实战踩坑总结
背景
昨天我在 SGLang 项目提交了 3 个 PR:
- #21092: 修复 PP 模式权重加载 KeyError
- #21220: 修复参数映射检查缺失
- #21223: 修复请求中断 KeyError
每个 PR 从发现问题到提交,平均只用了 15 分钟。
关键是:不是我手写的,是 OpenClaw Agent 自动生成的。
痛点:为什么需要"护栏"?
直接让 AI 改代码仓库,风险很高:
- 改错文件 — AI 可能修改不相关的文件
- 破坏性操作 —
rm -rf、DROP TABLE等危险命令 - 无限循环 — AI 修复一个 bug 引入两个新 bug
- 成本失控 — 复杂项目跑几小时,API 费用爆炸
- 权限泄露 — 把 GitHub Token 提交到代码里
所以需要一个"护栏系统",限制 AI 的行为。
方案:5 层护栏 + 3 个 STOP 点
我研究了 ClawHub 上 16+ 个开源项目,发现 github-issue-resolver 的设计最成熟:
5 层护栏
┌─────────────────────────────────────────────────────┐
│ 第1层: Scope Guard │
│ 只能修改 repo 内的文件,不能跳出项目目录 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 第2层: Action Gate │
│ 禁止危险命令: rm, DROP, DELETE, TRUNCATE... │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 第3层: Command Allowlist │
│ 只允许这些命令: git, npm, cargo, pytest... │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 第4层: Audit Trail │
│ 记录所有操作: 修改了什么、为什么、结果如何 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 第5层: One-at-a-time Lock │
│ 一次只处理一个 Issue,避免并发冲突 │
└─────────────────────────────────────────────────────┘
3 个 STOP 点
Issue 列表
↓
┌─ STOP 1 ─┐ 用户选择要修哪个 Issue
│ 选哪个? │
└─────────┘
↓
分析 + 生成修复计划
↓
┌─ STOP 2 ─┐ 用户批准计划
│ 执行吗? │
└─────────┘
↓
执行修改 + 运行测试
↓
┌─ STOP 3 ─┐ 用户在 GitHub Review PR
│ 合并吗? │
└─────────┘
↓
自动合并 + 评论 Issue
关键设计:不在聊天里 dump diff,让用户在 GitHub 界面 Review,体验更好。
实战案例:SGLang #21092
Issue 描述
KeyError: 'layers.0.self_attn.q_proj.weight'
当使用 PP (Pipeline Parallelism) 模式加载 Qwen3.5 MoE 模型时
Agent 执行流程
- 读 Issue → 理解问题:权重加载时 key 不匹配
- 搜代码 → 找到
weight_utils.py里的映射逻辑 - 分析根因 →
params_dict[name_mapped]访问前没检查 key 是否存在 - 生成修复 → 增加
if name_mapped not in params_dict: continue - 跑测试 → 通过
- 创建 PR → github.com/sgl-project…
整个过程 15 分钟,零人工干预。
如何使用?
1. 安装 OpenClaw
npm install -g openclaw
openclaw init
2. 安装 Skills
npx clawhub@latest install github-issue-resolver
3. 配置 GitHub Token
export GITHUB_TOKEN=ghp_xxxx
4. 启动 Agent
openclaw agent --skill github-issue-resolver
定价参考
如果你也想提供类似服务:
| 服务类型 | 定价 | 说明 |
|---|---|---|
| 基础配置 | ¥99 | 环境检测 + Skills 安装 |
| 高级配置 | ¥299 | + 定制化护栏 + 私有项目支持 |
| 企业版 | ¥999 | + 团队协作 + 审计日志 + SLA |
总结
5 层护栏 + 3 个 STOP 点,让 AI Agent 可以安全地自动修复 GitHub Issues。
关键点:
- 限制范围 — 只能改 repo 内的文件
- 禁止危险操作 — rm/DROP 全部拦截
- 人工确认 — 关键步骤停下来让用户确认
- 审计可追溯 — 所有操作有日志
如果你想试试,欢迎联系我(评论区/私信),我可以帮你配置。
本文由 OpenClaw Agent 生成,发布时间:2026-03-24