バイブコーディング
アンドレー・カルパシー
バイブに身を任せ、指数関数的な処理を好み、コードの存在すら忘れてしまうようなコーディング
常に全てを承認、diffは読まない、エラーメッセージが出たらコメントなしでコピペすればたいていは解決する
hysysk.icon仕事のコードでまだこの域にはいけないが、趣味で全然詳しくない言語なら感覚が分かる  https://x.com/karpathy/status/1886192184808149383
漢字の読み取りや入力はできるけど書けないみたいなことになりそう
Addy Osmaniが本を書いている
読んで考える必要がある
根源的に新しい抽象化や訓練データを超える戦略は作れない
決定の責任は取らない
何を作るか、どう構造化するか、なぜ作るか、は人間の領域
70%は生産性向上するが、残りの30%は訓練されたプログラマの技術が必要
Two steps back
妥当と思われたAIのコードによって問題が引き起こされ、それをAIで解決しようとしてもできないアンチパターン
The Golden Rules of Vibe Coding
欲しいものを明確にする
意図と違っていないか確認する
ジュニア開発者として扱う
思考を置き換えるのではなく能力を拡張するものとして使う
チームで使い始める前に調整する
開発の会話で普通に使う
Gitのコミットを分ける
人が書いたコードもAIが書いたコードもレビューする
理解できないコードをマージしない
ドキュメント、コメント、アーキテクチャ決定レコードを優先する
有効なプロンプトを共有して使い回す
定期的に振り返って繰り返す
やってみた感想
AIがどういう風に思考して実装していくかを追うことで学びがある
点の知識が繋がる
SQLファイルが重い→レコード数や記述量を集計
エラーハンドリング、ログの取り方
しばらくメンテナンスされていなかったプロジェクトの更新や引き継ぎが不十分なプロジェクトで助かる
エンジニアがシェルスクリプトで解決していたような課題の敷居が下がった
プロンプティング
Zero-Shot
ただモデルにやることを伝える
例やガイダンスを加えない
One-Shot, Few-Shot
タスクを実行する前に例を示す
Chain-of-Thought (CoT)
ステップバイステップで考える、または最終回答を出す前に理由を示す
問題を分割して考える
Role
あるアイデンティティや役割を与えて回答させる
「あなたはPythonのインストラクターです」「セキュリティ分析者として振る舞ってください」など