メインコンテンツへスキップ

champollion の仕組み

champollion は1つのコマンドでアプリのロケールファイルを翻訳します。内部で何が起きているかを説明します。

パイプライン

npx champollion sync を実行すると、champollion は6段階のパイプラインを実行します:

主要な設計上の決定:

  • SHA-256 ハッシュによる変更検出。 Champollion は .champollion.lock 内のハッシュですべてのソース値を追跡します。英語の文字列を更新すると、そのキーのみが再翻訳されます。これが、繰り返し実行時に sync が高速な理由です — 最小限の処理しか行いません。

  • 翻訳メモリのキャッシュ。 API 呼び出しを行う前に、champollion はキャッシュされた翻訳(ソーステキスト+ロケール+メソッドをキーとする)を .champollion/tm.json で確認します。1つのキーを変更した後の典型的な再同期では、142 個のキーがキャッシュから取得され、1 個のキーが API にアクセスします。

  • 書き込み前の品質チェック。 すべての翻訳は、ファイルに書き込まれる前に5つの自動チェック(空文字、ソースのエコー、幻覚ループ、長さの膨張、スクリプト準拠)を通過します。失敗はログに記録され、サイレントに受け入れられることはありません。

  • 失敗時のリトライカスケード。 バッチが失敗した場合(JSON パースエラー、API タイムアウト)、champollion は段階的に小さなバッチでリトライします:全体 → 半分 → 個別。これにより、残りの処理をブロックすることなく問題のあるキーを特定できます。

翻訳メソッド

Champollion は4つの翻訳メソッドをサポートしており、それぞれ異なるシナリオに適しています:

メソッド仕組み最適な用途
llm任意の OpenRouter モデルへの構造化プロンプトリソースが豊富な言語
llm-coached同じプロンプト+文法規則、辞書、スタイルノートLLM が予測可能なエラーを起こしやすい言語
google-translateGoogle Cloud Translation API バッチリクエストGT サポートが充実した高リソース言語
api独自エンドポイントへの HTTP POSTカスタムパイプライン、コミュニティ管理モデル

メソッドは言語ペアごとに設定します。フランス語には google-translate を使い、Plains Cree には llm-coached を使うといった具合に、各ペアに最適なメソッドを選択できます。

コーチングデータ

llm-coached ペアでは、コーチングデータによって LLM に明示的な言語知識(文法規則、強制用語、スタイルの好み)を与えます。これはすべてのプロンプトに構造化されたコンテキストとして注入されます。

coaching/crk.json
{
"grammar_rules": ["Animate nouns take different plural forms than inanimate nouns"],
"dictionary": {"welcome": "ᑕᓂᓯ", "settings": "ᐃᑕᐢᑌᐘᐃᓇ"},
"style_notes": "Use Standard Roman Orthography (SRO) unless explicitly configured otherwise."
}

コーチングデータは、モデルのファインチューニングなしに翻訳品質を向上させるための主要なメカニズムです。ルールを変更 → 同期を再実行 → 効果を確認。イテレーションは即座に行えます。

プラグイン

プラグインは、特定の言語ペア向けにパッケージ化された翻訳レシピです。コードではなく JSON マニフェストであり、使用するメソッド、設定内容、ベンチマーク済みの品質を champollion に伝えます。

champollion plugin install ./crk-coached-v3/
champollion sync # uses the installed plugin for en→crk

プラグインは研究と本番環境のギャップを埋めます:MT Eval Arena で高スコアを記録したメソッドをプラグインとしてパッケージ化し、ここにデプロイできます。

全体像

champollion は2つのエコシステムの一方を担っています:

  • MT Eval Arena — 再現可能なベンチマークによって翻訳メソッドが開発・検証される場所
  • champollion — 検証済みのメソッドが実際のコンテンツの翻訳にデプロイされる場所

Eval Harness Bridge が両者をつなぎます。Arena で実力を証明したメソッドがここにデプロイされます。本番環境からの話者フィードバックが次のバージョンの改善につながります。


さらに詳しく