ちなみに

火曜日の空は僕を押しつぶした。

コードがタダ同然になった時代の開発原則 - Zen of AI Coding

Zen of AI Coding という記事を読んだ。コーディングエージェントを1年使い込んだ人が、AI時代の開発原則を16個にまとめたもの。Zen of Pythonのオマージュだ。

出発点はシンプルで、「コードを書くコストがほぼゼロになった。そこから全部変わる」という話。この前提から何が変わるかを一つずつ整理していて、構造がとてもいい。

コストが下がると何が変わるか

まずリファクタリングのハードルが下がる。「Reactを選んだけど2ヶ月で後悔した。エージェントに書き直させればいい」。一度決めたら戻れなかった技術選定が、仮置きになる。実際に著者は3ヶ月でCMSを4回スクラッチで作り直したらしい。間違った判断がそこまで痛くなくなると、とりあえず動くものを作って試すのが正解になる。綺麗な設計書よりも動くコードのほうがエージェントにとってはいいコンテキストになる、というのも面白い。

技術的負債も返しやすくなる。依存の更新、APIのマイグレーション、古いパターンの書き換え。どれもエージェントに投げれば終わる類の作業だ。負債がなくなるわけではないけど、返済コストが下がると「あとでやる」の言い訳が通らなくなる。

そしてボトルネックが移動する。実装がボトルネックでなくなると、10個を並行で作れてしまう。でも10個を並行でレビューして、判断して、リリースすることはできない。詰まるのはプロダクトの意思決定、要件定義、セキュリティレビュー、リリースフローのほうになる。ボトルネックはコードではなく人間の頭になった。

全部「コードが安くなった」という一点から導かれていて、説得力がある。

それでも速く作ればいいわけではない

「速く作ったゴミはゴミだ」。速さは気持ちいい。でもベロシティやコード行数で進捗を測るのは昔から悪手だった。何でもすぐ作れるようになった今だからこそ、何を作るかの判断に規律がいる。

「壊れ方を先に考えろ」。エンジニアの仕事はコードを書くことではなく、システムが壊れないことを保証することだ、と。実際に著者のエージェントは.envファイルをgitにコミットしようとしたらしい。こういうリアルな事故の話があるから信用できる。

ソフトウェアは作った瞬間から保守コストが発生する。プロダクトとして使われて初めて資産になる。作るのが簡単になった今、機能を足したくなる誘惑はどんどん強くなる。でも使われない機能を作っても負債が増えるだけだ。

他にも16個の原則すべてが読み応えあるので、ぜひ元記事を読んでほしい。

nonstructured.com