Besišypsantis medvilnės personažas iš originalaus Cotton logotipo, be fono ir užrašo
Atgal į salę

Cotton

Translation workflow

Sugeneruoti vertimai tampa peržiūrimais rezultatais.

Žaidimų dialogų vertimo darbo eiga.

2026.05.06 — 2026.05.26

Darbo projektas · vertimų apdorojimas, vertinimas ir peržiūros kelias

  • Žiniatinklio programaĮgyvendinta · kūrimas

Cotton vocabulary

Lens
Refinement Loop
Translation
Quality Estimation
Workflow
Job Control
Human Review
  1. prompt layers
  2. glossary
  3. generation
  4. revision
  1. judge
  2. hard gate
  3. score
  1. intake
  2. checkpoint
  3. spend control
  4. stale sweep
  1. approval
  2. correction
  3. audit trail

Prompt Layers: SYSTEM_PROMPT_L0 · buildTranslateUserMessage · L1 CONTRACT · L3 SPEAKER · L6 SOURCE · L7 INSTRUCTION · ICU PLACEHOLDER · INLINE TAG · TARGET TEXT ONLY · FORCED MAPPING · L2 GLOSSARY · speaker_keyGlossary: glossary_term · fetchGlossaryHits · canonical_form · forbidden_translations · SUBSTRING MATCH · FORCED MAPPING · FORBIDDEN ALTERNATIVE · L2 GLOSSARY · glossary_hits · glossary_complianceGeneration: AdapterRegistry · anthropic-sdk · openai-sdk · claude-local · codex-local · llm_plan · PIVOT_VIA · shouldPivot · COTTON_ADAPTER_CONCURRENCY · NODE_OPTIONS · pivot_register_carry · translation.refinedRevision: buildTranslateUserMessage · L7 INSTRUCTION · runRefinementLoop · priorAttempt · priorCritique · REJECTED BY THE JUDGE · maxTurns · willRetry · RefinementHooks · HOOK ABORT · turn_count_to_final · critique_for_retry · failingDimensions · cost_ceiling_usd · needs_reviewJudge: glossary_hits · runJudge · JUDGE_SYSTEM_PROMPT · judgeModel · TEMPERATURE 0 · parseJudgeResponse · FOUR-SECTION XML · VERBATIM CHUNKS · severity · critique_for_retry · judge_citation · missingHardGates · TRIGGER ABSENT = PASS · judge.scoredHard Gate: ICU PLACEHOLDER · INLINE TAG · FORBIDDEN ALTERNATIVE · hard_gate_fail · hardGatePassed · glossary_compliance · cps_budget_compliant · icu_validity · inline_tag_preserved · length_constraint · HARD GATE FIRST · missingHardGates · TRIGGER ABSENT = PASSScore: HARD GATE FIRST · computeVerdict · cottonEvalScore · WEIGHTED AVERAGE · tone_register · personality_consistent · emotional_state_match · cultural_marker_preserved · accuracy · pivot_register_carry · auto_approve_threshold · failingDimensions · approval_gate · judge.scoredIntake: processXlsxBytes · classifySheetName · parseGoogleSheetsUrl · source_file · content_sha256 · extractStageDirection · speaker_key · ingest_session · segment.ingested · github.push.receivedCheckpoint: translation_progress · last_completed_step · turn_translated · turn_judged · finalized · jobEntryGuard · SELECT FOR UPDATE · attempt_count · DEFAULT_MAX_RESUME_ATTEMPTS · TWO-TX SPLIT · ON CONFLICT DO NOTHINGSpend Control: llm_plan · costCap · cost_ceiling_usd · rateLimit · FailoverDispatcher · haltOnQuota · detectQuotaFromStream · quota_daily_exhausted · auth_revoked · NO AUTO-SWAP · needs_credential · POST /:id/resumeStale Sweep: COTTON_ADAPTER_CONCURRENCY · NODE_OPTIONS · attempt_count · runStaleSweep · STALE_THRESHOLD_INTERVAL · DLQ_ATTEMPT_CAP · LIMIT 200 · re_enqueued · dead_lettered · ORPHAN RE-ENQUEUE · IN-FLIGHT SET · /health/queues · maxStalledCount · needs_reviewApproval: auto_approve_threshold · ingest_session · SELECT FOR UPDATE · needs_credential · POST /:id/resume · POST /:id/approve · POST /:id/unapprove · POST /:id/reject · APPROVE_FROM · REJECT_FROM · needs_review · reviewer_id · HITL · approval_gate · translation.approved · EDIT & APPROVE · actor_idCorrection: POST /:id/correct · corrected_text · CORRECT_FROM · EDIT & APPROVE · human_corrected_segments · human-corrected-after-mt · translation.human_corrected · supersedes · NEW REVISION · IMMUTABLE HISTORYAudit Trail: turn_count_to_final · severity · judge_citation · content_sha256 · segment.ingested · github.push.received · translation.approved · human_corrected_segments · translation.human_corrected · IMMUTABLE HISTORY · event_log · appendNextEvent · ULID · AGGREGATE VERSION · translation_state_log · actor_id · llm_call_log · telemetryHook · judge.scored · translation.refined

Balai, pakartojimai ir žmogaus peržiūra – kiekvienas savo riboje.

Generavimas ir vertinimas dalijasi žodynu, o teisėjo modelio praneštos griežtojo slenksčio nesėkmės negalima kompensuoti vidutiniu balu. Tarpinės vertimo ir vertinimo būsenos įrašomos, pakartojimų ir kainos limitai laikomi atskirai nuo išnaudotų prisijungimo duomenų, o užstrigusios užduotys grąžinamos į eilę ar peržiūrai, priklausomai nuo priežasties.

Šis darbo projektas į vieną srautą sujungia vertimų generavimą, modelio pateikiamą kokybės vertinimą, pakartojimus ir žmogaus peržiūrą.

Nuo saugyklos pradžios iki bendradarbiavimo metu patvirtinto darbo

Žiniatinklio programa su vertimų redagavimo ir patvirtinimo ekranais, API ir užduočių apdorojimo procesu, veikianti kūrimo aplinkoje.

Vertinimo eigos žemėlapis · pagal privačius įgyvendinimo įrašus
Cotton: vertimų vertinimas · pakartojimas · atkūrimasAPI komituoja šaltinio tekstą ir tikslines kalbas į duomenų bazę, tada kiekvienai tikslinei kalbai įdeda užduotį į eilę. Worker užrakina eilutę, patikrina bandymą, sukuria juodraštį ir pažangos būseną, generuoja vertimą su žodynu ir atskirai kviečia teisėjo modelį su tuo pačiu žodynu. Vertimas (Tx1) ir vertinimas su įrodymais (Tx2) įrašomi atskirose transakcijose. Kodas agreguoja vertinimą taip, kad griežtojo slenksčio nesėkmė nebūtų kompensuota vidurkiu: sėkmė finalizuojama, nesėkmė gauna dar vieną ėjimą, ėjimų ar kainos limitas perduoda žmogaus peržiūrai, o kvotos ar autentifikavimo signalas sustabdo išlaidas ir laukia prisijungimo duomenų patikros. Užstrigusių peržiūra žiūri iki 200 juodraščių, senesnių nei 10 min: tas, kuris turi likusių bandymų, bet jo nėra eilėje, vėl įdedamas į eilę, o išnaudojęs bandymus siunčiamas peržiūrai ar prisijungimo duomenų patikrai, priklausomai nuo rezultato buvimo.Šaltinis · tikslinės kalbosIšsaugoti segmentaiŽmogaus peržiūraneeds_review · ne patvirtinimasPrisijungimo duomenų patikraneeds_credentialAPI · užduočių registracijaEilė po komitoUžduočių eilėBullMQ · užduoties IDUžduoties įėjimasEilutės užraktas · bandymo patikraŽodynas · kontekstasDarbo srities žodynasVertimo ėjimasGeneravimas · modelio iškvietimasTeisėjo modelio iškvietimas · analizėVerdikto taisyklėsGriežtasis slenkstis · svertinis vidurkisPakartojimas · išlaidosĖjimai · kaina · kvotaVertimo būsenaJuodraštis · pažangaVertimo · vertinimo eilutėsBūsena · iškvietimų žurnalasFinalizavimasGalutinė transakcijaEilės patikraEilės būsenos palyginimasUžstrigusių peržiūraJuodraščiai senesni nei 10 min · daugiausia 200Įvestis · eilėGeneravimas · vertinimasBūsena · priėmimasAtkūrimas · žmogaus sprendimas1šaltinis2po komito3 užduoties pristatymas · BullMQ · užduoties ID → Eilutės užraktas · bandymo patikra34pažangos eilutė5bandymas leidžiamas1žodynas2 tas pats žodynas · Darbo srities žodynas → Teisėjo modelio iškvietimas · analizė23Tx1 · vertimas4Tx2 · vertinimas5 balai · slenksčiai · Teisėjo modelio iškvietimas · analizė → Griežtasis slenkstis · svertinis vidurkis56verdiktas7pass8galutinis įrašas1verdiktas2kitas ėjimas3limitas · nutraukimas4kvota · autentifikavimas5rankinis tęsimas1užstrigęs juodraštis2 mažiau už limitą · Juodraščiai senesni nei 10 min · daugiausia 200 → Eilės būsenos palyginimas23vėl į eilę4 rezultatas yra · Juodraščiai senesni nei 10 min · daugiausia 200 → Žmogaus peržiūra45rezultato nėra

Registracija → įėjimas

Į eilę įdedama po komito į duomenų bazę; worker užrakina eilutę, patikrina bandymą ir sukuria juodraštį.

  1. Šaltinis · tikslinės kalbosDuomenys: šaltinisEilė po komitoAPI · užduočių registracija

    Šaltinio segmentai ir projekto tikslinės kalbos išsaugomi duomenų bazėje. Kliento duomenys nerodomi.

  2. Eilė po komitoAPI · užduočių registracijaDuomenys: po komitoBullMQ · užduoties IDUžduočių eilė

    Po komito į duomenų bazę kiekvienai aktyviai tikslinei kalbai į eilę įdedama užduotis su užklausos ribose nustatytu ID. Jei įdėti į eilę nepavyksta, tik registruojamas įspėjimas, o komitas neatšaukiamas (nėra atomiško outbox), – todėl ir egzistuoja užstrigusių peržiūra.

  3. BullMQ · užduoties IDUžduočių eilėPaleidimas · sprendimas: užduoties pristatymasEilutės užraktas · bandymo patikraUžduoties įėjimas

    BullMQ asinchroniškai perduoda užduotį worker.

  4. Eilutės užraktas · bandymo patikraUžduoties įėjimasDuomenys: pažangos eilutėJuodraštis · pažangaVertimo būsena

    Transakcijos viduje pažangos eilutė užrakinama ir sukuriamas vertimo juodraštis. Automatiniai finalizuotų ar dėl prisijungimo duomenų pristabdytų užduočių pakartojimai praleidžiami; rankinės užklausos apdorojamos atskirai.

  5. Eilutės užraktas · bandymo patikraUžduoties įėjimasPaleidimas · sprendimas: bandymas leidžiamasGeneravimas · modelio iškvietimasVertimo ėjimas

    Bandymų skaičius neviršijant limito padidinamas vienetu, tada prasideda vertimo ėjimas.

Generavimas → vertinimas → finalizavimas

Generavimas ir vertinimas naudoja tą patį žodyną; vertimas ir vertinimas įrašomi atskirai, o kodas agreguoja vertinimą prieš finalizuodamas.

  1. Darbo srities žodynasŽodynas · kontekstasDuomenys: žodynasGeneravimas · modelio iškvietimasVertimo ėjimas

    Surandami darbo srities žodynas ir kontekstas ir perduodami generavimui.

  2. Darbo srities žodynasŽodynas · kontekstasDuomenys: tas pats žodynasTeisėjo modelio iškvietimas · analizėVertimo ėjimas

    Vertinimas gauna tuos pačius žodyno apribojimus.

  3. Generavimas · modelio iškvietimasVertimo ėjimasDuomenys: Tx1 · vertimasVertimo · vertinimo eilutėsVertimo būsena

    Modelis kviečiamas tiesiogiai arba per tarpinę en-US, o iškvietimas, įvykis ir pažanga įrašomi viena transakcija. Jei užduotis paleidžiama iš naujo po strigties, vertimo iškvietimas ir jo kaina gali pasikartoti.

  4. Teisėjo modelio iškvietimas · analizėVertimo ėjimasDuomenys: Tx2 · vertinimasVertimo · vertinimo eilutėsVertimo būsena

    Teisėjo balai ir įrodymai įterpiami vieną kartą kiekvienam vertimui ir ėjimui; dublikatas suranda esamą eilutę, o citatos įrašomos tik pirmojo įterpimo metu. Tai ne ta pati transakcija kaip vertimas.

  5. Teisėjo modelio iškvietimas · analizėVertimo ėjimasDuomenys: balai · slenksčiaiGriežtasis slenkstis · svertinis vidurkisVerdikto taisyklės

    Teisėjo modelio atsakymas išanalizuojamas į balus pagal matmenis ir slenksčių rezultatus. Ar žodynas išlaikytas, praneša teisėjo modelis.

  6. Griežtasis slenkstis · svertinis vidurkisVerdikto taisyklėsPaleidimas · sprendimas: verdiktasĖjimai · kaina · kvotaPakartojimas · išlaidos

    Bet kuri pranešta griežtojo slenksčio nesėkmė reiškia nulį ir nesėkmę; tik tada taikomi svertinis vidurkis ir matmenų slenksčiai. Bendras 8.0 slenkstis yra numatytoji konfigūracijos reikšmė, o ne stebėta vertimo kokybė.

  7. Ėjimai · kaina · kvotaPakartojimas · išlaidosPaleidimas · sprendimas: passGalutinė transakcijaFinalizavimas

    Sėkmė finalizuojama kaip translated.

  8. Galutinė transakcijaFinalizavimasDuomenys: galutinis įrašasBūsena · iškvietimų žurnalasVertimo būsena

    Kandidatas, būsena, balas ir ėjimai finalizuojami, o pažangos finalizavimas ir būsenų žurnalas įrašomi viena transakcija. Vertimo užbaigimo įvykis skleidžiamas tik esant translated.

Pakartojimas · išlaidų limitai

Neišlaikius – dar vienas ėjimas; limitas reiškia žmogaus peržiūrą; kvota ar autentifikavimas sustabdo išlaidas ir laukia, kol operatorius pratęs.

  1. Griežtasis slenkstis · svertinis vidurkisVerdikto taisyklėsPaleidimas · sprendimas: verdiktasĖjimai · kaina · kvotaPakartojimas · išlaidos

    Bet kuri pranešta griežtojo slenksčio nesėkmė reiškia nulį ir nesėkmę; tik tada taikomi svertinis vidurkis ir matmenų slenksčiai. Bendras 8.0 slenkstis yra numatytoji konfigūracijos reikšmė, o ne stebėta vertimo kokybė.

  2. Ėjimai · kaina · kvotaPakartojimas · išlaidosPaleidimas · sprendimas: kitas ėjimasGeneravimas · modelio iškvietimasVertimo ėjimas

    Neišlaikęs vertimas generuojamas iš naujo su ankstesniu vertimu ir kritika. Net griežtojo slenksčio nesėkmę pirmiausia galima bandyti dar kartą, užuot iškart perdavus žmogui.

  3. Ėjimai · kaina · kvotaPakartojimas · išlaidosPaleidimas · sprendimas: limitas · nutraukimasŽmogaus peržiūra

    Kai ėjimai išnaudojami ar pasiekiama kainos lubų riba, užduotis finalizuojama kaip needs_review. Finalizuota reiškia, kad apdorojimas baigtas, o ne kad žmogus patvirtino.

  4. Ėjimai · kaina · kvotaPakartojimas · išlaidosNesėkmė · limitas: kvota · autentifikavimasPrisijungimo duomenų patikra

    Kvotos ar autentifikavimo signalas sustabdo išlaidas ir nustato needs_credential. Automatinio perjungimo į kitą paskyrą ar tiekėją nėra. Perdavimo klaidos be sustabdymo signalo grąžinamos BullMQ pakartojimams.

  5. Prisijungimo duomenų patikraPaleidimas · sprendimas: rankinis tęsimasBullMQ · užduoties IDUžduočių eilė

    Prisijungimo duomenis patikrinęs operatorius aiškiai paleidžia iš naujo.

Užstrigusių užduočių atkūrimas

Seni juodraščiai skirstomi pagal priežastį: nesant eilėje – vėl į eilę, išnaudojus bandymus – žmogaus sprendimas.

  1. Juodraštis · pažangaVertimo būsenaStebėjimas · ataskaita: užstrigęs juodraštisJuodraščiai senesni nei 10 min · daugiausia 200Užstrigusių peržiūra

    Perskaitoma iki 200 kandidatų, kurie juodraščiais būna ilgiau nei 10 minučių, pradedant seniausiais. Užklausa neima užrakto, o atnaujinimai ir žurnalai vykdomi atskirais sakiniais, todėl tai neaprašoma kaip paketas be lenktynių sąlygų.

  2. Juodraščiai senesni nei 10 min · daugiausia 200Užstrigusių peržiūraPaleidimas · sprendimas: mažiau už limitąEilės būsenos palyginimasEilės patikra

    Turint mažiau bandymų nei limitas (3), užduotis lyginama su eilės būsenomis active, waiting, delayed ir prioritized. Kode išnaudotų bandymų šaka eina prieš šią eilės patikrą.

  3. Eilės būsenos palyginimasEilės patikraPaleidimas · sprendimas: vėl į eilęBullMQ · užduoties IDUžduočių eilė

    Jei užduoties eilėje nėra, ji vėl įdedama į eilę. API naudoja ID su užklausos priesaga, o peržiūra ieško pagal segmento ir kalbos ID, todėl tai neaprašoma kaip atitikimas kiekvienai vykdomai užklausai.

  4. Juodraščiai senesni nei 10 min · daugiausia 200Užstrigusių peržiūraPaleidimas · sprendimas: rezultatas yraŽmogaus peržiūra

    Išnaudojus visus 3 bandymus ir esant vertimo rezultatui, užduotis pereina į needs_review.

  5. Juodraščiai senesni nei 10 min · daugiausia 200Užstrigusių peržiūraPaleidimas · sprendimas: rezultato nėraPrisijungimo duomenų patikra

    Išnaudojus visus 3 bandymus ir nesant rezultato, užduotis pereina į needs_credential.

Visi ryšiai vienodo storio. Pasirinkite srautą, kad būtų paryškintas tik jo kelias su sunumeruotais žingsniais.

  • Ištisinė · įvesties, rezultatų ir įrašų kryptis
  • Brūkšninė · paleidimas, sprendimas, užklausa
  • Ilga taškinė · stebėjimas ir ataskaitos, atskirai nuo sprendimo
  • Trumpa brūkšninė · nesėkmė, sustabdymas, limitas
  • Stora juoda linija · pasirinktas srautas; skaičiai rodo tvarką
  • Rėmelis · kodo ar būsenos riba, pavadinta antraštėje
  • Vidinė plokštelė · tos ribos komponentas
  • Taškinis rėmelis · už tos ribos
  • Oranžinis kontūras · kur sprendžia modelis
  • Generavimas · išlaidos · finalizavimas
  • Įėjimas · verdikto taisyklės · peržiūra
  • Eilė · būsena · įrašai
  • Registracija · eilės patikra

Nubraižyta pagal privačius įgyvendinimo ir kūrimo įrašus. Klientų duomenys ir kodo keliai nerodomi.

Viena peržiūra
May 26, 2026, vienas peržiūros ciklas kūrimo aplinkoje: 200 patikrinta, 106 būsenų perėjimai, 2 vėl eilėje. Būsenos perėjimas nėra sėkmingas vertimas, o 106 pasiskirstymas pagal paskirties būsenas neužfiksuotas.
Kodėl ne lygiai vieną kartą
Įrašai rašomi be dublikatų, bet jei užduotis paleidžiama iš naujo po strigties, modelio iškvietimai ir jų kaina gali pasikartoti. Lygiagretumo limitas taikomas kiekvienam procesui, o ne visam klasteriui.
Verdikto apimtis
Tai, kad vidurkis negali uždengti žodyno nesėkmės, yra praneštų slenksčių agregavimo taisyklė. Ji neįrodo, kad rastas kiekvienas draudžiamas terminas ar kad kokybė prilygsta gimtakalbio lygiui.