49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
# PR#84: MiniMax M3 Gets 64000 Output Tokens
|
|
|
|
> **WARNING:** This document describes only the change applied in this PR.
|
|
> It may already be outdated once the next PR is merged.
|
|
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
|
|
|
|
## Related Links
|
|
|
|
- [werkregie PR#26](https://git.javagil.de/mi/werkregie/pulls/26): the review without a model review.
|
|
|
|
## Problem
|
|
|
|
The review of werkregie PR#26 got no model review:
|
|
`APIError: Empty content in model response (finish_reason: length)`, twice, in 506 s.
|
|
MiniMax M3 spent the whole `max_output_tokens = 32000` on reasoning and wrote no answer.
|
|
PR-Agent raises an error for empty content, so werkrevisor's own check `truncated` never sees the answer,
|
|
and the handler repeats the same request once.
|
|
|
|
The result comments of 211 successful MiniMax reviews in the werk repositories show the output tokens per call,
|
|
reasoning included:
|
|
|
|
| Statistic | Output tokens |
|
|
|---|---|
|
|
| Median | 13825 |
|
|
| 90th percentile | 25543 |
|
|
| 95th percentile | 30997 |
|
|
| Maximum | 47050 |
|
|
|
|
8 of the 211 exceeded 32000; all of them ran in werkrevisor, whose limit is 48000.
|
|
werkator, werkcrappit and werkregie have 32000, so about 1 review in 25 ends without a model answer there.
|
|
The output does not follow the input: a review of 12168 input tokens wrote 43621.
|
|
|
|
## Non-Goals
|
|
|
|
- No change of `reasoning_effort`: `low` and `none` missed a finding on 1 of 4 heads each.
|
|
- No bound of the reasoning with `reasoning_max_tokens`; whether MiniMax keeps it is not measured.
|
|
- No change of the retry after an empty answer.
|
|
|
|
## Solution
|
|
|
|
- `max_output_tokens = 64000` for MiniMax M3 in `config/werkator.toml`, `config/werkcrappit.toml`,
|
|
`config/werkregie.toml` and `config/werkrevisor.toml`.
|
|
- `max_usd_per_review = 0.25` in all four, so that the input limit stays at `max_context_tokens = 150000`:
|
|
2 calls of 150000 input and 64000 output tokens cost at most about 0.24 USD.
|
|
A review costs more only when the model really writes more.
|
|
- The README's table of model limits names 64000 for MiniMax M3.
|
|
- Werkbaum: `#model.output`, and the idea `#model.empty` for the retry after an empty answer.
|
|
- Version 0.32.10.
|