AIとの相性
AIでコードが書ける時代に、フレームワークは必要なのか。Naifyの答えです。
AIでなんでも書けるのに、フレームワークは必要?
よく聞かれる問いです。答えは「必要。ただし、大きなものではなく小さなもの」です。
よくある疑問
AIに頼めば、ログイン画面もAPIもすぐ書ける。フレームワークはもういらないのでは?
Naifyの答え
書けることと、10年保守できることは別の話です。
AIに任せると起きやすい、2つのつまずき
土台がないときも、土台が大きすぎるときも、AIの書くコードは安定しません。
フレームワークがない
決まった置き場所や流れがないため、頼むたびに構成が変わります。
- 画面ごとに書き方がばらばら
- 同じ処理が何か所にも生まれる
- あとから読む人が全体をつかめない
大きなフレームワーク
機能や抽象化が多く、AIが必要以上の仕組みを足しがちです。
- 小さな画面に、大げさな設計(オーバーエンジニアリング)
- 暗黙の自動処理を、AIが読み違える
- バージョンごとの書き方の違いで迷う
AIによって、書き方も変わる
同じお願いでも、使うAIや頼み方しだいで、まったく違うコードが返ってきます。
処理を1つの関数に全部書く
クラスを細かく10個に分ける
知らないライブラリを持ち込む
どれも動きはします。でも、混ざると誰にも保守できなくなります。
そろえるには、頼むたびに「この書き方で」とコーディングスタイルを指示する必要があります。フレームワークが大きいほど、守らせるルールが増え、その指示もふくらみます。
Naifyは「ハーネス」として働きます
ハーネスは、馬や登山者を支える装具のこと。力を止めずに、進む方向をそろえます。
置き場所が決まる
URLはルート、処理はController。AIが迷いません。
流れは1本
ルーティング→リクエスト→コントローラー→出力。いつも同じ順番です。
PHPそのもの
独自の記法がないので、AIもふつうのPHPとして読み書きできます。
ルールが小さい
覚えることが少ないから、AIが最後まで守れます。
コーディングスタイルも、最初から用意しています
Naifyにはフレームワークだけでなく、AIと人間が同じ基準で書くためのコーディングスタイルがそろっています。頼むたびに書き方を指示しなくても、同じ形のコードになります。
なぜPHPなのか
PHPは、Webシステムに必要な機能を言語そのものが備えています。だから、頼る外部ライブラリが極端に少なくて済みます。
ほかの言語でよくある形
Webの仕組みの多くを、フレームワークや外部ライブラリで補います。
積み重ねが増えるほど、更新とAIの読み違いも増えます。
PHPの形
言語に、Webに必要な機能一式がそろっています。
間に挟まるものが少ないから、依存関係に悩まされず、保守しやすくなります。
AIにとっても、PHPの標準機能は広く知られた書き方です。外部ライブラリの作法を推測させずに済みます。
人間とAIとNaify、それぞれの役割
AIに任せる部分を増やしても、判断する人間と土台は変わりません。
人間
何を作るか決め、設計とレビューで最終判断をします。
AI
決まった型の中で、速く実装します。
Naify
型と流れを固定し、10年変わらない土台になります。