Hymyilevä puuvillahahmo alkuperäisestä Cotton-logosta, tausta ja tekstit poistettuina
Takaisin saliin

Cotton

Translation workflow

Generoiduista käännöksistä katselmoitavia tuloksia.

Pelien dialogin käännöstyönkulku.

2026.05.06 — 2026.05.26

Työprojekti · käännösten käsittely, tuomio ja katselmointipolku

  • VerkkosovellusToteutettu · kehitysympäristö

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

Pisteet, uusinnat ja ihmisen katselmointi, kukin omalla rajallaan.

Generointi ja tuomio jakavat sanaston, eikä tuomarimallin raportoimaa pakollisen portin epäonnistumista voi kompensoida keskiarvolla. Käännöksen ja tuomion välitilat kirjataan, uusinta- ja kustannusrajat pidetään erillään loppuun käytetyistä tunnistetiedoista, ja jumiutuneet työt palaavat jonoon tai katselmointiin syyn mukaan.

Tämä työprojekti yhdistää käännösten generoinnin, mallin raportoiman laatutuomion, uusinnat ja ihmisen katselmoinnin yhdeksi virraksi.

Repositorion alusta toimeksiannon aikana vahvistettuun työhön

Käännösten muokkaus- ja hyväksyntänäkymistä, API:sta ja työprosessorista koostuva verkkosovellus, joka toimii kehitysympäristössä.

Tuomiovirran kartta · yksityisistä toteutuskirjauksista
Cotton: käännöksen tuomio · uusinta · palautusAPI commitoi lähdetekstin ja kohdekielet tietokantaan ja asettaa sitten työn jonoon kutakin kohdekieltä kohden. Worker lukitsee rivin, tarkistaa yrityksen, luo luonnoksen ja edistymistilan, generoi käännöksen sanaston avulla ja kutsuu tuomarimallia erikseen samalla sanastolla. Käännös (Tx1) ja tuomio näyttöineen (Tx2) kirjataan erillisissä transaktioissa. Koodi koostaa tuomion niin, ettei pakollisen portin epäonnistumista kompensoida keskiarvolla: hyväksytty viimeistellään, hylätty saa uuden vuoron, vuoro- tai kustannusraja lähettää sen ihmisen katselmointiin, ja kiintiö- tai todennussignaali pysäyttää kulut ja odottaa tunnistetietojen tarkistusta. Vanhentuneiden tarkistus käy läpi enintään 200 yli 10 minuuttia vanhaa luonnosta: jonosta puuttuva, jolla on yrityksiä jäljellä, asetetaan uudelleen jonoon, ja yrityksensä käyttänyt menee katselmointiin tai tunnistetietojen tarkistukseen sen mukaan, onko tulos olemassa.Lähdeteksti · kohdekieletTallennetut segmentitIhmisen katselmointineeds_review · ei hyväksyntäTunnistetietojen tarkistusneeds_credentialAPI · työn rekisteröintiJonoon commitin jälkeenTyöjonoBullMQ · työn IDTyön sisääntuloRivilukko · yrityksen tarkistusSanasto · kontekstiTyötilan sanastoKäännösvuoroGenerointi · mallikutsuTuomarimallin kutsu · jäsennysTuomiosäännötPakollinen portti · painotettu keskiarvoUusinta · kulutVuorot · kustannus · kiintiöKäännöksen tilaLuonnos · edistyminenKäännös- · tuomiorivitTila · kutsulokiViimeistelyLopullinen transaktioJonon tarkistusJonon tilan vertailuVanhentuneiden tarkistusYli 10 min vanhat luonnokset · enintään 200Syöte · jonoGenerointi · tuomioTila · hyväksyntäPalautus · ihmisen päätös1 lähdeteksti · Lähdeteksti · kohdekielet → Jonoon commitin jälkeen12 commitin jälkeen · Jonoon commitin jälkeen → BullMQ · työn ID23 työn toimitus · BullMQ · työn ID → Rivilukko · yrityksen tarkistus34edistymisrivi5yritys sallittu1sanasto2 sama sanasto · Työtilan sanasto → Tuomarimallin kutsu · jäsennys23Tx1 · käännös4Tx2 · tuomio5 pisteet · portit · Tuomarimallin kutsu · jäsennys → Pakollinen portti · painotettu keskiarvo56tuomio7pass8lopullinen kirjaus1tuomio2seuraava vuoro3raja · keskeytys4kiintiö · todennus5manuaalinen jatkaminen1vanhentunut luonnos2alle rajan3uudelleen jonoon4 tulos olemassa · Yli 10 min vanhat luonnokset · enintään 200 → Ihmisen katselmointi45ei tulosta

Rekisteröinti → sisääntulo

Jonoon tietokantacommitin jälkeen; worker lukitsee rivin, tarkistaa yrityksen ja luo luonnoksen.

  1. Lähdeteksti · kohdekieletData: lähdetekstiJonoon commitin jälkeenAPI · työn rekisteröinti

    Lähdesegmentit ja projektin kohdekielet tallennetaan tietokantaan. Asiakasdataa ei näytetä.

  2. Jonoon commitin jälkeenAPI · työn rekisteröintiData: commitin jälkeenBullMQ · työn IDTyöjono

    Tietokantacommitin jälkeen jonoon asetetaan pyyntökohtaisella tunnisteella työ kutakin aktiivista kohdekieltä kohden. Jos jonoon asettaminen epäonnistuu, vain varoitus lokitetaan eikä commitia peruta (ei atomista outboxia), minkä vuoksi vanhentuneiden tarkistus on olemassa.

  3. BullMQ · työn IDTyöjonoSuoritus · arvio: työn toimitusRivilukko · yrityksen tarkistusTyön sisääntulo

    BullMQ luovuttaa työn workerille asynkronisesti.

  4. Rivilukko · yrityksen tarkistusTyön sisääntuloData: edistymisriviLuonnos · edistyminenKäännöksen tila

    Transaktion sisällä edistymisrivi lukitaan ja käännösluonnos luodaan. Jo viimeisteltyjen tai tunnistetietojen vuoksi pysäytettyjen töiden automaattiset uusinnat ohitetaan; manuaaliset pyynnöt käsitellään erikseen.

  5. Rivilukko · yrityksen tarkistusTyön sisääntuloSuoritus · arvio: yritys sallittuGenerointi · mallikutsuKäännösvuoro

    Yritysmäärä kasvaa yhdellä rajansa sisällä, minkä jälkeen käännösvuoro alkaa.

Generointi → tuomio → viimeistely

Generointi ja tuomio käyttävät samaa sanastoa; käännös ja tuomio kirjataan erikseen, ja koodi koostaa tuomion ennen viimeistelyä.

  1. Työtilan sanastoSanasto · kontekstiData: sanastoGenerointi · mallikutsuKäännösvuoro

    Työtilan sanasto ja konteksti haetaan ja välitetään generoinnille.

  2. Työtilan sanastoSanasto · kontekstiData: sama sanastoTuomarimallin kutsu · jäsennysKäännösvuoro

    Tuomio saa samat sanastorajoitteet.

  3. Generointi · mallikutsuKäännösvuoroData: Tx1 · käännösKäännös- · tuomiorivitKäännöksen tila

    Mallia kutsutaan suoraan tai en-US-pivotin kautta, ja kutsu, tapahtuma ja edistyminen kirjoitetaan yhdessä transaktiossa. Jos työ ajetaan uudelleen kaatumisen jälkeen, käännöskutsu ja sen kustannus voivat toistua.

  4. Tuomarimallin kutsu · jäsennysKäännösvuoroData: Tx2 · tuomioKäännös- · tuomiorivitKäännöksen tila

    Tuomaripisteet ja näyttö lisätään kerran käännöstä ja vuoroa kohden; kaksoiskappale löytää olemassa olevan rivin, ja lainaukset kirjoitetaan vain ensimmäisellä lisäyksellä. Ei sama transaktio kuin käännöksellä.

  5. Tuomarimallin kutsu · jäsennysKäännösvuoroData: pisteet · portitPakollinen portti · painotettu keskiarvoTuomiosäännöt

    Tuomarimallin vastaus jäsennetään ulottuvuuskohtaisiksi pisteiksi ja porttituloksiksi. Sanaston läpäisy on se, mitä tuomarimalli raportoi.

  6. Pakollinen portti · painotettu keskiarvoTuomiosäännötSuoritus · arvio: tuomioVuorot · kustannus · kiintiöUusinta · kulut

    Mikä tahansa raportoitu pakollisen portin epäonnistuminen tarkoittaa nollaa ja hylkäystä; vasta sitten sovelletaan painotettua keskiarvoa ja ulottuvuuskohtaisia kynnyksiä. Kokonaiskynnys 8.0 on konfiguraation oletusarvo, ei havaittu käännöslaatu.

  7. Vuorot · kustannus · kiintiöUusinta · kulutSuoritus · arvio: passLopullinen transaktioViimeistely

    Hyväksytty viimeistellään tilaan translated.

  8. Lopullinen transaktioViimeistelyData: lopullinen kirjausTila · kutsulokiKäännöksen tila

    Ehdokas, tila, pisteet ja vuorot viimeistellään, ja viimeistelty edistyminen sekä tilaloki kirjoitetaan yhdessä transaktiossa. Käännös valmis -tapahtuma lähetetään vain tilalle translated.

Uusinta · kulurajat

Ei läpäisyä tarkoittaa uutta vuoroa; raja tarkoittaa ihmisen katselmointia; kiintiö tai todennus pysäyttää kulut ja odottaa operaattorin jatkamista.

  1. Pakollinen portti · painotettu keskiarvoTuomiosäännötSuoritus · arvio: tuomioVuorot · kustannus · kiintiöUusinta · kulut

    Mikä tahansa raportoitu pakollisen portin epäonnistuminen tarkoittaa nollaa ja hylkäystä; vasta sitten sovelletaan painotettua keskiarvoa ja ulottuvuuskohtaisia kynnyksiä. Kokonaiskynnys 8.0 on konfiguraation oletusarvo, ei havaittu käännöslaatu.

  2. Vuorot · kustannus · kiintiöUusinta · kulutSuoritus · arvio: seuraava vuoroGenerointi · mallikutsuKäännösvuoro

    Läpäisemätön käännös generoidaan uudelleen edellisen käännöksen ja kritiikin kanssa. Pakollisen portin epäonnistumistakin voidaan ensin yrittää uudelleen sen sijaan, että se menisi suoraan ihmiselle.

  3. Vuorot · kustannus · kiintiöUusinta · kulutSuoritus · arvio: raja · keskeytysIhmisen katselmointi

    Kun vuorot loppuvat tai kustannuskatto saavutetaan, työ viimeistellään tilaan needs_review. Viimeistelty tarkoittaa, että käsittely päättyi, ei sitä, että ihminen hyväksyi sen.

  4. Vuorot · kustannus · kiintiöUusinta · kulutEpäonnistuminen · raja: kiintiö · todennusTunnistetietojen tarkistus

    Kiintiö- tai todennussignaali pysäyttää kulut ja asettaa tilan needs_credential. Automaattista vaihtoa toiseen tiliin tai mallitoimittajaan ei ole. Siirtovirheet ilman pysäytyssignaalia palaavat BullMQ:n uusintaan.

  5. Tunnistetietojen tarkistusSuoritus · arvio: manuaalinen jatkaminenBullMQ · työn IDTyöjono

    Tunnistetiedot tarkistanut operaattori käynnistää uudelleen erikseen.

Vanhentuneiden töiden palautus

Vanhat luonnokset jaetaan syyn mukaan: jonosta puuttuva asetetaan uudelleen jonoon, yrityksensä käyttänyt menee ihmisen päätettäväksi.

  1. Luonnos · edistyminenKäännöksen tilaHavainnointi · raportti: vanhentunut luonnosYli 10 min vanhat luonnokset · enintään 200Vanhentuneiden tarkistus

    Enintään 200 yli 10 minuuttia luonnoksena ollutta ehdokasta luetaan vanhimmasta alkaen. Kysely ei ota lukkoa, ja päivitykset ja lokitus ajetaan erillisinä lauseina, joten tätä ei kuvata kilpatilanteettomaksi eräajoksi.

  2. Yli 10 min vanhat luonnokset · enintään 200Vanhentuneiden tarkistusSuoritus · arvio: alle rajanJonon tilan vertailuJonon tarkistus

    Kun yrityksiä on vähemmän kuin raja (3), työtä verrataan jonotiloihin active, waiting, delayed ja prioritized. Koodissa yritykset käytetty -haara tulee ennen tätä jonotarkistusta.

  3. Jonon tilan vertailuJonon tarkistusSuoritus · arvio: uudelleen jonoonBullMQ · työn IDTyöjono

    Jos työ ei ole jonossa, se asetetaan uudelleen jonoon. API käyttää pyyntöpäätteellisiä ID:itä, kun taas tarkistus etsii segmentin ja kielen ID:tä, joten sen ei kuvata vastaavan jokaista käynnissä olevaa pyyntöä.

  4. Yli 10 min vanhat luonnokset · enintään 200Vanhentuneiden tarkistusSuoritus · arvio: tulos olemassaIhmisen katselmointi

    Kun kaikki 3 yritystä on käytetty ja käännöstulos on olemassa, työ menee tilaan needs_review.

  5. Yli 10 min vanhat luonnokset · enintään 200Vanhentuneiden tarkistusSuoritus · arvio: ei tulostaTunnistetietojen tarkistus

    Kun kaikki 3 yritystä on käytetty eikä tulosta ole, työ menee tilaan needs_credential.

Kaikki yhteydet samalla painolla. Valitse virta, niin vain sen polku korostuu numeroiduin vaihein.

  • Yhtenäinen · syötteiden, tulosten ja kirjausten suunta
  • Katkoviiva · suoritus, arvio, pyyntö
  • Pitkät pisteet · havainnointi ja raportointi, erillään arviosta
  • Lyhyet katkot · epäonnistuminen, pysähdys, raja
  • Paksu musta viiva · valittu virta; numerot kertovat järjestyksen
  • Laatikko · koodin tai tilan raja, nimi otsakkeessa
  • Sisälaatta · rajan komponentti
  • Pisteviivalaatikko · rajan ulkopuolella
  • Oranssi ääriviiva · kohta, jossa malli päättää
  • Generointi · kulut · viimeistely
  • Sisääntulo · tuomiosäännöt · tarkistus
  • Jono · tila · kirjaukset
  • Rekisteröinti · jonotarkistus

Piirretty yksityisistä toteutus- ja kehityskirjauksista. Asiakastietoja ja koodipolkuja ei näytetä.

Yksi tarkistuskierros
26.5.2026, yksi kehitysympäristön tarkistuskierros: 200 tarkistettu, 106 tilasiirtymää, 2 uudelleen jonoon. Tilasiirtymä ei ole onnistunut käännös, eikä 106:n jakautumista kohdetiloittain ole kirjattu.
Miksi ei täsmälleen kerran
Kirjaukset kirjoitetaan ilman kaksoiskappaleita, mutta jos työ ajetaan uudelleen kaatumisen jälkeen, mallikutsut ja niiden kustannukset voivat toistua. Rinnakkaisuusraja on prosessikohtainen, ei koko klusterin laajuinen.
Tuomion laajuus
Se, ettei keskiarvo voi peittää sanastovirhettä, on koostamissääntö raportoitujen porttien yli. Se ei todista, että jokainen kielletty termi löytyy tai että laatu on natiivitasoa.