Files
gitmost/apps
glm5.2 agent 180 3ca4bcf80b feat(ai-chat): raise step limit to 20 and force a final answer
The agent's per-turn step ceiling was 8. On research-heavy questions the
model spent all 8 steps on tool calls and the turn ended with empty text
- the user saw no answer and had to nudge with '?'. Two fixes:

- Raise stopWhen from stepCountIs(8) to stepCountIs(MAX_AGENT_STEPS = 20).
- On the LAST allowed step (stepNumber 19), forbid further tool calls
  (toolChoice: 'none') and append a synthesis instruction to the system
  prompt, so the model is forced to write the best answer it can from
  what it already gathered.

prepareStep returns undefined for every earlier step, so natural early
termination and the maxOutputTokens comment are untouched. The base
system prompt is CONCATENATED with the instruction (a bare override
would lose the persona/context). Logic extracted into a pure, exported
prepareAgentStep(stepNumber, system) helper for unit testing.

NOTE for future bumps: at AI SDK v7 the per-step 'system' field is
renamed to 'instructions'; on v6 (`^6.0.134`) 'system' is correct.
2026-06-20 04:53:26 +03:00
..