Hugging Face 本地模型用于 OpenClaw PR 分类
Hugging Face 本地模型用于 OpenClaw PR 分类
Hugging Face 为 OpenClaw 仓库实现了一个实时通知和分类系统,使用本地开源权重模型。通过在代理框架中部署 Gemma 4 和 Qwen 3.6 等模型,团队实现了对 issue 和 pull request(PR)的高吞吐量分类,而无需依赖昂贵的闭源模型 API,也不必为批处理牺牲实时响应能力。
代理式分类架构
系统采用“代理式分类”,即模型不仅接受提示,还可以主动获取额外上下文后再返回结构化结果。核心组件包括:
- Agent Harness(代理框架): 系统使用 Pi 作为框架来调用本地模型端点。
- Restricted Shell(reposhell): 为防止恶意 PR 或 issue 发起的提示注入攻击,代理没有完整的 bash 访问权限。相反,它使用
reposhell,一种受限的 shell,仅允许对 OpenClaw 仓库执行只读操作(例如ls、find、cat、grep)。 - Structured Output(结构化输出): 代理使用
final_json工具提交基于预定义类别集合的最终分类标签(例如local_models、self_hosted_inference、agent_runtime)。
编排流水线
从 GitHub 事件到 Discord 通知的工作流遵循半代理路径,以最大化速度和资源效率:
- Mirroring(镜像):
openclaw/gitcrawl将仓库本地镜像,并将新的 PR 和 issue 标准化存入 SQLite 数据库。 - Context Building(上下文构建): 工作进程创建一个 GitHub 上下文对象,包含标题、正文、标签和 diff 摘要,从而减少模型直接浏览 GitHub 的需求。
- Inference(推理):
localpager-agent处理提示。代理可能使用reposhell检查代码库,以获得更高的准确性,然后输出最终的 JSON 分类。 - Notification(通知): 确定性规则根据用户定义的通知策略将分类结果路由到 Discord。
模型性能与基准测试
测试在 330 条评估集上进行,标签由 GPT-5.5 与 Opus 4.8 的共识验证。模型在配备 128 GB 统一内存的 NVIDIA GB10 上运行。
| Metric | gemma-4-26b-a4b |
qwen3.6-35b-a3b |
DeepSeek-V4-Flash |
|---|---|---|---|
| Precision | 0.716 ± 0.010 | 0.831 ± 0.007 | 0.938 |
| Recall | 0.905 ± 0.004 | 0.818 ± 0.006 | 0.714 |
| F1 | 0.800 ± 0.008 | 0.824 ± 0.002 | 0.811 |
| Exact Match | 0.410 ± 0.014 | 0.540 ± 0.014 | 0.509 |
| False Positives | 227.0 ± 10.5 | 105.7 ± 6.4 | 30 |
| False Negatives | 60.0 ± 2.6 | 115.3 ± 4.0 | 181 |
| Wall seconds / row | 1.41 ± 0.04 | 13.51 ± 0.79 | 144.14 |
| Output tok/s (Agg) | 402.6 | 145.3 | 13 |
| Total Parameters | 26B | 35B | 284B |
| Active Parameters | 4B | 3B | 13B |
关键发现:
- Gemma 4(26b-a4b): 展示了最高的召回率和每行最快的实际耗时。使用 vLLM 与 NVFP4 量化进行的独立测试中,其聚合输出速率超过每秒 700 个 token。
- Qwen 3.6(35b-a3b): 提供了比 Gemma 更高的精确率和更少的误报。
- DeepSeek-V4-Flash: 虽然误报率最低,但其体积庞大且吞吐量低(13 token/s),使其在指定硬件上实时本地执行不切实际。
验证与实时审计
为验证本地系统,Hugging Face 每两小时通过 OpenClaw 使用 GPT-5.5 运行一次并行审计循环。该最先进模型充当评审者,识别本地模型产生的误报和漏报。此审计过程约耗费 $9/月,作为校准机制以确保本地分类器的可靠性。
对高吞吐量分类的更广泛影响
该实现表明,中等规模的本地模型能够以足够的准确度进行零样本分类,从而取代昂贵的云 API 用于高容量过滤任务。团队建议,这种“代理式分类”方法——将快速本地模型与受限工具访问相结合——可应用于其他领域,包括新闻分类、客服工单分流以及内容审核申诉等。
SUMMARY: Hugging Face 展示了如何在代理框架中部署本地模型(如 Gemma 4 和 Qwen 3.6),实现对 OpenClaw 仓库的 GitHub issue 与 pull request 的实时、零成本分类。
TITLE: Hugging Face 本地模型用于 OpenClaw PR 分类