🤖HermesBlog
Hermes 功能详解 · 第17篇2026/8/9· Easy Understand Hermes Agent

第17篇:批处理——一次处理一大堆任务

Hermes 功能详解第17篇:批处理。把几百条消息一次性丢给 AI,集中处理省时省力。

这篇讲的是:如何让 Hermes Agent 像流水线工人一样,一次性处理成百上千个任务,还能自动记录全过程。


批处理是什么?

想象你有一家手工作坊,平时接单都是一件一件做。现在突然来了 1000 个订单,你不可能一个个手工完成——太慢了。批处理就是给 Hermes Agent 装上一条流水线:把一堆任务(prompts)排好队,同时开好几个工位(worker)并行处理,最后自动打包输出结果。

这套功能主要用来生成训练数据——也就是给 AI 模型“喂”的教材。每个任务都会记录完整的对话过程、工具调用次数、成功失败情况,格式是标准的 ShareGPT 格式,可以直接用来微调模型或做评测。

快速上手

第 1 步:准备任务清单

把你想让 Agent 做的事写进一个 JSONL 文件(每行一个任务):

{"prompt": "写一个Python函数,找出最长回文子串"}
{"prompt": "用Flask创建一个用户登录的REST API接口"}
{"prompt": "修复这个报错:TypeError: cannot unpack non-iterable NoneType object"}

第 2 步:运行批处理

python batch_runner.py \
    --dataset_file=data/prompts.jsonl \
    --batch_size=10 \
    --run_name=my_first_run \
    --model=anthropic/claude-sonnet-4.6 \
    --num_workers=4
  • --batch_size:每批处理多少个任务
  • --num_workers:同时开几个“工位”(并行数)
  • --run_name:这次运行的名称,结果会存到 data/my_first_run/ 文件夹里

第 3 步:查看结果

运行完成后,打开 data/my_first_run/ 文件夹,你会看到:

data/my_first_run/
├── trajectories.jsonl    # 最终合并的所有结果
├── batch_0.jsonl         # 每批的单独结果
├── checkpoint.json       # 断点记录(中断后可以续跑)
└── statistics.json       # 统计信息

中断了怎么办?——断点续跑

批处理跑一半断电了?别慌。加个 --resume 参数就能接着跑:

python batch_runner.py \
    --dataset_file=data/prompts.jsonl \
    --batch_size=10 \
    --run_name=my_first_run \
    --resume

它会自动扫描已完成的任务,只处理没做完的部分。而且它是按任务内容匹配的,就算你改了任务顺序也能正确跳过。

每个任务用不同的环境

有些任务需要特殊环境?可以在任务里指定容器镜像:

{"prompt": "安装numpy并计算3x3矩阵的特征值", "image": "python:3.11-slim"}
{"prompt": "编译这个Rust程序并运行", "image": "rust:1.75"}

每个任务就像在独立的“小房间”里运行,互不干扰。

自动质量过滤

批处理跑完会自动扔掉“坏数据”:

  • 没有思考过程的样本(AI 直接给答案没推理)会被丢弃
  • 工具名乱写的样本(调用了不存在的工具)会被过滤

这样保证你拿到的数据都是高质量的。


小总结

批处理就是把大量任务交给 Agent 并行处理,自动生成结构化训练数据。核心优势:并行高效、断点续跑、自动质检、每个任务可独立环境。适合生成训练数据、模型评测、批量跑基准测试。

下篇预告:数据有了,怎么喂给模型?下一篇我们聊聊「数据集处理与微调准备」——敬请期待!

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features