La traduzione viene troncata in silenzio quando l'analisi del flusso JSON si interrompe (nessun errore segnalato)

Aggiungo un dato a questo — stiamo osservando ciò che sembra essere lo stesso meccanismo sottostante, ma che si manifesta in modo diverso.

Osservato su: Discourse core + discourse-ai, LLM: GPT-5.1 via OpenAI (connessione API personalizzata, non un modello predefinito).

Evidenze di riproduzione

Stesso post sorgente (russo, ~2000 caratteri, intestazioni/grassetto/elenco puntati/link),
tradotto in più lingue tramite traduzione AI nativa:

  • Polacco (pl): la markdown dell’immagine incorporata ha perso la sua struttura — è passata da
    ![testo alternativo|690x460](upload://...) a un link malformato privo del prefisso !
    e del separatore |, con il testo alternativo e le dimensioni uniti come testo normale. Visualizzato come un link cliccabile invece che come un’immagine incorporata.
  • Ucraino (uk): le sequenze letterali \n\n appaiono come testo normale in tutto il post, al posto delle interruzioni di paragrafo. La markdown dell’immagine in questa stessa traduzione era intatta — quindi la corruzione non è legata a un singolo sintomo fisso, ma varia a seconda dell’esecuzione.

A differenza della troncamento descritto sopra, il nostro caso non mostra contenuto mancante —
il testo completo è presente, ma con sequenze di escape / sintassi markdown corrotte invece di un output abbreviato. Provider diverso (OpenAI vs Google qui), sintomo diverso (corruzione vs troncamento), stessa causa radice sospettata:
StructuredOutput#read_buffered_property che ricade su
BestEffortJsonParser#extract_key, che non decodifica le sequenze di stringhe JSON (\n rimane letterale) e sembra anche gestire male i caratteri speciali adiacenti alla sintassi markdown quando il fallback si attiva a metà parsing.

Nessun errore nei log di Sidekiq o Rails dalla nostra parte — stesso comportamento di fallimento silenzioso.

1 Mi Piace