これまでClineやCopilotなどを使って、LLMを使ったコーディングを試していました。そこで、日曜プログラム的立場で試してみようと、streamlitを使ったアプリケーションを作ってみたので、メモします。かかった時間は、動画見ながら4時間くらい。Debugや試行錯誤としっかり向き合ったのは2時間もありません。
出来たもの:
動画に翻訳キャプションをつけるStreamlitアプリです。テスト的なものなので、Whisperの予測モデルはsmall, 動作はcpu。文字おこしの精度はモデルなりです。
良かったところ:
悪かったところ:
- 古いライブラリを使ったり、古い記述にハマって進まなくなる時が・・・。ライブラリ勝手にdowngradeするのやめて・・・。
- 加えて類似のライブラリを使って混乱するのもやめて。今回のケースの場合は、whipserとwhisper-openai。
- 問題によっては解決がループする。
今回の手順とコメント:
- ChatGPT, Preprexityでざっくり調査して作りたいプログラムの骨子を作ってしまう。Preprexityは性能が上がっている気がして、最近よく利用します。もちろん、Grok 3やGeminiも気分応じて使います。
- 基本的なコードと、大まかな要件定義をClineに入れて動くようにする。
- 手直し。エラーを見ながら、github copilot + GPT-4.1の組み合わせがやり易かった。開いているコードがデフォルトで読み込まれるので指示しやすい。確認が多いのが難点だが、終盤で想定外の変更をされるより、結果的には手直しが少ない。
利用するライブラリを調査して、組み合わせを想定した上で要件を固めてから始めると、ストレスなく短時間で目的を達成します。Debugも含めて楽ちんでした。調査がめんどい場合は、とりあえず、実現したい簡単なメモをClineなどになげて、幾つかプログラムを作成させ、味見を通じて勘所を把握したあとに、要件をまとめて本番作成という手順が私には相性がよかった。勉強になるし。
感想:
streamlitを使ったアプリの場合は、いつまででもBug出しまくったりしていましたが、github copilot + GPT-4.1の組み合わせだと、頑張ってくれます。
APIや依存性情報や、自分のドキュメントを参照する仕組みは、今後、標準機能になるのではと考えています。MCPも盛り上がっていますが、個人的にはNotebookLMとつながってしまえば、いろいろはかどるのに・・・と思っています。