Skip to content

Fix/max tokens - #9

Merged
ErickUser1 merged 2 commits into
mainfrom
fix/max-tokens
Aug 3, 2026
Merged

Fix/max tokens#9
ErickUser1 merged 2 commits into
mainfrom
fix/max-tokens

Conversation

@ErickUser1

Copy link
Copy Markdown
Owner

No description provided.

OpenRouter valida el saldo contra el MAXIMO POSIBLE de salida, no contra
lo que la respuesta va a costar: pedir max_tokens 8192 tumbaba con un 402
una peticion que habria gastado 200. Con saldo bajo pega constantemente y
Multi parecia roto cuando la falla era un numero.

Un 402 ahora son dos cosas distintas, separadas por el mensaje del propio
proveedor:

- "can only afford N" -> SI hay dinero, el techo era muy alto. Se
  reintenta de inmediato con el 90% de N. Sin backoff, porque esperar no
  hace crecer un saldo.
- Sin ese dato -> la cuenta esta vacia de verdad. Falla ahi mismo, en un
  solo intento, y lo dice.

Hay un piso de 512: por debajo de eso el modelo se corta a media llamada
de herramienta y devuelve un JSON truncado, que se lee como bug del
agente cuando es falta de dinero. Si ni recortando cabe, falla claro.

El mensaje al usuario va ANTES del generico de creditos en explicarFalla.
Los dos hablan de saldo, y en el orden contrario a alguien que si tiene
dinero se le decia que recargara.

demo:presupuesto (16/16) lo cubre con un servidor falso que cobra por
adelantado como OpenRouter. Sin red ni API key.

Nota: OpenCode no resuelve esto. Su maxOutputTokens es un min estatico
entre el limite del modelo y un tope fijo (provider/transform.ts),
calculado sobre la capacidad del modelo y nunca sobre el saldo. No hay
nada suyo que copiar aqui.
Los guiones largos se leen como muletilla cuando aparecen en cada
parrafo. Donde eran dos ideas va punto, donde explicaban va dos puntos,
donde eran un inciso va coma. 43 en total: 21 en ROADMAP, 19 en E2E,
3 en CONTRIBUTING.

Aparte, E2E.md estaba roto desde antes en el repo publico: la primera
linea era un "markdown" suelto y los diagramas ASCII habian perdido sus
cercos de bloque, asi que GitHub los renderizaba como parrafos con el
espaciado colapsado. Se devuelven los cercos y se quita esa linea.

Queda pendiente redibujar los diagramas: el sangrado que centraba el
texto dentro de las cajas tambien se perdio, y eso no se reconstruye
automaticamente.

El ROADMAP marca como hecho el ajuste de max_tokens, con el limite que
tiene y por que OpenCode no servia de referencia.
@ErickUser1
ErickUser1 merged commit a667cc0 into main Aug 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants