About Services Pricing Philosophy Products Work Blog Careers Parloir English
← BLOG
tech 約4分

gitがわからなくてもコードは書ける

gitとGitHubの違いがわからない人がAIでコードを量産できてしまう時代。動くコードと正しいコードは違う。AIは使う人間の射程を広げるだけだ。

#AI#git#code-review#engineering#philosophy

ある夜の会話

現場の第一線で12年一緒に戦ってきたエンジニアが、ぽつりと言った。

「gitとGitHubの違いがわからない人が、AIでコードを量産できてしまう。これ、怖くない?」

怖い。正直に言って、かなり怖い。

何が怖いのか。コードが増えることではない。そのコードを「正しい」と判断できる人間がいないまま、本番に乗ることが怖い。

gitとGitHub

念のため書いておく。

gitは、ソースコードの変更履歴を管理するための仕組みだ。誰が、いつ、何を、なぜ変えたのかを記録する。ローカルのマシンだけで完結する。インターネットは要らない。

GitHubは、gitのリポジトリをクラウド上で共有するサービスだ。複数人での共同作業、コードレビュー、Issue管理。gitという仕組みの上に、チーム開発のインフラを載せたもの。

gitは「仕組み」で、GitHubは「場所」。

これが説明できない人間が、今、AIにコードを書かせている。

動くコードと正しいコード

AIは優秀だ。プロンプトを投げれば、動くコードが返ってくる。ビルドも通る。画面も出る。テストも書いてくれる。

問題は、「動く」と「正しい」が別物だということだ。

動くコードは、今この瞬間のリクエストに応答する。正しいコードは、半年後に別の人間が読んでも理解でき、変更しても壊れず、セキュリティホールを抱えていない。

動くかどうかは、機械が判定できる。正しいかどうかは、人間が判断するしかない。

その判断に必要なのは、変更履歴の意味を読む力、設計意図を理解する力、将来の変更に耐える構造を見抜く力。つまり、gitが何をしているかを理解している人間の力だ。

コードレビューという防波堤

ソフトウェア開発には「コードレビュー」という工程がある。書いたコードを、別の人間が読んで検証する。バグを見つけるだけではない。設計の妥当性、命名の意図、将来の保守性。コードの「正しさ」を複数の目で担保する仕組みだ。

AIはこのレビューも手伝ってくれる。指摘は的確だし、見落としも拾う。

だが、AIの指摘が「正しい」と判断できるのは誰だ。

gitの履歴を読めない人間は、なぜそのコードがそう書かれているのか、文脈を持っていない。文脈のない人間がAIの指摘を受け取っても、「AIが言ってるから正しいんだろう」としか思えない。

これはレビューではない。盲信だ。

射程の話

望遠鏡は、視力の悪い人間に視力を与えない。遠くを見る力がある人間の射程を、さらに伸ばす道具だ。

AIも同じだ。

コードを書く力がある人間がAIを使えば、生産性は跳ね上がる。10時間かかっていた実装が1時間で終わる。空いた9時間で設計を練り、テストを厚くし、ドキュメントを書く。

コードを書く力がない人間がAIを使えば、「動くが正しくないコード」が10倍の速度で量産される。しかも、本人はそれに気づかない。

AIは射程を広げる。射程そのものは作らない。

量産される見えない負債

動くが正しくないコードは、技術的負債と呼ばれる。

借金と同じで、積み上がるほど利子が膨らむ。最初は気づかない。画面は動いているし、クライアントも満足している。だが、ある日突然、何かを変更しようとしたときに全体が崩壊する。

gitの履歴を追えない人間が書いたコードは、負債であることすら可視化できない。返済しようとしても、どこに借金があるかわからない。

これが、12年現場を見てきたエンジニアが「怖い」と言った理由だ。

見えている人間には見えている。だが、見えていない人間は、自分が見えていないことに気づいていない。

問いは道具の性能じゃない

AIはこれからも進化する。コード生成の精度は上がる。レビューの質も上がる。テストの網羅性も上がる。

それでも、この問いは消えない。

AIを使うあなたは、AIの出力を評価できる人間か。

gitとGitHubの違い。それ自体は些細な知識だ。だが、その区別がつかないということは、ソフトウェアがどう管理され、どう積み重なり、どう壊れるのかの解像度を持っていないということだ。

道具は進化する。だが道具を持つ手の精度は、持つ人間にしか上げられない。