先说几个核心判断:仅靠聊天测试,很难判断一个免费模型是否具备真正执行任务的能力。要验证这一点,必须让模型跑完 PinchBench 全部 23 项真实任务——从生成日历、筛选 CSV 中的城市数据,到调用 API 查询股价、总结 PDF 报告——每一步都要留下可审计的文件、命令记录和最终输出。这个流程,才是检验“智能”的硬核标准。
确认模型已接入 OpenClaw Agent 框架
打开 OpenClaw 的配置目录(一般位于 ~/.openclaw/config.yaml),检查 llm_backend 字段,确保它指向正确的本地免费模型服务地址,例如 http://localhost:8080/v1。如果你使用 Ollama,需先用 ollama pull qwen3-coder-next 下载模型,并确认 ollama serve 已运行。
执行 openclaw status 命令,查看输出是否显示 LLM backend: connected 且 tools: all ready。有一个关键点必须强调:如果任何一个工具缺失,例如 task_csv_cities_filter 这类依赖文件操作的任务,从一开始就会卡住。
这一步骤如果失败,后续所有测试基本会在第一轮就报错,常见错误信息为“no tool available for read_file”或类似提示。因此,配置阶段属于“一票否决”环节,必须仔细验证。
下载并准备 PinchBench 任务集
接下来,克隆最新的任务仓库:git clone https://github.com/pinchbench/skill.git。进入 skill/tasks/ 目录,确认里面至少包含 23 个 *.md 文件。每个文件应包含 YAML frontmatter 和明确的 expected_behavior 描述,这是评分的关键依据。
安装 PinchBench runner:pip install -e .(需要 Python 3.10+)。该工具会自动识别 OpenClaw 的环境变量并绑定当前配置。
有个细节需要注意: 不要手动修改 tasks/*.md 中的 timeout 值。Gemini 3 Flash 能在 95.1% 的任务中按时完成,但 Qwen3-Coder-Next 在 task_pdf_summary 上经常在默认的 180 秒超时。如果强行缩短时间,评分器会判定为“未启动执行”,直接判负。
运行单任务调试验证流程
这里提供三种验证策略,可根据实际需求选择。
方法一:快速验证工具链通路
执行 pinchbench run --task task_calendar_generate.md --dry-run,观察输出是否包含“✅ Tool call detected: create_icalendar”以及参数校验通过信息。此步骤不会实际生成文件,只检测模型能否正确解析指令并构造合法的 tool call。
方法二:完整执行并捕获失败现场
运行 pinchbench run --task task_csv_cities_filter.md --log-level debug。任务会在 ./workspace/task_csv_cities_filter/ 下创建临时工作区,自动下载示例 CSV、执行 pandas 筛选、保存结果 CSV 并校验内容行数。如果失败,日志末尾会明确指出哪一行 Python 检查未通过,例如 assert len(df) == 42 是典型错误。
方法三:跳过自动化评分,人工核对输出质量
添加参数 --grading-type llm_judge,PinchBench 会将模型输出、原始 prompt 和预期行为一起发送给 Claude Opus 进行主观打分。返回结果格式如 relevance: 4/5, completeness: 3/5, formatting: 5/5,可以直观看到每个维度的表现。这种方法特别适合评估 Qwen3-Coder-Next 在 task_research_write 中生成文献综述时的逻辑连贯性,而不仅仅是文件是否存在。
批量运行并导出结构化结果
验证单任务没问题后,即可进行批量测试。
第一步:生成任务清单
执行 pinchbench list --category coding,analysis,research > my_tasks.txt,筛选出你关注的 6 类共 17 项任务。注意,可以排除需要外部 API 密钥的任务,例如 task_stock_price 等 3 项。
第二步:并发执行(推荐 4 线程)
pinchbench batch --tasks-file my_tasks.txt --max-workers 4 --timeout 300。该命令会为每个任务单独开辟进程、隔离工作区、独立计时,并在 ./results/ 下生成 JSONL 格式记录文件,包含 success 布尔值、latency_ms、total_tokens、grading_result 等字段。
第三步:提取关键指标
用一条 jq 命令即可完成:jq -r '. | select(.success == false) | "(.task_id)t(.latency_ms)t(.error)"' ./results/*.jsonl > failures.tsv。这样可以快速获取所有失败任务的 ID、耗时和错误原因,避免大海捞针。
第四步:生成兼容 OpenClaw Dashboard 的汇总报告
pinchbench report --format openclaw-dashboard 会输出一个 dashboard_data.json。将该文件直接拖入 OpenClaw Web 控制面板的“Agent Performance”模块,即可实时渲染出成功率热力图和 token 消耗趋势曲线,直观清晰。
