$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

AI駆動開発大阪支部で「詳しくない分野でのVibe Codingで困ったことと学び」を発表してきました

AIコーディング関連で知見も溜まってきたので、「詳しくない分野でのVibe Codingで困ったことと学び」という発表をしてきました。発表資料を共有します。

speakerdeck.com

オンラインで3年ぶり、オフラインで6年ぶりの発表だったっぽい...久々で緊張しましたが、良い発表の機会を作ってくれた運営の皆さまありがとうございました!

以下、スライドを文字起こししたものです。

スライド文字起こし

今日話すこと

  • Vibe Codingで、サーバーサイドエンジニアが経験のないiOSアプリを作った
  • その中で困ったことと学びを紹介

初iOSアプリ開発のきっかけ

  • その日やる気を出すためだけのシンプルなTODOアプリが欲しかった
  • Vibe Codingによって、開発経験のないiOSアプリも簡単に高速に開発できるのでは?

実際に作ってリリースした!

  • Daily Do
  • AIをフル活用し、Vibe Codingで作り切れました

詳しくない分野でも簡単だった?困らなかった?

  • 簡単ではない!困りまくる!とにかく騙される!

どのように騙されたか

(1) 毎回一貫性のないアーキテクチャを提案される
  • コード生成ごとに違う方法を提案される
    • Viewだけで気合いでやる
    • やりすぎなClean Architecture
  • 基礎知識がないので判断つかない
(2) 古いやり方を提案される
  • データバインディングとして、最近はObservableがよく使われる
  • しかし、古いObservableObjectを提案される
  • 基礎知識がないので気づかない
(3) 問題に対して間違った対処を提案される
  • iCloud同期が本番でだけうまくいかない問題
  • このファイルのこの行を消すとうまくいくと提案
  • 消してみるとすべてが動かなくなる
  • 基礎知識がないので明らかにおかしい対応に気付けない

回り道をして、結局多くの時間を取られている...

困ってみての学び

0->1を作るための基礎知識だけは学ぶしかない

  • Vibe Codingは真似は得意だが、0->1は不安定で騙されやすい
  • 大変でも基礎知識は時間をとって学ぶ
  • たとえば
    • 良いアーキテクチャ
    • 今使うべき公式API
    • linterなどツールチェイン

幸い、AIの力で高速に基礎知識は学べる

(1) 自分専用書籍を作る
  • Deep Researchで特定の領域の詳しいまとめを作らせる
    • 例: SwiftUIのViewのライフサイクルを知りたい
  • 本を何冊か読むよりピンポイントに学べる

↓事例

(2) 自分専用ハンズオンを作る

↓事例

基礎さえ理解すれば高速になる

  • 基礎は頑張るしかないが、
  • 基礎さえ理解できていれば、AIをコントロールし、結果的にVibe Codingが高速になる
    • CLAUDE.mdで、理解したアーキテクチャを指示
  • 一度やれば同じ分野は一瞬に

まとめ

  • 詳しくない分野でのVibe Codingでは、言われているほど簡単でなく、回り道が多かった
  • 基礎知識だけは学ぶしかないが、AIを使って高速に学べる
  • 基礎さえ理解すればAIをコントロールし、高速に開発できる
  • Vibe Codingを扱うために、最初は基礎に時間をかけましょう