はじめに
この記事の一番の対象者は間違いなく自分です。
正直まだ抜け出せていないです。
これは自分への戒めを込めて書いています。
最近、ChatGPTやCursorを使えば、コードは一瞬で書けるようになりました。
Laravelでも「ECサイトを作りたい」と言えば、あっという間に “動くもの” が出来上がります。
ただ、完成したあとにふと思ったんです。
……これ、何ひとつ理解してなくない?
私は1年経っていない駆け出しのエンジニアで、
会社ではまだテスト業務が中心。
社内での開発経験はほぼゼロです。
メインの言語は、PHP・Laravelです。
AIに頼りながら、LaravelでECサイトを作ってみました。
(GitHubに置いてます → Practice-for-Laravel)
動くものはできた。
でも、動かしてる「自分の理解」は1mmも進んでいなかった。
「AIで作る」と“形”はできるけど、頭の中は空っぽ
「ログイン機能つけたいです」って言えば、ChatGPTはすぐに動くコードを出してくれます。
ルーティング、コントローラー、マイグレーション、バリデーションまで全部。
ただ、その後に自分でコードを見直したとき、こうなるんです。
public function handle()
{
// これ何?どこで定義されてる?誰が呼んでる?
}
どんなに眺めてもピンと来ない。
AIが生成したコードは動く。
でも、「なぜ動くか」は全く分からない。
この瞬間、「AIに書かせて“自分が書いた気”になってただけ」だと気付きました。
エラーが出た瞬間、すべてが崩壊する
動いている間は「すごい!自分も作れるじゃん!」と浮かれてました。
でも、エラーが出た途端、地獄が始まります。
Class "App\Services\MinrepoFetcher" not found
Target class [Controller] does not exist.
はい、詰みです。
検索しても、言葉の意味から分からない。
「依存性の注入」とか「サービスコンテナ」とか、どれも初耳。
AIがどんなに優秀でも、自分の理解がないと1行も直せない。
“爆速開発”が一瞬でストップしました。
わかったこと:近道は存在しない
AIを使っても、理解だけはショートカットできない。
表面上の成果物より、「なぜそう動くのか」を理解するほうが、結局は近道。
最初は「動けばいい」でもいい。
でも、その後に「なんで?」を掘る習慣がないと、AI依存から抜け出せません。
私はその現実にぶつかって、少しずつ勉強の仕方を変えました。
今の学び方
- LaravelのMVC構造を1つずつ分解してPHPで再現
- エラーコードをAIに丸投げせず、まず読む
最初は苦痛でした。
でも、コードの意味を1行ずつ理解できるようになると、少しずつ「繋がる感覚」が出てきます。
あの瞬間が、一番うれしい。
同じように悩んでいる人へ
大事なのは、「わからないことに耐える力」です。
調べても意味がわからない、動かしても違いが感じられない、
そういう時間を乗り越えた分だけ、確実に成長してます。
まとめ
- AIは補助輪。自転車を漕ぐのは自分。
- 「動くコード」より「理解できるコード」を目指そう。
- わからないことに慣れる。それが一番の近道。
もし同じように「AIに頼りすぎて理解が追いつかない」と悩んでる方がいたら、
コメントで学び方を共有できたらうれしいです。