プログラミングできないけど、3日でリアルタイム翻訳ツールをつくれた話

はじめに

NTT西日本 ミライ事業共創室の西村です。
今回は業務とは関係なく、趣味として取り組んだ技術チャレンジについてご紹介します。

私はプログラミングが得意ではなく、コードを見ると「暗号かな??」と思ってしまうほどでした(´;ω;`) そんな自分でも、生成AIに助けてもらいながら2024年6月ごろ、わずか3日でリアルタイム翻訳ツールを完成させることができました

なお、今回の取組みは業務とは切り離した個人プロジェクトです。

この記事では、その誕生からOSS公開・デモ公開までの歩みをまとめ、さらに読んだ方が持ち帰れる「開発プロセスの工夫」や「現時点でのベストプラクティス」を共有させていただきたいと思います。

開発したツールをイベント利用した際の写真。翻訳がスムーズに表示され、会場の参加者にも安心して楽しんでいただけました。@QUINTBRIDGE


対象読者

この記事はこんな方に向けています:

  • プログラミングが苦手でも、AIと一緒にモノづくりをしてみたい人
  • 業務外で技術チャレンジをしてみたい社会人・学生
  • AIを活用して最小構成のプロトタイプ開発に挑戦したいエンジニア
  • まず動くものを作るスタイル(Vibecoding)に共感する人

背景:通訳がいない!?

きっかけは、あるイベントでの課題でした。
日本語を話せないゲストが登壇する予定でしたが、同時通訳ができるメンバーはおらず、予算的にも通訳を依頼することは難しい状況でした。

「ゲストの話が伝わらないのは困る。でも通訳なしでどうすればいいの?」

悩んでいたときに思いついたのが、生成AIを使ったリアルタイム翻訳でした。


開発プロセスと工夫

  1. アイデアの共有と仕様の壁打ち
    まずは自分のやりたいこと・必須要件を明確にしてAIに伝えました。
    私の場合は:

    • 大画面スクリーンに投影したい
    • PCで動かしたい
    • 翻訳はリアルタイムで表示したい

    これをChatGPTに壁打ちすると、Python + Whisper + GPT-4o + OBS Studioという構成に落ち着きました。
    この「仕様を固める工程」が一番大事だと実感しました。

    下記のような構成で実装しました。

    構成

  2. コード生成
    ChatGPTにコードを書いてもらい、そのままコピーペースト。
    翻訳の品質が安定しないときは、「録音時間を少し延ばしたい」「表示を短く区切りたい」と自然言語で指示してチューニングしました。

    ※補足 当時はGPT-4oがリリースされたばかりで、長いコードを生成させると出力が途中で切れ、省略されることもしばしばありました。
    そのため、動くように調整するのに時間がかかったのも事実です。
    今ではCursorやClaudeCode等があり、長いコードも安定して出力できるので、これから試す方にはこちらをおすすめします。

  3. エラー対応
    エラーが出たときは「ここが動きません」と伝えるだけで修正コードを提示してくれるので、ひたすらトライ!

  4. 改善
    操作方法やレスポンスを調整し、イベント本番で使えるレベルにブラッシュアップしました。


成果と反響

2024年6月、わずか3日で初期版が完成。(業務後に徹夜💪)
イベント本番では、ゲストのスピーチをリアルタイムで翻訳しスクリーンに表示。参加者は言語の壁を感じることなく楽しむことができました。

ゲスト様:「スピーチが伝わって嬉しい!」
参加者:「翻訳が自然でわかりやすい!」
社内:「こんなツールを作った社員がいる」と紹介され話題に

自分としても「AIがあればプログラムができなくても本当に使えるものが作れるんだ」という大きな自信になりました。

なお、初期版では英語→日本語の翻訳にのみ対応していました。

完成後、このツールはパッケージ化して他のイベントでも使える形に進化させました。 手順書を整備して社内に共有し、これまでに3回以上の大きなイベントで活用されています。 (ちなみにパッケージ化の方法もChatGPTに相談して学びました)

さらに2025年7月には双方向対応(日⇄英)を実現させました。 当時最新だったClaude Codeを活用することにチャレンジし、そちらで修正を実施。 結果、わずか1時間程度でアップデートに対応できたのは大きな学びでした。

 ちなみに  ClaudeCodeはProプラン(現時点で月17ドル)でも十分に動作し、この規模の改善は簡単にできてしまいました。
200ドルの上位プランも試しましたが、日⇄英対応などはProで十分でしたので、参考にしていただければと思います。

ClaudeCodeでの開発風景です。個人環境(WSL)で実施しており、社内情報・個人情報は一切含まれていません。


OSS公開への挑戦

最終的にはこの翻訳ツールをOSSとして公開しました。 GitHubを本格的に使ったのは初めてでしたが、ClaudeCodeに教えてもらいながらPushまで実装。
ユーザ名の記載や不要ファイル削除といった細かい点は社外の有識者様からアドバイスいただきましたが、
基本的な部分はClaudeCodeに任せて問題なく進められ、初心者でもAIを頼れば一人でOSS公開できることを実感しました。
 #ご協力いただいた有識者様に感謝🙏

ClaudeCodeはMCPでGitHub操作までやってくれるので非常に便利でしたが、 Windowsユーザの場合はWSLの設定が少しハードルでした。 ここはGPTに壁打ちしながら調整し、無事に環境を整えることができました。 「最初は動かなくてもAIに聞けば解決できる」という安心感を強く感じました。

また、OSS版ではバッチファイルを整備し、コマンド操作に慣れていない人でも簡単に起動できるよう工夫しています。 実際に触っていただいて、環境構築から起動まで短時間で体験していただけたら嬉しいなと思います。

github.com

さらに、このOSSをベースに翻訳UIをClaudeCodeのみで実装したデモも公開しています。 精度はOSSをそのまま動かすより低いのが課題ですが、イメージは掴んでいただけると思います。 利用にはOpenAIのAPIキーが必要です。

デモページ: https://translate.mintan.org/ 
使い方イメージ動画:
youtu.be

 ⚠️ 注意事項   デモページはあくまで個人で試験的に公開しているものです。
精度や安定性はOSSそのままの利用よりも低く、動作保証はしていません。
ご利用は自己責任でお願いします。

私自身も、英語話者とミーティングをするときにこのツールを個人で動かして、 英語を日本語にリアルタイム翻訳しながら理解を深めるのによく活用しています。 イベントだけでなく日常の学びやコミュニケーションにも役立つので、ぜひ試してみてください✨


動かす→課題→改善:Vibecoding的な実践知

  • まず動かして課題を明確化する
    実際に作ってみて初めて「翻訳の区切り方」や「表示のしやすさ」が課題になることが分かりました。
    さらにイベント利用や他者からのフィードバックを通じて、日⇄英対応専門用語への対応他PCでの導入のしやすさといった具体的な改善ニーズが見えてきました。
    このサイクルが改善を重ねる大きな原動力になっていて、振り返るとデザイン思考やアジャイルの実践に近い進め方そのものだったなと感じています。 Vibecodingと組み合わせると相性が良く、とても気に入っているやり方です。

  • 誰でも触れるようにする工夫
    改善の過程で、コマンド操作に慣れていない人でも使えるようにバッチファイルを整備したり、OSSとして公開したり、ブラウザから試せるデモUIを用意するなど、「触りやすさ」を意識して工夫を重ねました。

  • 現時点の課題と今後の挑戦
    現状は openai==0.28.1 に依存しており、最新バージョンだとうまく動作しないという制約があります。
    また、Mac対応が未完了のため、今後はここを重点的に改善していきたいと考えています。


現時点での個人的ベストプラクティス

今回の開発を通じて、自分なりに見えてきた「AI開発の進め方」を整理しました。

  1. 課題から入ること
    何かをAIで作ろうとすると、あれもこれもと機能を盛り込みすぎてしまい、結果的に使いにくいものになることが多い。
    まず「解決したい課題」を起点にし、必要最小限の機能に絞って実装する(MVP的に)ことが大切だと感じました。

  2. 仕様検討はGPTで壁打ちする
    要件を伝えると、構成・技術選定を精度高く返してくれる。
    ClaudeやGeminiも試しましたが、仕様整理はGPTが最も的確に感じました。

  3. 実装・テストはClaude Codeで進める
    仕様を伝えて実装する際は現時点ではClaude Codeが使いやすく、特に改善やデバッグのやりとりがスムーズでした。

  4. 改善 → 他者に見せる → (できれば)OSS化
    最小構成で作り、改善しながら他の人に使ってもらう。
    フィードバックを取り入れ、必要に応じてOSSとして公開できるとより広がりやすいかと思います。


まとめ

今回の経験を通じて、私は「プログラミングができなくても、AIを頼れば作れる」ことを強く実感しました。
そして、作ったものをOSSとして公開することで、自分の課題解決が他の誰かの役にも立つ可能性が広がることも学びました。

今までは分厚い技術書を読んで「何をしているか分からないけどとりあえず進める」学習スタイルでした。
しかし今は分からないところをAIに聞きながら、周辺知識も自然に身につけられるようになり、学習が格段にやりやすくなりました。
これは特に初学者やノンプログラマにとって大きな助けになると感じています。

小さな不便を起点にしたチャレンジが、思いがけず大きな広がりにつながる。
この記事が、誰かの「やってみよう!」の一歩につながれば嬉しいです。

もしこの記事を読んで「自分も試してみたい」と思った方は、ぜひ感想をシェアしていただけると励みになります 🙌

最後まで読んでいただき、ありがとうございました!



商標

  • 「GPT™」「ChatGPT™」「Whisper™」は、OpenAI社の商標または登録商標です。
  • 「Claude™」は、Anthropic社の商標または登録商標です。
  • 「Cursor™」は、Cursor社の商標または登録商標です。
  • 「OBS Studio™」は、OBS Projectの商標または登録商標です。
  • 「Python®」は、Python Software Foundationの登録商標です。
  • 「Linux®」は、Linus Torvalds氏の米国およびその他の国における登録商標です。
  • 「Windows®」は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。
  • 「Mac®」および「macOS®」は、Apple Inc. の米国およびその他の国における登録商標です。
  • 「GitHub®」は、GitHub, Inc. の米国およびその他の国における登録商標です。
  • 「YouTube™」は、Google LLC の商標または登録商標です。

執筆者
西村奈々(NTT西日本 経営企画部 ミライ事業共創室)
R&D組織での経験を活かしつつ、技術起点での事業開発に取り組んでいます。
現在はブロックチェーンとVerifiable Credentialsを活用したデジタルコンテンツの真正性強化と、そのビジネス適用に挑戦中です。

QUINTBRIDGE

© NTT WEST, Inc.