3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事は Claude(Anthropic)との対話を通じて執筆しました。

はじめに:福岡から東京へ

プロダクト開発を「福岡から東京への移動」に例えてみましょう。

目的地は明確です。しかし、そこに至る手段によって、体験はまったく異なるものになります。

2つの移動手段

車(プロンプトベースのAI駆動開発)

AIにプロンプトを打ち込んで実装していく方法は、車での移動に似ています。

  • 自由度が高い:好きなルートを選べる、寄り道もできる
  • 運転スキルが必要:ドライバー(プロンプトエンジニア)の腕次第
  • 道に迷うリスク:ナビ(AI)の指示を誤解すると、とんでもない方向へ
  • 疲労が蓄積:長距離になるほど、集中力が切れてミスが増える

車での移動は、毎回違う体験になります。渋滞に巻き込まれるかもしれない。道を間違えるかもしれない。到着時間は予測できない。

電車(制約ベースのAI駆動開発)

一方、AIに「制約」を与えて開発する方法は、電車での移動に似ています。

  • レールという制約:決められたルートしか走れない
  • 運転スキル不要:乗客は目的地を指定するだけ
  • 迷わない:レールがある限り、必ず目的地に着く
  • 安定した所要時間:誰が乗っても同じ時間で到着

電車での移動は、毎回同じ体験になります。レールという「制約」があるからこそ、品質が安定するのです。

AIの進化と移動手段の進化

2026年1月現在、OpenAIの最新モデルはGPT-5.2です。GPT-3から始まり、GPT-4、GPT-5、そしてGPT-5.2へと進化してきました。

この進化を、車と電車それぞれに当てはめてみましょう。

車の進化:原付 → 普通車 → スーパーカー

AIが進化すると、車はどんどん速くなります。

GPT-3時代     → 原付バイク(遅い、不安定)
GPT-4時代     → 普通車(そこそこ速い、まあまあ安定)
GPT-5.2時代   → スーパーカー(超高速、高性能)

スーパーカーは確かに速い。でも、道路という不確定要素は変わりません。

  • 渋滞は発生する
  • 道を間違えるリスクはある
  • ドライバーのスキルに依存する

どれだけ車が高性能になっても、「道」の問題は解決しないのです。

電車の進化:各駅停車 → 新幹線 → リニアモーターカー

一方、電車が進化するとどうなるか。

GPT-3時代     → 各駅停車(遅いが確実)
GPT-4時代     → 新幹線(速くて確実)
GPT-5.2時代   → リニアモーターカー(超高速で確実)

レールという制約は変わりません。でも、制約の中での速度が劇的に向上します。

  • 渋滞は存在しない
  • 道を間違えることはない
  • 誰が乗っても同じ結果

AIが進化すればするほど、レールの上を走る速度が上がる。これが制約ベースのAI駆動開発のアプローチです。

制約は足枷ではなく、加速装置

「レールがあると自由度が下がるのでは?」

その通りです。でも、考えてみてください。

新幹線が時速300kmで走れるのは、レールがあるからです。車が高速道路で時速300kmを出したら、事故を起こします。

AIへの設計制約は、AIの能力を安全に最大化するための仕組みです。

制約なし × 高性能AI = 暴走リスク
制約あり × 高性能AI = 安定した高速開発

そもそも「自由度」は必要か

ここで立ち止まって考えてみましょう。プロダクト開発において、本当に「自由度」は必要でしょうか?

多くの開発に自由度は不要

福岡から東京へ行くとき、途中で名古屋に寄ることはあるでしょう。大阪で乗り換えが必要なこともあるかもしれません。

でも、それは事前に決まっていることです。「名古屋で商談がある」「大阪で資料を受け取る」という仕様があるから、途中下車するのです。

重要なのは、計画が定まっていれば、途中で急に下車することはないということ。電車は計画通りに止まり、計画通りに発車します。

プロダクト開発も同じです。仕様が決まっていれば、その通りに実装するだけ。「独創的なログイン画面」や「他にはない斬新な一覧」は、仕様として求められない限り必要ありません。

ほとんどの開発タスクは、決まったパターンを正確に、素早く実装することが求められています。「途中で気が変わって別の駅で降りる」ような自由度は、むしろノイズになります。

違いは「目的地」で表現する

「でも、プロダクトごとに実装内容は違うじゃないか」

その通りです。でも、それは「自由度」ではなく「目的地の違い」です。

  • 福岡→東京(ログイン画面を作る)
  • 福岡→大阪(一覧画面を作る)
  • 福岡→名古屋(詳細画面を作る)

目的地が違えば、当然到着する場所は違います。でも、移動手段に自由度は必要ありません

つまり、プロダクトの設計(目的地の設定)に制約がなければ、実装の自由度は問題にならないのです。

自由な旅は「楽しみ」のためにある

では、車での自由な旅はいつ選ぶべきでしょうか?

  • 個人開発:寄り道も楽しみの一部
  • 実験・研究:予想外の発見が目的
  • 学習:過程そのものに価値がある
  • プロトタイピング:素早く試行錯誤したい

これらは「目的地に着くこと」よりも「旅そのもの」に価値があるケースです。

しかし、プロダクト開発は違います。ユーザーに価値を届けることが目的であり、開発プロセス自体は手段に過ぎません。手段に自由度を求めるのは、本末転倒です。

なぜ今、レールを敷くのか

AIは日々進化しています。GPT-5.2の次には、GPT-6が控えているという噂もあります。

しかし、レールを敷く作業は、AIの進化を待ってくれません

今のうちにレールを敷いておけば、AIが進化するたびに、その恩恵を最大限に受けられます。各駅停車だったものが、新幹線になり、リニアになる。

逆に、レールを敷かずに車で走り続けるとどうなるでしょうか。

  • 運転技術を磨き続ける必要がある:AIが進化するたびに、新しいプロンプトの書き方、新しいツールの使い方を学び直す
  • 自動運転に期待する?:AIが完全に自動で正しい実装をしてくれる日が来るかもしれない。でも、それは時速300kmで走る車に「自動運転で高速道路を走らせる」ようなもの。間違えたら即、大事故です

レールがあれば、事故は起きても脱線の範囲内。レールがなければ、どこに飛んでいくかわかりません。

「レール」とは何か

では、AI駆動開発における「レール」とは具体的に何でしょうか。

1. 構造のレール(コード制約)

  • 統一されたアーキテクチャの強制
  • 決められたディレクトリ構成
  • フォーマット化されたファイル定義
  • CLIによるファイル自動生成

2. 言語のレール(形式言語)

従来: 自然言語 → AIが解釈 → 出力(ブレる)
制約: 形式言語 → AIが変換 → 出力(ブレない)

3. 責務のレール(専門エージェント)

1つのAIに全部任せるのではなく、責務ごとに専門のエージェントを分離する。

  • レイアウト専門エージェント
  • ロジック専門エージェント
  • データ定義専門エージェント
  • テスト専門エージェント

各エージェントは自分の責務だけを知っていればよい。巨大なコンテキストは不要です。

まとめ:どちらの乗り物を選ぶか

福岡から東京へ行くとき、2つの選択肢があります。あなたはどちらを選びますか?

車を選ぶなら

  • 運転スキルを磨き続ける必要がある
  • AIが進化しても、道路の問題は残る
  • 毎回違う体験、予測できない品質

電車を選ぶなら

  • 一度レールを敷けば、誰でも乗れる
  • AIが進化するほど、速度が上がる
  • 毎回同じ体験、安定した品質

AIは何でもできる。だからこそ、**「なんでもやらせない」**ことが重要なのです。


私はこの「レール」を実現するフレームワークとして、JsonUIを開発しました。詳しくは以下の記事をご覧ください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?