自适应批处理
Adaptive Batch Processing
根据模型 token 限制自动分批 AI 调用,双重约束贪心分组
子问题
1.双重约束分批(input+output token)
2.60K Hard Cap 防止 TTFT 过高
3.容错隔离(部分成功返回)
4.并发批次执行与进度回调
5.system prompt 每批重复发送的 token 开销扣除
6.Error-driven Discovery 从 API 错误中自动学习模型限制
7.多业务模块复用同一泛型批处理器的接口设计
各项目的解法1 solutions
Signals
横向对比
| 维度 | moyin-creator |
|---|---|
| 分批策略 | 双重约束贪心分组(input+output token),60K Hard Cap |
| 模型感知 | 三层查找注册表 + Error-driven Discovery 自动学习限制 |
| 并发模型 | runStaggered 信号量 + 定时错开启动(staggerMs=5000) |
| 容错隔离 | PromiseSettledResult 部分成功返回 + TOKEN_BUDGET_EXCEEDED 短路 |
| 泛型复用 | processBatched<TItem, TResult> 泛型接口,5 个业务模块复用 |
| 预算计算 | inputBudget=min(ctx×0.6, 60K), outputBudget=maxOutput×0.8 |
最佳实践
1.贪心分组保证每批至少1个item
2.TOKEN_BUDGET_EXCEEDED 不重试节省成本
3.runStaggered 错开启动避免 API 突发
4.预算留 40% 余量给 system prompt 和格式开销
5.estimateTokens 用字符/1.5 高估避免前端引入重型 tokenizer
6.单个 item 超预算仍独立成批防止死循环