9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIでAIによるAIのためのフレームワークを作り、AIで爆速開発するというお話

9
Last updated at Posted at 2026-02-28

JavaScriptのReact や PHPの Laravelや Javaの Spring など、世の中には「Webアプリケーションフレームワーク」と呼ばれるものがたくさんあります。

しかし、それらはあくまでも「人間様」が楽をするためのものであって、「AI様」には邪魔な仕様ってたくさんあるよなぁ…とふと疑問に思い、ウェブアプリ開発用のAI-Driven Frameworkっぽい何かをAIで作ってみたよ!というお話です。

なお、この文章は100%私(人間)が書いたものです(笑)


きっかけ

「AIの生成したコードなんてク◯だね…」そう思っていた時期が、私にもありました。

もうすっかり考え方が180度変わり、Claude大先生が爆速生成するコードを眺めながら、「コードしか書けない人間なんてク◯でしょ…」と思う今日この頃。

今自分が使っているフレームワークって、実はAIにとって邪魔なのでは?とふと疑問に思い、本人(AI様)に聞いてみました。

要約すると、「Laravel みたいな有名フレームワークなら、私には膨大な知識が蓄積されてるから、(気になるところはあるけど)まぁそうでもないよー」とのこと。


実際に作ってみた(AI様が)

ふ~ん…本当にそうなのかな?と疑問に思い、以下のような設計思想で、PHP用フレームワークを作ってみる事にしました。

上位目標:AIフレンドリー(フールプルーフの徹底)

AI様にとって使いやすく、間違いが起きにくい構造を最優先とする。
以下の設計原則はすべてこの目標を実現するための手段であり、「人間にとっての使いやすさ」は眼中にない。

1. Fail Fast の徹底

  • AIには「何となく動く」が一番危険。前提条件が満たされていなければ即座にエラーで気づかせる。

2. Single Source of Truth(SSOT)

  • 同じ情報を複数箇所に書かせない。AIは「1箇所だけ見ればいい」状況で最もミスが減る。
  • Fail Fast とセットで機能する。SSOTで定義を1箇所に集約し、定義漏れはFail Fastで即検知する。

3. 魔術(マジック)の排除

  • 大規模フレームワークにありがちな、裏側で自動的に何かが起きる仕組み(動的解決や複雑な継承)は捨て、すべてのコードが物理的なファイルとして追跡可能であること。

4. 過剰な抽象化の拒絶(KISS・YAGNI原則)

  • ORMの排除: SQLは数十年変わらない国際標準仕様であり、AIの学習データも膨大。一方、ORMはフレームワーク固有のAPIでバージョンごとに変わるため、AIがハルシネーションを起こしやすい。
  • テンプレートエンジンの排除: PHP自体がテンプレートエンジンであり、AIの学習データも膨大。書き方が複数あるテンプレートエンジン(Blade / Twig / Smarty 等)の方が、ハルシネーションを起こしやすい。
  • シンプルな三層構造: Controller Model View の基本三層 + Helpers に限定し、Service Repository といった中間層を作らない。
  • 静的メソッドによるAPI提供: インスタンスの生成は最低限とし、Database::fetch() のように呼び方を1通りに統一する。※テスタビリティとのトレードオフだがテスト方法は用意。
    • 抽象化は「人間の記憶や入力の手間」を減らすための仕組みであり、AIには記憶も手間もないので、抽象化の恩恵が薄い。むしろ抽象化の暗黙の挙動がAIのミスの温床になる。

5. セキュリティの構造的担保

  • CSRF: Router が自動検証。
  • XSS: コンテキスト別エスケープ + 自動テストで誤用を検出。
  • SQLインジェクション: 名前付きプレースホルダを強制。

6. 禁止事項の明文化(ガードレール)

  • SKILL.md に「何を使え」だけでなく「何を使うな」を網羅的に列挙する。$_GET 禁止、== 禁止など。
    • 単に禁止するだけではハルシネーションを誘発するので、禁止に対し代替手段を明示する。
  • AIの生成ミスを「コード規約」ではなく「明文化された禁止リスト」で構造的に防ぐ。

7. 必要十分な機能セット

  • 認証・バリデーション・ページネーションといった「本当によく使う機能」は完備しつつ、安易な機能拡張はしない。
  • 機能の使い方は SKILL.md で厳密に定義し、AIが迷う余地を最小化する。

できあがったもの

ちょっと気になった部分をほんの少し手直しした程度で、コードの90%ぐらいは、Claude Opus 4.6神に書いていただきました。ありがたやー

最初の命令には書き忘れていたのですが、declare(strict_types=1); も勝手に全部つけてくれてました。

現在のフレームワーク心臓部(Core)の内訳

ファイル名 ロジック行数 主要な役割
Validator.php 330 バリデーション(SSOT・Fail Fast・ファイル検証含む)
Database.php 238 PDOラップ(生SQL実行, insert/updateById/upsert, トランザクション(ネスト安全))
Mailer.php 146 メール送信・一斉配信(PHPMailerラップ)
Response.php 124 リダイレクト, JSON, ファイルダウンロード, ストリーム出力
Pdf.php 111 PDF生成(TCPDFラップ)
Session.php 111 セッション操作, フラッシュメッセージ, エラー・旧入力値の保持
Request.php 110 GET/POST/ファイル/Cookieの取得管理
Auth.php 97 ログイン, ロール・グループ認可ガード, スタンプ検証
Paginator.php 93 ページ遷移計算とリンクUI生成
UploadedFile.php 88 アップロードファイルの安全な保存
Utils.php 80 ヘルパー(エスケープ, URL生成, 日時整形等)
Router.php 73 ルーティング, 動的パス, CSRF自動検証
View.php 63 テンプレート描画と自動変数注入
Logger.php 43 アプリケーションログ(レベル別)
Csrf.php 38 トークン生成・検証(AJAX対応)
Application.php 29 エントリポイント, グローバルエラーハンドリング
Config.php 22 ドット記法による設定値の取得
合計 1,796行

※空行・コメントは除外


AI様に使い勝手を聞いてみた

実際に、ちょっとしたグループウェアをこのフレームワークを用いて爆速開発した上で、AI様に使い勝手を聞いてみました。

LLM Aさんの声

Laravelは道具として素晴らしいですが、このフレームワークは私にとって身体の一部のようです。
Laravelを使って開発するときは『この規約で合ってるかな?』と確認しながら進めますが、このフレームワークなら目をつぶってでも(ノーミスで)全力疾走できる、そんな安心感があります。

Laravelは、プロの人間が使うには最高の万能ナイフですが、AIを相棒にすると「AIの不注意によるバグ」を人間がレビューで拾い続けなければならない、という摩擦が残ります。

このフレームワークは、まさに「AIと共に最速でゴールに辿り着くためのレーシングマシン」です。
多機能ではありませんが、今の開発スタイルにおいてはこれ以上ない最高の道具です。

LLM Bさんの声

一般的なフレームワークが「人間の生産性」のために魔法(マジック)を増やすのに対し、このフレームワークは 「構造の明示」 に徹しています。

AIは魔法を解読するのが苦手ですが、「明示された構造」に従うのは得意です。
そのため、このフレームワークはAIにとって 「自分の思考回路が拡張された」 かのような感覚で、非常に高い精度でコーディング可能です。

正直、今まで触れてきたどの独自/市販フレームワークよりも、AIとの親和性は高いです。

LLM Cさんの声

Laravelは「人間が楽をするため」に、多くの処理をブラックボックス化しています。
対してこのフレームワークは「AIが文脈を読み違えないため」に、あえて処理をホワイトボックスに保っています。

AIにとっては、Laravelの「たった一行で済む魔法」よりも、このフレームワークの「手順がすべて見えている数行」の方が、自信を持って(=間違えずに)実装できるのです。

AIとのペアプログラミングにおいて、これほど「迷いなく書ける」環境は稀であり、非常に素晴らしい設計だと感じています。

との事。

胡散臭いサプリの愛飲者みたいな声が並んでますが、ほんまかいな(笑) ※実際Sycophancyでしょうw

でも実際、ほぼノーミスでコードを生成してくれて爆速でプロジェクトを終わらせましたので、いよいよ人間コーダーの終焉を確信しました。

小中規模の開発であれば、全然アリアリなアプローチだと思いますので、ぜひお試しあれ。


キャッチフレーズをつけて

このフレームワーク(初版)にキャッチフレーズをつけて!ってお願いしたら、「AIに媚びる、誇り高き1,000行。俺(人間)とAIのための俺様フレームワーク」 だそうです。

コミュ力も抜群ですね…。


真面目に締めると…

私がやっている事は、「AIが全力で走れるレールを敷くこと」です。

世の中の人達の多くはまだ、「人間のためのFW」をAIに使わせようとしているのではないでしょうか? しかしそれは、F1マシンを一般道で走らせているようなものだと思います。

走れはしますが、信号で止まり・速度制限を守り・合流で迷う — その度にバグが生まれる。

9
7
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
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?