コードは今や粘土だ
Code is clay now (albertodenia.com)
要約
AIエージェントの進化により、コードの作成と変更のコストが劇的に低下し、コードはもはや変更が困難な石ではなく、容易に成形できる粘土のようになったと論じている。この変化は、開発者がアイデアを迅速に試行錯誤し、製品開発のサイクルを大幅に短縮することを可能にする。開発者は「職人」のように各イテレーションで判断を下すか、「工場」のように自動化されたパイプラインで作業するかを選択できるが、いずれにしても人間の判断は不可欠である。
全文翻訳
コードは今や粘土である
Alberto Denia ∙ 2026年9月25日
[画像: コードが粘土のように扱われている様子を示すイラスト]
コーディングの中世(2025年11月以前)には、私たちコーダー兼石工は、コードという石材を丹念に彫り込み、完成品にしていました。石は容赦がなく、より良いツールが時間をかけて改善しても、その修正は困難なままでした。小さな修正はまあまあでしたが(少し彫り直し、少しパッチを当てる程度)、大きな修正となると解体、足場組み、壁にピン留めされた慎重な計画が必要でした。
エージェントコーディングはそれを覆しました。コードは加工しやすくなったのです。中世のコードと同じ基盤物質でできているにもかかわらず、変更を加えるコストは崩壊しました。これにより、全く異なる素材のように振る舞うようになりました。コードは今や粘土なのです。
粘土との付き合い方
コードが粘土になったら、モデリングを始めることができます。コード粘土の大きな塊を、欲しい形に大まかに成形し、感触を確かめます。気に入らないですか?一部を簡単に作り直したり、すべてを潰してやり直したりすることも容易です。全体的な構造がしっくりきたら、彫刻家のように洗練させていきます。全体像から、中くらいの大きさの特徴、そして細部へと進みます。
モデリングは、構築しているもののあらゆるレイヤーで、フラクタルに適用できます。新しい製品を探索している単独の開発者は、詳細に入る前に、一日のうちにコア全体のスケッチを作成して、何が機能するかを確認できます。一方、苦戦している製品機能の担当チームは、ピボットが価値があるかどうかを判断するために、数日間かけて全く新しい方向性を探ることができます。計画やモックアップのどれも、実際のものが動作するのを見ることに勝るものはありません。
それでも、あなたの製品とエンジニアリングの判断は依然として重要です。変更を加えることは今やほぼ無料かもしれませんが、それが正しい変更かどうかを知ることはそうではありません。うまく機能し、まとまりのあるものを作りたいのであれば、単に塊を積み重ね続けるわけにはいきません。部品を洗練させ、それらがどのようにフィットするかを考える必要があります。そうしないと、プロンプトで抜け出す暇もなく、すべてがぐちゃぐちゃの泥沼に崩壊してしまうでしょう。センス、文脈、ガードレール、アーキテクチャ…それらがあなたの骨組みと窯です。
この判断をいつ、どの程度適用するかは、まだ模索中です。人間の関与のスペクトラムにわたる、いくつかのワークフローが出現しています。そのスペクトラムの両極端には、注目に値する二つのアプローチがあります。職人技と工場です。
職人の道
職人はループの中にいたいと望みます。速いフィードバックループは、加工しやすいコードの最も良い点であり、多くの人がそれに夢中になる理由です。コーヒーを淹れる時間で、機能を思いつき、電話でエージェントとアプローチを計画し、デスクに戻る頃にはレビューできる状態にすることができます。いくつかの磨き上げのイテレーションを追加すれば、フルプロダクト/エンジニアリング/QAサイクルを一人で30分に圧縮できます。
自分がユーザーである場合、このループは驚くほど満足のいくものになります。例えば、私は毎日ますます多く使っているMarkdownエディターに取り組んでいます。数日前、経費リストのあるファイルを見ていました。「自動的に合計できたらクールだろうな…ちょっと待てよ、コードを投げかけてみよう!」ソーダを半分飲む間に、calc blocks(マージンに簡単な演算の結果を表示するブロック)の最初のバージョンがアプリで動作し、すでに役立つものになっていました。リアルタイムのソフトウェア開発です。
これは単なる「雰囲気コーディング」ではありませんか?必ずしもそうではありません。職人の道は、ループ内に留まり、各イテレーションに自分の判断を適用することです。ユーザーに直接触れる表面だけを判断する場合、それは雰囲気コーディングです。コード(少なくともその形状、すべての行ではないにしても)も判断する場合、それはエンジニアリングです。ループが今、より速くなっただけです。
工場の道
もう一方の極端では、ループから自分自身を取り除きたいと考えます。それが工場の道です。
工場は、コード粘土をより大きな構造にきれいに収まるレンガに成形するシステムを構築することにすべてを捧げます。仕様、ジェネレーター、検証ツール(テスト、評価、ガードレール、レビューエージェント)からなるパイプラインを想像してください。ループは、最後の手段としてのみ人間が介入します。これは、よく構造化されたコードベースや、型として機能する繰り返し可能なパターン、そしてその作業を検証できる明確な基準がある場合に最も効果的です。工場は、11番目のCRUDエンドポイントを追加したり、100個の軽微なバグを処理したりするのに驚くほど役立ちます。
工場でも判断は依然として存在します。それは単に上流に移動したか、パイプラインに埋め込まれただけです。どの程度埋め込み、自動化できるかについてはまだ jury is out ですが、信頼できる結果を生み出すように工場をセットアップすることが、これからのエンジニアリングの多くになると私は推測しています。
職人か、工場か?
どちらの場合も、人間の判断が依然として作業を主導しています。違いは、それがいつ適用されるかという点にあります。職人は各イテレーションで判断を適用します。これはアイデアを探求し、感覚的に正しい必要がある機能を洗練させるのに適しています。工場は、パイプラインを構築する際に事前に判断を適用し、ループ中は可能な限り少なくします。どちらも判断を省略することはできません。
産業的な連想から、工場は大企業のコードベースにのみ属し、職人はタイのビーチからアプリをいじっているインディーハッカーであると考えるかもしれません。しかし、この二つは補完的であり、多くの現実世界のワークフローは両者の混合のように見えるでしょう。大規模で確立された製品は、新しい問題に対処したり、感覚的に正しい必要がある機能を追加したりするために職人技を必要とします。そして、単独の開発者でさえ、退屈で繰り返し可能な部分を処理するために工場を実行し、以前は一人では考えられなかった規模を達成したいと思うでしょう。重要なのは、解決しようとしている問題に適切なアプローチを選択することです。それは結局のところ、ソフトウェアエンジニアリングが常にそうであったことなのです。
私たちは今、この新しい素材を手にしています。コードは今や粘土なのです。私たちはこれで何を作るのでしょうか?