AIコーディングハンズオンの講師をやりました(株式会社DeNA様の事例)
DeNA 社様で AI コーディングの社内勉強会の講師をやってきました。
最近、フリーランスでこのような仕事を依頼されていることがあり、余裕があるときに請けています。AI コーディングの講師は 3 回目です。4 回目の予約も入っています。
この記事では、AI を使ったプログラミングの講師として受講者に伝えたかったことや、他の方が講師をするときに何を考えるべきか?を一応書き出して、まとめておきたいと思います。
ノウハウを秘匿しておいても自分の食い扶持にもなりそうではあるんですが、それ以上に AI コーディングが一般化してほしいと願っています。
事前準備
事前に作例のリポジトリは用意しておきます。が、これを意図的に使わないようにしています。
なぜなら、これをフォークしてしまうと、AI は既存実装を「チラ見」してしまいます。結果ゼロからプロンプティングして組み立てているという体験を損ねてしまいます。
本当にうまくいかなかったときに、checkout して 3 分クッキング方式でこういう風になります、というバックアッププランで用意していましたが、今のところ一度も使わずに済んでいます。
他に気をつけていること
- 自分の専用プロンプトや環境の専用の MCP を入れないようにします。
- ゼロからプロンプトを育てる、ということをコーディング体験に折り込みましょう
- 期待値コントロール
- とにかく動いてるところを見てもらいましょう
- 一度動いてるところを見れば、その挙動は(プログラマなら)非常に直感的です。
- 教材を用意して、それをなぞる、ということが出来ません
- ある程度のランダム性を折り込みましょう
- モデルが更新されたら、既存の資料は作り直しです
当日 (3 時間程度を想定)
だいたいやることは固定しています。
教材を固めている分、その場でブレる出力結果にアドリブで対応するようにしています。
- npm/typescript/vitest で TDD 環境の構築
- 簡単な add/distance 関数に対するテストを書いてみる
- AI は環境構築が苦手で、品質は初期ボイラープレートに強く依存
- 特に
.ts
の実行が下手
- ダイクストラ法による経路探索の実装
- AI は既知のアルゴリズムが大得意
- TDD で自動で走らせると、複雑なアルゴリズムで恩恵が大きいことを体感してもらう
- 依然、出力結果のバリデーションが大変。どうやる? => mermaid(graphviz) のグラフ可視化等
- AI は既知のアルゴリズムが大得意
- リアルワールドな TODO アプリ
- sqlite で CRUD の実装 (sqlite なのはセットアップコストを考慮)
- CLI インターフェースの作成
- CLI を人間が使ってみて、挙動を確認
- sqlite から prisma に移植
だいたい、ここまでデモしつつ概念を説明しながらやると 2 時間ちょっと超えるぐらいになります。
あともう一つは、要望に応じた適当なお題をやる、という枠にしています。
DeNA 社様の場合は、こういう記事が話題になっていたので、簡単なゲームを作ることにしました
企画を通すなら「生成 AI で作ったプロトタイプ」付きで――DeNA が一部部署で “書類だけ”は NG に - ITmedia AI +
自分の当日作ったゲームの作例
そのソースコード
わかったこと
当日は 200 人のエンジニアが参加していました。これだけいると単に TODO アプリを作ると言った単純なテーマでも、かなり個性が出て、講師としても面白かったです。当日やったヴァンパイアサバイバークローンは時間ギリギリで手をつけたので、自分が作るのに精一杯だったんですが、色々な人の作例を見て回りたかったです。
トイレ休憩時間に長めのワークフローをたてて放置する、といういつもの仕事の仕草を伝えられたのが良かった気がします。
課題として 7/10 17:00~20:00 にやっていましたが、Bedrock や色々なバックアッププランを用意してもらいましたが、この規模だと Anthropic 日本のリージョン全体が過負荷で怪しくなってしまったようでした。
この規模でやる場合、今度できるという Anthropic 社の日本支社に事前に相談したほうが良かった気がします。
最後に
このような社内勉強会の依頼も受けられます…と言いたいところですが、今仕事量が多すぎてパンクしています。時期や報酬で要相談となっています。
mizchi.work@gmail.com
Discussion