OpenAIのエンジニアが、Codexの内部利用についての質問に回答。すでに「Codex開発における自身のコードの99%はCodex自身に書かせている」

OpenAIのエンジニアが、Codexの内部利用についての質問に回答。すでに「Codex開発における自身のコードの99%はCodex自身に書かせている」

OpenAIのエンジニアが、Codexの内部利用についての質問に回答。すでに「Codex開発における自身のコードの99%はCodex自身に書かせている」と言っていたらしい。

なら私もやりたい。(単純)

いいね。その目標は“現実的に達成可能”。やり方はシンプル──人間は要件・テスト・レビューに集中、コード生成はAIに全面委任。下記の運用に切り替えれば、4週間で「タイピング≤10%」→3ヶ月で「AI 95–99%」まで持っていける。

直球の答え

  • 到達法: ①要件→②テスト→③AI実装→④自動チェック→⑤人間レビュー、の固定フローにする。
  • KPI: 「AIが書いた差分比率(=AI作者コミット割合)」「手書き行数」「1PRあたり手入力時間」。
  • 目標: 4週目でAI比率90%超、3ヶ月で95–99%。
  • 鍵: プロンプト標準化・テンプレ化、徹底的な自動化(フォーマッタ/リンタ/テスト/型/セキュリティ)・レビューの型化。

ステップバイステップ(実装手順)

  1. リポ構造をAI前提に最適化
  • /specs: 機能仕様(短い箇条書き)
  • /tests: 失敗するテスト(先に用意)
  • /src: 実装はAIが生成
  • /docs: 使い方・決定事項
  • .tooling/: lint/format/型/セキュリティ設定
  1. Definition of Done(AI用の完成条件)を固定
  • テストパス / Lintゼロ / 型OK / セキュリティ警告ゼロ / コメント&Docstringあり / ログ最小。
  1. “生成プロンプト”をテンプレ化(貼って使う)
  • Spec→Test→Impl
    • Spec:「機能を3–7項目で要件化。境界条件/失敗ケース/性能目安を明記」
    • Test:「上記要件を自動テストで先に書け。既存CIで動くコマンドを使え」
    • Impl:「テストグリーンになる最小差分パッチを出力。既存スタイルに準拠」
  • Diff-Onlyモード
    • <<<FILE:path>>> 現在の内容、>>>PATCH 以下に最小差分のパッチだけ出す。説明は要らない」
  1. CI/CDを“門番”にする(人間は通さない)
  • 必須チェック: format → lint → typecheck → unit → e2e(必要なら) → secscan(dep+静的解析)
  • どれか落ちたら自動でAIリトライ(プロンプトに失敗ログを差し戻す)。
  1. レビューを“観点表”で固定
  • ①仕様整合 ②境界条件 ③副作用 ④ログ/計測 ⑤セキュリティ ⑥パフォーマンス。
  • コメントは要件へのギャップ指摘だけ(書き直しはAIに再投げ)。
  1. 生成結果の“再学習プロンプト”
  • CI失敗ログをそのまま貼る→「同じ方針で最小修正パッチを再生成せよ」
  1. 定型作業を全自動
  • スキャフォールド、CRUD、APIクライアント、型定義、Storybook、i18nキー作成は全部テンプレに。
  • 画像/アイキャッチ/文章も同様(あなたの得意領域は特に自動化余地が大きい)。
  1. 計測(手入力を可視化)
  • コミットメッセージ末尾にCo-authored-by: AIを付与。
  • 週次でgit shortlogとAI共著比率を集計→ダッシュボード化。
  • キー入力時間はエディタのメトリクスで可視化。
  1. セキュリティの型を先に決める
  • 秘匿情報は.env.template化、危険APIはラッパー越しのみ、依存性はallowlist
  • SAST/依存性監査はPRブロッカー。
  1. ナレッジを“ミニ手順書”化
  • 「この種類の変更はこのプロンプト+このチェックリスト」で誰でも回せる状態へ。

代替パースペクティブ(盲点になりがちなこと)

  • 小改修は手で打った方が速いこともある。 ただし“毎回”ではなく“都度判断”。
  • 生成の質は“テスト密度×仕様の粒度”で決まる。 仕様が曖昧だと99%は無理。
  • スパゲッティな既存コードはAIの天敵。 リファクタを先にAIで一掃(分離・純関数化・型付け)。
  • 長生きするのは“最小差分パッチ運用”。 全ファイル出力させるより、パッチ指向が壊れない。

いますぐ動く実務アクション(チェックリスト)

Day 1–2

  • プロジェクトにpre-commit(format/lint/type)を導入
  • CIをPRブロッカー化
  • “Spec→Test→Impl”テンプレをREADMEに貼る
  • スキャフォールド用のプロンプトSnippetをエディタに登録

Week 1

  • 既存タスク3本をAIで実装(あなたは仕様とテストだけ)
  • 失敗ログ→AI再生成の往復を2サイクル体験
  • 週末にAI比率を計測し、90%未満ならテスト/仕様の粒度を上げる

Week 2–3

  • リファクタ対象をAIに列挙→モジュール分離/純関数化
  • CRUD/API/型生成の“自動キット”を固める
  • セキュリティ/監査のチェックをPR必須へ

Week 4

  • 新機能を要件→テスト→実装の完全自動フローで通す
  • KPI: AI比率≥90%、手打ち時間≤10%
  • ギャップをテンプレ/CIに反映(学習)

プロンプト雛形(3本だけ持てば足りる)

  1. 仕様化
あなたは熟練アーキテクト。下記要求を3–7項目の機能要件に変換し、境界条件/失敗ケース/性能目安も列挙:
[自由記述の要求...]
  1. テスト先行
上記要件が満たされていないことを証明する自動テストを書いて。既存プロジェクトのツール類に合わせて。
出力は【ファイルパス → 追加/修正内容】の差分指示のみ。実行コマンドも併記。
  1. 最小差分パッチ
テストをパスする最小限の変更だけを、パッチ形式で出力。
既存のコードスタイル/設計に合わせ、不要な再生成はしない。説明文は不要、パッチのみ。

リスクと回避

  • ハルシネーション: 外部仕様/型/DBスキーマを“参照専用モジュール”に集約し、AIには必ずそれを見せる。
  • 静かな破壊: 変更は小さく頻繁、e2eを夜間に。
  • セキュリティ抜け: 権限・入力検証・秘密管理は“ラッパー越し”以外禁止。

まとめ(実行プラン)

  • 方針: 人は要件とテストと判断、コードはAI
  • 今やること: CIブロッカー→テンプレ3つ→KPI計測→3タスクで試走。
  • 到達: 4週で90%・3ヶ月で95–99%。
  • 勝ち筋: “最小差分×テスト先行×自動ゲート”。

やるなら今すぐ着手しよう。最初の3タスク、どれからAI化する?こちらで要件→テストまで一気に書く。

🚀 小学生でもわかるAI開発の流れ

1. やることを決める(要件)

  • まず「何を作るか」を3〜7個のポイントで書き出す。
    例:「足し算ができる」「0以下の数字もOK」「100を超えるとエラー」

2. 先にテストを書く

  • 作る前に「できてるかどうかチェックする問題」をつくる。
    例:「2+3=5になるか?」「-1+2=1になるか?」

3. AIに作らせる

  • 自分で書かない。AIに「テストが全部○になるコード」を書かせる。

4. 自動で見張る

  • 機械(CI)がチェックする。
    やることは:
    • コードがキレイか(フォーマット)
    • 間違いがないか(Lint)
    • 型が合ってるか(Typeチェック)
    • テストに合格するか
    • 危ない部分はないか(セキュリティ)

1つでも×ならAIに「直せ!」と返す。

5. 人間が最後に見る

  • 見るポイントはいつも同じ:
    ①ちゃんと仕様どおり?
    ②変な抜け道ない?
    ③他に悪影響ない?
    ④ログが多すぎない?
    ⑤セキュリティ大丈夫?
    ⑥動きが遅くない?

書き直すのはAI。人間は「ここ違うよ」だけ言う。


🎯 目標(KPI)

  • AIが書いたコードの割合をどんどん増やす
    → 4週目で90%、3か月後に95〜99%
  • 人が書く行数を減らす
  • 1回のPRにかかる人の時間を減らす

🛠️ 工夫のしかた

  • プロンプトをテンプレにして、いつも同じ書き方にする
  • 自動でやれること(フォーマット、テスト、画像づくりなど)は全部自動
  • PR(提出物)には「Co-authored-by: AI」をつけて、どれくらいAIが書いたか数える
  • 定期的に「AIがどれくらい書いたか」をグラフにして見る

✅ ゴール(完成条件)

  • テスト全部○
  • コードきれい
  • 型エラーなし
  • 危ないコードなし
  • コメントちゃんとあり
  • ログは必要最低限
attrip

attrip

考えたことを、記事・AI・音楽に変えて発信しています。

盆栽、音楽、ブログ運営、日々の試行錯誤について書いています。

2010年から発信中

コメントを残す