-- Views
November 13, 25
スライド概要
GDG on Campus University of Osaka Organizer
University of Osaka スタンプラリー ごときの実装に 苦労した話 GDGoC Osaka Organizer いたこす
突如始まった まちかね祭企画 ● まちかね祭の 2 週間前 にやっと企画が決まった (初動が遅くなり、すみませんでした …) ● マジで 0 からの開発 「普通に考えて終わらん」 ● GitHub の “Spec Kit” っていうのが良いっていう噂を聞いた (悪夢の始まり )
Spec Kit とは? ● GitHub が 9 月に発表した 「仕様駆動開発」 のためのツール ● 明確な「仕様書」 を定義し、タスク分割 することで、 AI の出力を期待通りに収束させる
いいじゃん! AI で爆速で 開発しよう!
AI Coding で爆速開発! 1. PRD (要件定義書) と Design Doc (実装方針) を詳細に書く 2. Spec Kit で計画・タスク分解 3. Codex で機能を実装 4. 人間がレビュー 5. 終わり!
1. ドキュメントを書く Done!
2. Spec Kit Done!
3. Codex で実装 Done!
まずは スタンプを 獲得してみよう
4. レビュー! スタンプを獲得できない ● ● ● エラーのログが無い Firebase の設定は OK console.log() で ひたすら手動デバッグ
const useStampProgress = (attendeeId: string | null) => { const key = attendeeId === null ? null : createStampProgressKey(attendeeId); const fallbackData = createEmptyStampProgress(); const fetcher = () => attendeeId === null ? undefined : fetchStampProgress(attendeeId); return useSWR(key, fetcher, { fallbackData, revalidateOnFocus: false, }); });
const fetchStampProgress: StampProgressFetcher = async () => createEmptyStampProgress(); (゚Д゚)ハァ?
4. レビュー! スタンプを獲得できなかった原因 ● スタンプ獲得を記録する機能が未実装 ● Firestore Rules と Client 側の スキーマの不一致
最後に アンケートに 回答!
4. レビュー! アンケートを送信できない ● エラーログはあるが、あまり参考にならない ⨯ Error: Failed to submit survey to Google Forms. ● 結局関数を追って、 手動でデバッグ しなければならない
スタッフに 景品獲得 QR を 見せよう
4. レビュー! 特設スタッフログインページ …? す で い な (゚Д゚)ハァ? × 2
何が良くなかった? AI 自身で 動作確認できない 人間のレビューに 時間がかかる TypeScript は 学習源が良くない 現状の AI Agent では、 ブラウザの操作に難がある。 コード生成は高速でも、 人間がレビューする部分が ボトルネック に。 世には大量の TypeScript の コードがあるが、 読みにくい・品質の悪い コードも少なくない 人間のようにブラウザと コードを同時に操作 する デバッグは無理。 人間がコードを読み込むのを 効率よくできればいいのだが … 何か良い方法はないものか。 結果として AI は低品質な コードを学習 してしまう。 (Go は良いらしい? )
長期開発 に耐えうる AI Coding Agent は あと数年後か。 - いたこす
University of Osaka Thanks! GDGoC Osaka Organizer いたこす