🤖 AI駆動開発
AI コーディングツールを活用した開発手法、AI との協働プラクティス、Gemini など生成 AI を組み込んだアプリケーション開発まで。
AI 駆動開発が積み上げる技術的負債:短期最適化バイアスと、DDD・SOLID・Atomic Design が崩れる構造
GitClear・METR・DORA など最新実証研究と Kent Beck / Addy Osmani / ThoughtWorks Technology Radar の警鐘を引きながら、AI が大規模リファクタを避け DDD・SOLID・Atomic Design を崩す構造的理由を解説。ステアリング駆動開発(実践編)の序章。
リファクタリング総点検ガイド — 7 つの観点と進め方【実践編 第2章】
「リファクタリングをするに当たって、どこを見ればいいのか」に答える第I部の扉。CTS-EC が本番前の総点検で実際に使った 7 つの観点(DDD/SOLID/BC・フロントエンド構造・Python ジョブ・テスト品質・パフォーマンス・セキュリティ・a11y)を、典型負債・機械ガード・拠り所とする開発手法・実録章への対応つきの地図として整理し、安全網 → 定量棚卸し → 1 観点 1 ステアリング → 機械ガード固定という進め方の型を示す。
DDD/SOLID/BC 編 — god class 1,545 行の解体と「allowlist で逃がすな」【実践編 第3章】
本番前の .NET バックエンド総リファクタの実録。互換コードを一切残さない決断、god class 5 件を「200 行物理ゲート + Coordinator/Strategy」で解体、旧テスト 4,564 行の削除、BC 越境を Read 専用 Port で断ち切り default-deny の越境テストで固定するまで。オーナーの一言「allowlist で逃がすな」が設計を変えた瞬間と、第I部全体を貫く 4 つの型を宣言する。
SAGA 編 — Fix 率 44% の発散を「同型性契約」で止め、再発を常設機械ガードで封じる【実践編 第4章】
分散処理 SAGA という新アーキテクチャに挑戦し、後発 SAGA が 29 日で Fix 率 44% と発散した実録。障害 6 連発の解剖から同型性契約 C-1〜C-10 を帰納し、検査スクリプトと例外台帳で固定。DefaultTenant/OCC の default-deny アーキテクチャテスト(allowlist 64 件)、「database-per-worker 計画を実態調査で捨てて 1 行で根治」した flaky 対策、そして機械検出不能な残余 3 経路をクロスファミリーレビューに配線するまで。
Atomic Design リファクタ編 — 47 page を「新規移植アプローチ」で 5 日で分離し、負債 43,500 行を消すまで【実践編 第5章】
動いているフロントエンド 45+ page を Smart/Dumb 分離へ移行した実録。「既存をリファクタしない。退避 → generator → 写経で新規に作る」アプローチで工数 40% 削減、legacy 約 43,500 行削除・正味 −12,000 行。完了基準を grep 機械検証 9 ゲートで固定し、State 二重保持や as unknown as キャストなど移植で得た教訓まで全て公開する。
Storybook × a11y 実機編 — 「テストは緑、でも無スタイル DOM を検査していた」を実機で暴くまで【実践編 第6章】
WCAG 準拠を test-storybook で機械ゲート化した実録。SB9+ では axe-playwright が不要になっていた公式仕様の裏取り、build-storybook の styles 欠落で axe が無スタイル DOM を検査していた実機発見、styled 再検査で露出した color-contrast 52 件、zoneless Angular の aria-invalid 罠まで — 「テスト緑 ≠ 検査できている」の教科書的事例。
テスト品質・網羅性編 — カバレッジは「上げる」前に「正しく測る」。偽の穴・計測盲点・1,124 行の隠れコピペ【実践編 第7章】
Python ジョブ群をカバレッジ 96% 一律ゲート化し、.NET/フロントエンドの計測負債を解消した実録。計画値 72% vs 実測 29% の乖離、テストレビュアーが発見した production+test 約 1,124 行の完全コピペ、丸ごと計測除外されていた BC、0% クラス 47 個中 22 個が「偽の穴」だった話、そして ratchet 方式での段階引き上げまで — %稼ぎをせずカバレッジと向き合う方法。
Python ジョブ群編 — 握り潰された except は 3 箇所ではなく 8 箇所あった。スタブ・enum 三重定義の一掃【実践編 第8章】
AI が量産しがちな Python の「静かな負債」を一掃した実録。NotImplementedError スタブの二世代併存を実態調査でまとめて削除、LLM レスポンス parse の except-pass 握り潰しをゼロベースライン確認で 3 → 8 箇所に拡張検出、振る舞いが微妙に違う enum 三重定義の統合、複数行 grep やコメント誤検出と戦う機械ガードの細部まで。
パフォーマンス編 — 「数えるだけ」が 52.7 秒かかり SAGA を止めた。そして最適化が障害の元凶になった【実践編 第9章】
件数カウントが全件マテリアライズで statement_timeout を踏み、リトライ経由で SAGA 全体を止めた障害の解剖(COUNT 化で 500 倍改善)。5 属性完全一致キャッシュをコサイン類似度キャッシュ(閾値 0.95・pgvector)へ刷新した設計と、その最適化が後に「Create Chunk 重量化の元凶」と名指しされ契約 C-1/C-8 で正しい置き場所に戻されるまで — 性能改善も、アーキテクチャ契約の中でやる。
セキュリティ編 — token をログに書かせない arch-test、YAGNI で消す勇気、「ローカル緑でも本番 400」の罠【実践編 第10章】
第I部最終章。トークン平文ログを grep ベースのアーキテクチャテストで構造禁止し、呼び出しゼロの認可コードを YAGNI で削除し、CORS の localhost を本番だけ閉じる — その過程で踏んだ「.NET 10 は record の検証属性を param target で要求し、[property:] だと 400 を返す」という実挙動の罠と、design-reviewer の SHOULD 指摘が的中した CORS 訂正劇。セキュリティ負債の返済も、機械ガードと実挙動検証で。
マルチ LLM オーケストレーションの台頭とクロスファミリー検証 — Sakana Fugu から Codex×Claude まで【シリーズ総論】
複数の AI モデルを束ねる動きが 2026 年に一気に加速した。Sakana Fugu のような「学習されたオーケストレーション」製品の登場と、Codex×Claude のクロスファミリー検証運用。マルチ LLM の 2 つの系統(オーケストラ型とチェック・アンド・バランス型)を整理し、実プロジェクトで標準運用に至った全 6 回シリーズの見取り図を示す。
「Codex 実装 → Claude レビュー」+18.1pt 論文を裏取りする — 両者のレビューは何が違うのか【クロスファミリー検証 第2回】
「Codex 実装 → Claude レビューが最良(+18.1pt)、逆方向は有害(−8.6pt)」という KDD '26 論文の数値を一次ソースで照合し、桁まで一致することを確認した記録。Claude と Codex のレビュー観の違い(自己検証の重さ・high-recall と precision・自己レビューの非対称)を、論文と自環境実測の両面から整理する。
指示書からパイプラインへ — finder/verifier 分業・二層の網・逆順の構造的禁止【クロスファミリー検証 第3回】
「Codex 実装 → Claude レビュー」を実運用に落とす設計編。4 つの原則、役割分担、TDD+DDD ワークフロー、コンテキストエンジニアリング規約、決定論ゲート+特性化テスト+golden set の防御網、Definition of Done、そして汎用指示書を自プロジェクトに翻案するときに変えた点・変えなかった点を全て記す。
Red テストは verifier 家族の資産 — テスト改ざんガード・レビュー漏れの機械クローズ・自己評価遮蔽【クロスファミリー検証 第4回】
クロスファミリー検証の威力を底上げする、見落とされがちな層 — ハーネスとステアリング。TDD の Red テストを Claude(verifier 家族)の資産として Codex から checksum で機械保護し、レビュー漏れを三層ゲートで構造的に塞ぎ、handoff から実装者の自己評価を遮蔽する設計を詳解する。
Claude Code の中から Codex を動かす — MCP を使わない判断と sandbox の地雷【クロスファミリー検証 第5回】
クロスファミリー検証で最も泥臭かった実装の記録。MCP でなく codex exec + シェルを選んだ積極的理由、Dev Container で bwrap sandbox を成立させる 3 条件、「sandbox 全滅でも exit 0」という最大の地雷、sudo で逆に壊れる罠、そして運用判断を埋め込んだ exit code 意味論まで。
Fable 5・Sonnet 5・Opus 4.8 の使い分けと golden set 実測 —「買うか、組むか」【クロスファミリー検証 第6回・最終回】
クロスファミリー検証パイプラインのモデル戦略編。Claude 5 ファミリー(Fable 5 / Sonnet 5)と Opus 4.8 のティア割当、effort 運用(xhigh 下限の構造的保証)、Fable 5 をサブエージェントに使わない理由、golden set v1 の自環境実測、承認と実証の分離、Sakana Fugu 時代の「買うか組むか」の判断軸で締める。
クロスファミリー検証の最終型 —「正しく作る」から「自分で正しさを測り直す」へ【終章】
ステアリング駆動開発(実践編)シリーズ終章。検証を強制するハーネスに欠けていた「計測」の層を、独立に同じ思想へ到達していた個人開発ハーネスとの相互レビューから取り込む。finding-level 台帳・モデルドリフト検知・実痛駆動の剪定 —「完成」とは終わることではなく、自分の劣化を自分のデータで検出するループが閉じることである。
CI テスト 29 分 → 5.6 分 — 実測が「有力仮説」を殺し、退行前より速くなった日【番外編】
ステアリング駆動開発(実践編)番外編。第II部で組み上げた検証エンジンが「平時の 1 タスク」をどう流すかの実録。CI のテストジョブが数日で 14 分 → 29 分に倍増した性能退行を、起票から実測・オーナー承認・Codex 実装・CI 実測まで 1 日で是正する。design-reviewer が有力仮説の機序誤認を暴き、Phase 1 実測が 770 倍差で決着をつけ、最後は退行前の 11.5 分すら「健全ではなかった」ことが判明するまで。
GPT-5.6 sol に 2 日で準拠する — CLI 更新が黙って替えるモデルと、当日中の golden set 再計測【番外編】
ステアリング駆動開発(実践編)番外編第 2 弾。GPT-5.6 sol GA の 2 日後、Codex CLI の更新が finder の実効モデルを gpt-5.5 から gpt-5.6-sol へ黙って切り替えた。サーバー側で替わる Claude のエイリアスと、CLI バイナリ側で替わる Codex の既定 —「もう一つのデフォルト追従」を実測で特定し、台帳への明文化・v1 較正チェック・難化 golden set v2 の本測(recall 天井と precision の家族差)まで、モデル世代交代の当日フルコースを記録する。
遊休 90% の枠に仕事を振る — Codex 上流調査・段別モデル・verifier バッチ化【番外編】
ステアリング駆動開発(実践編)番外編第 3 弾。Claude 側のサブスク枠がタイトな一方、Codex Pro は遊休 90% 超 — この非対称を、逆順禁止の骨格を一切崩さずに解消する。「read-only 調査は逆順か」という解釈問題を ADR で確定し、調査に偽装した逆順・欠落バイアスという残余経路まで塞ぎ、verifier バッチ化をスクリプト変更ゼロで成立させるまで。枠の経済もハーネス設計の一部である、という 1 日の実録。
ハーネスが単一プロジェクトを卒業する — cts-harness プラグイン化・二層配布・バージョンピン【番外編】
ステアリング駆動開発(実践編)番外編第 4 弾。CTS-EC で 3 か月運用したハーネスを、CTS-POS / CTS-LOGI / CTS-AD への展開に向けて共通プラグイン cts-harness へ切り出した実録。プラグインで配れる層とリポジトリの一部であるべき層の二層分割、ホストリポジトリ契約と「静かに exit 0」ガード、共有してはいけないものの線引き、そして「EC だけ先行しても他プロジェクトは動かない」を version + SHA のプロジェクト別ピンで機構化するまで。初稿で「未実走」とした更新サイクルは同日中の v0.2.0 リリースで実走 — 主張が観測に変わるところまでを含めた実録。
69分で5リリース — Claude Opus 5 当日対応が暴いた共通ハーネスの死角【番外編】
Claude Code 共通ハーネスを Opus 5 へ当日移行。69 分で 5 回のリリースを重ね、公開後も v0.13.2 まで model 指定、teammate の定義本文欠落、hook スキーマの無言回帰を修正した実録。
ステアリング駆動開発とは:AI コーディング時代の新しい開発ワークフロー
Claude Code など AI コーディングツールを本気で業務投入するための開発手法「ステアリング駆動開発」の全体像。壁打ち・規模判定(S/M/L)・ステアリング作成・実装・完了までの統一フローを 9 本シリーズで解説する導入編。
壁打ち・規模判定編:ステアリング駆動開発のファーストステップ
ステアリング駆動開発における「壁打ち(背景/目的/スコープ/既存資産/代替案の 5 観点)」と「S/M/L 規模判定」の実践手順。brainstorm.md の書き方、ADR 昇華の基準、L 規模シグナルのチェックリストまでを CTS-EC の運用例で解説します。
ステアリング作成編:M/L 規模のドキュメント設計と TDD タスク分解
ステアリング駆動開発における M 規模 4 ファイル・L 規模 8 ファイル構成の書き方、参照実装テーブル、TDD 2 ステップ分解のタスク粒度、タスクリストの運用ルールを CTS-EC の運用例で解説します。
実装・完了編:TodoWrite 連携と tasklist.md 同時更新、アーカイブ運用
ステアリング作成後の実装フェーズで必須となる TodoWrite と tasklist.md の同時更新、Phase 完了時の検証ゲート、tasklist-archive.md への移動、/steering-complete によるアーカイブまでの運用を解説します。
コンテキスト設計編:AI に渡すコンテキストを最適化する skills と prepare-context
ステアリング駆動開発におけるコンテキストエンジニアリングの実装。Prompt Cache 5 分 TTL を意識した skills 設計、context-preparer による Iterative Retrieval、strategic-compact による compact タイミング判断を CTS-EC の運用例で解説します。
品質ゲート編:doc-reviewer、テスト品質チェック、受入テスト
ステアリング駆動開発の 5 段品質ゲート。doc-reviewer / design-reviewer の 2 段レビュー、型別テスト網羅性チェック、implementation-validator の 7 観点、Stryker.NET によるミューテーションテスト、Evidence Gate、pre-push 統合ゲートまでを CTS-EC の運用で解説します。
Claude Code ベストプラクティス:CLAUDE.md・hooks・skills 統合運用
ステアリング駆動開発を支える Claude Code の .claude/ 構成。CLAUDE.md の 10 必須ルール、hooks による自動品質ゲート、commands の責務分割、skills の when-to-use 設計、rules 層を skills に統合した運用を CTS-EC の実例で解説します。
Agent Teams 編:12 体のサブエージェント構成とマルチエージェント並列協調
ステアリング駆動開発を支える Claude Code サブエージェント 12 体の責務分割、並列起動パターン 5 種、実験的機能 Agent Teams(tmux split-pane)の DevContainer 前提の安全運用、bypassPermissions の使い所までを CTS-EC の実例で解説します。
Claude Code リモートコントロール:CLI セッションをスマホ・Web から操る
Claude Code v2.1.51+ で追加された Remote Control 機能の実践ガイド。claude.ai/code と iPhone / Android アプリから、ローカルで動いている Claude Code セッションを監視・指示・承認できる。長時間タスク中に席を外すためのセキュリティモデル・設定・制限事項を解説します。
Google AI Studio 入門 — 課金の仕組み・APIキー取得・料金体系の全体像
Gemini を業務投入する前に押さえる Google AI Studio の課金構造、Free Tier から Tier 3 のレート制限、APIキー発行と漏洩対策、料金体系と請求確認、予算アラート設計までを実務目線でまとめる。シリーズ「Gemini AI プラットフォーム活用」第 1 回。
Gemini モデル選定とマルチモーダル活用 — Flash / Pro / Flash-Lite と画像・動画・音声・PDF 入力
Gemini 2.5 Flash / Pro / Flash-Lite と 3 Pro の用途別選び方、画像・動画・音声・PDF のマルチモーダル入力、1M トークンコンテキストの使い分け、Embedding 次元削減まで実装目線で解説。シリーズ「Gemini AI プラットフォーム活用」第 2 回。
Batch API で Gemini を 50% 安く使う — 非同期バッチ処理とマルチモーダル対応
Gemini Batch API は通常の 50% オフで動く非同期バッチ。インライン / JSONL の 2 方式、マルチモーダル対応、Context Caching との併用可否、Flash-Lite × Batch の最強コスパ構成を実装例つきで解説。シリーズ「Gemini AI プラットフォーム活用」第 3 回。
Python で Gemini を扱う実装ガイド — テキスト生成・Embedding・Vision・モデル切替
Gemini API を Python から呼ぶ実務コードを総まとめ。認証、テキスト生成、Embedding、PIL / Base64 / File API での画像入力、構造化出力、リトライまでを実装テンプレで提示。シリーズ「Gemini AI プラットフォーム活用」第 4 回。
Vertex AI 移行ガイド(基本編)— AI Studio からエンタープライズ運用への橋渡し
Gemini を AI Studio から Vertex AI へ移す基本編。`vertexai=True` の SDK 切替、IAM / VPC-SC / SLA 差分、Provisioned Throughput の判断、移行チェックリストまで(Batch API は Part 6)。シリーズ第 5 回。