AI時代、コードレビューは仕様レビューになる
AI が仕様から実装、テスト、contracts まで生成できるようになると、人間が最も大きなレバレッジを発揮する仕事は上流へ移る。最も厳しく吟味すべきものは、仕様そのものだ。
AI と一緒に数週間でもリリースを回していれば、この感覚にはもう覚えがあるはずです。 PR を開く。コードは十分きれいだ。命名も悪くない。テストもある。見た目には明らかな破綻はない。なのに、どこかがおかしい。 境界が少し曖昧なのかもしれない。contract…
AI ファースト開発、コーディングガードレール、使い捨て前提のアーキテクチャを探求します。
AI が仕様から実装、テスト、contracts まで生成できるようになると、人間が最も大きなレバレッジを発揮する仕事は上流へ移る。最も厳しく吟味すべきものは、仕様そのものだ。
AI と一緒に数週間でもリリースを回していれば、この感覚にはもう覚えがあるはずです。 PR を開く。コードは十分きれいだ。命名も悪くない。テストもある。見た目には明らかな破綻はない。なのに、どこかがおかしい。 境界が少し曖昧なのかもしれない。contract…
AI-generated code を production で持たせたいなら、code review だけでは足りません。type constraints から mutation testing、runtime containment までの layered safety stack が必要です。
AI-generated code の危険なところは、常に間違っていることではありません。 危険なのは、merge できてしまう程度には正しく見えることです。 そこが本当のリスクです。明らかに壊れている code は止まります。もっともらしく見え、いくつかの happy-path tests を通り、しかも重要な…
この言葉が刺さるのは、チームが実際に動き続ける要件、固定の締切、半分しか固まっていない作業範囲の中で開発しているからです。Autotomy は幻想的な計画を直せませんが、開発を止めない構造は作れます。
日本の現場でいうメテオフォール型開発です。終点だけ先に決まり、停車駅は途中で変わり、予算は「何とかする前提」で置かれ、開発側は列車がもうすぐ出ることになっている状態で線路を敷かされる。そういう進め方です。 このミームが面白いのは、現実のチームで本当に何度も起きているからです。…
Stanford CS146S を AIアーキテクチャの観点からレビューし、AI coding への評価は正しい一方で、置き換え可能性を支える設計規律が欠けている点を批評します。
Stanford CS146S は、正式には CS146S: The Modern Software Developer という授業です。担当は Mihail Eric で、2025年秋に初めて開講されたコースです。授業の公式な概要や syllabus の確認には themodernsoftware.dev…
Design by contract、property-based testing、mutation testing、model checking は悪い考え方だったわけではありません。継続運用に必要な専門知が重すぎただけです。AI はその前提を変えます。
ソフトウェアエンジニアリングには、読んだ瞬間に「これは正しい」と分かる考え方がたくさんあります。 function が受け取ってよい値と返してよい値を contracts で定義するのは当然です。tests が数個の例だけでなく properties を検証するのも当然です。coverage…
AI なら React Native MVP をすばやく ship できるが、guardrails がなければ小さな変更ひとつで無関係な flow まで壊れる。速度を fragility に変えないための declarative constraints を説明します。
最初の Vibe coding フェーズは、信じられないほど生産的に感じられます。Cursor と Claude Code は login、dashboard、settings、push notifications まで一気に生成できるので、一人の創業者でも数日で MVP を live にできます。 問題が出るのは…
dev では問題ないのに、昼休みのあと戻ると白画面になる。ネイティブの lifecycle を正しく扱う resume status パターンを説明します。
Cursor で綺麗な Expo app を作った。Claude Code が auth flow、dashboard、settings screen を生成してくれた。出荷した。ユーザーも入った。すると DM が飛んでくる。 「昼休みのあと開くと白画面になるのはなんで?」 「なんで毎朝ログインし直しになるの?」…
optional SDK が core infrastructure と同じように初期化されると、app は起動直後に crash する。non-critical な tool が production を巻き込まないための dependency tier system を説明します。
Vibe-coded な mobile app でよくある launch failure は、analytics、attribution、crash reporting が、本当に critical な service と同列で初期化されてしまうことです。その optional SDK のひとつが特定の device…
Cursor で週末に MVP を出したのに、brand color を 1 つ変えるだけで 47 ファイルに find-and-replace が必要になる。出血を止める styling contract を説明します。
Cursor を開いて prompt を打ち、Claude Code が数秒で React Native UI を丸ごと生成するのを見た。Flex layout、角丸 button、color theme。全部一発で動く。TestFlight に出した。ユーザーも入り始めた。そこまでは week one の話です。…
LLM コードレビューは非決定的で遅く、アーキテクチャ違反を見逃す。コードを本当にクリーンに保つ O(1) ガードスタックを紹介します。
私のネットワークにいるある開発者が、CI のコードレビュアーとして Claude Code を設定しました。「Claude に PR をチェックさせればいい」と彼は言いました。「自分が見落とすものも拾ってくれるから。」私は同じ PR を Claude に 2 回かけてみるよう頼みました。 1…