Slide 1

Slide 1 text

Doc Translate LLM を活用したコードドキュメント自動翻訳VSCode 拡張機能 2025 年11 月8 日 開発組織のぷち改善ハッカソン! pythonista

Slide 2

Slide 2 text

自己紹介 益居、光田、武藤 株式会社ブレインパッド (OB 含む)  最近富士通に買収されることが 発表されました # 指南書本 技術評論社(共著:武藤) 2 / 18

Slide 3

Slide 3 text

目次 1. タイトル/ 課題 2. 洞察/ 発見 3. Demo (アーキテクチャ/ 技術選定) 4. 結果 3 / 18

Slide 4

Slide 4 text

タイトル/ 課題 4 / 18

Slide 5

Slide 5 text

Doc Translate LLM を活用したコードドキュメント自動翻訳VSCode 拡張機能 5 / 18

Slide 6

Slide 6 text

課題認識 社内のコードベースにおける認知負荷 社内で、英語と日本語のコメントが混在していたり、英語の みだったりするため、認知負荷が高いことが問題でした。 また、OSS のドキュメントやコメントも英語で書かれているため、 同様の課題がありました。 コードを読む際に言語切り替えが発生 理解速度が低下 レビュー効率の悪化 6 / 18

Slide 7

Slide 7 text

洞察/ 発見 7 / 18

Slide 8

Slide 8 text

開発過程で得られた洞察 1. Overlay での表示 + カーソル時のみ原文表示 ホバーではなく、overlay で翻訳を表示し、カーソルがある 時だけ原文を表示することで読みやすさが劇的に向上しました。 2. LSP を使うと言語ごとのパーサーが不要 Language Server Protocol を活用することで、 各プログラミング言語のパーサーを自作する必要がなくなり、開発が 大幅に効率化されました。 3. Vibe コーディングは楽しい AI に開発させて、お菓子食べながら楽しくできる。 8 / 18

Slide 9

Slide 9 text

Demo (アーキテクチャ/ 技術選定) 9 / 18

Slide 10

Slide 10 text

Doc Translate デモ 10 / 18

Slide 11

Slide 11 text

システムアーキテクチャ 11 / 18

Slide 12

Slide 12 text

技術選定とその理由 LLM プロバイダー Anthropic Claude ( デフォルト: Haiku 4.5): 高速・低コスト・高品質 OpenAI ( デフォルト: GPT-4o-mini): 広く使われている標準的な選択肢 Google Gemini ( デフォルト: 2.0 Flash): 新興プロバイダー、高速レスポンス 12 / 18

Slide 13

Slide 13 text

主要機能の実装 1. インライン翻訳表示(2 種類) コメント: after decoration で行末に表示 # Original comment → # 翻訳されたコメント Docstring: opacity: 0 で原文を隠し、before で翻訳を表示 """Original docstring""" → 翻訳されたdocstring カーソル時原文表示: 選択範囲と重なるdecoration を自動除外 13 / 18

Slide 14

Slide 14 text

主要機能の実装 2. バックグラウンド事前翻訳 ファイルオープン/ 保存/ タブ切り替え時に自動実行 キャッシュベース(なければ翻訳、あればスキップ) 並列翻訳(最大5 並列)でパフォーマンス最適化 Progressive translation (完了したブロックから順次表示) 3. 永続化キャッシュ SHA-256 ハッシュベース VSCode globalState に自動保存 拡張機能再起動後も保持 14 / 18

Slide 15

Slide 15 text

結果 15 / 18

Slide 16

Slide 16 text

Doc Translate で検索してください! ※ docTranslate.provider 、 docTranslate.ApiKey の設定が 必要です。 16 / 18

Slide 17

Slide 17 text

お菓子おいしかった (ありがとうございます) 17 / 18

Slide 18

Slide 18 text

Thank you! 18 / 18