> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/ja/2026/w02-rethinking-complex-abstractions.md).

# W02-複雑な抽象化を考え直す

AI Coding の能力向上に伴い、複雑な抽象化を考え直している。

過去10年、フロントエンドの開発基盤として、コンポーネントライブラリ、動的な配信の仕組み、設定駆動のシステムなど、複雑なものを数多く作った。そのすべては、質の高いコードは高価で、開発者の時間は希少で、人の認知の帯域は有限だという前提に立つ。そこで Don't Repeat Yourself（DRY）という設計原則を守り、重複作業と保守費用を減らし、限られた人員で巨大なシステムを作ろうとしてきた。これを希少性の経済モデルと呼べる。

一方、人の複雑な抽象化は AI に障壁を作る。高度にカプセル化され、さまざまな高階コンポーネント（HOC）や独自 Hook を使うプロジェクトで、ブラックボックスの中身が明確に定義されていなければ、AI は幻覚を起こしがちだ。Write Everything Twice（WET）のように、直接的で、順に書かれ、冗長ですらあるコードのほうが、AI はうまく扱えることもある。今なら、インターンの人員が無限にいると近似的に仮定したとき、従来の技術課題にどんな新しい解法があるかを考えられる。これを豊富さの経済モデルと呼べる。

ちょうど先週、有名なフロントエンドのオープンソースライブラリ Tailwind のニュースを見た。面白い出来事なので、少し詳しく話したい。

発端は Tailwind CSS の GitHub リポジトリだった。ある開発者が、公式サイトに /llms.txt エンドポイントを追加する [PR](https://github.com/tailwindlabs/tailwindcss.com/pull/2388) を出した。大規模言語モデル（LLM）向けのプレーンテキスト規格で、AI が技術文書を効率的かつ正確に読み取り、コーディングでより的確な提案を出せるようにするものだ。技術的には極めて正しい提案に見える。AI 支援コーディングが標準になった今、LLM を受け入れることは、オープンソースにとって当然とされる姿勢に近い。

ところが作者の Adam Wathan は1月6日、この PR を自ら閉じた。理由は事業の持続可能性だった。AI が簡単に文書を読んで直接答えを返せば、開発者は公式サイトを訪れなくなる。訪問数の減少は Tailwind UI などの有料製品の露出を減らし、会社の売上を直接脅かす。

この決定には、オープンソースの精神に反するという批判も少なくなかった。事情を説明するため、[Adam は33分の録音を公開した](https://x.com/adamwathan/status/2008909129591443925)。早朝の散歩中、スマートフォンに向かって録った独白だ。資金は6か月分しか残らず、エンジニアチームの75%を解雇したばかりだった。実際には4人中3人だが、皆非常に優秀だったという。時間があれば聞いてみてほしい。声から、沈んだ空気と無力感が伝わる。

Tailwind の歴史も少し補足する。登場は2017年で、私は2020年に輝きの頂点へ達したと思う。その年 Adam Wathan は、[最初の商用製品 Tailwind UI が公開から5か月足らずで売上200万ドルを超えた](https://adamwathan.me/tailwindcss-from-side-project-byproduct-to-multi-mullion-dollar-business/)と、興奮して発表した。今振り返ると、フロントエンド業界に一つの頂点があったとすれば、かなりの部分は2020年に置けると思う。

Tailwind 以前に最も人気のあったコンポーネントライブラリは Bootstrap だ。それを押しのけられたのは、CSS の保守コストを狙ったからだ。Tailwind の設計思想は Utility-First で、既製コンポーネントではなく p-4、flex、text-red-500 のような基本部品を提供する。本質的には、CSS 分野での「継承より合成」の勝利だった。Bootstrap は既製コンポーネントを継承する発想であり、Tailwind はアトミックなクラスを組み合わせて新しいスタイルを作る発想だ。

最後にオープンソースについて。コミュニティでは、こんな声がある。「最後に残るオープンソースは二種類だけだ。無償のボランティアが力尽きるのを待つ、廃止へのカウントダウン中のプロジェクトか、大企業が支援するプロジェクトか。」

今見える範囲では、Tailwind は前者、Bun は後者だ。根にあるのは、ただ乗りの問題だ。AI 時代以前は、多くの利用者がお金を払わなくても、アクセス、評判、採用の機会をもたらしていた。しかし AI 時代には Agent が究極のただ乗り者になる。オープンソースの知識を極めて効率よく吸い上げ、商用サービスの価値へ変える一方、保守する人には何も戻らない。

少なくとも Tailwind は、オープンソースで注目を集め、注目を売上へ変える古典的なビジネスモデルが、転換を迫られていることを示す。

ただし、世界が二つの選択肢だけに固定されるわけではない。例えば、オープンソースの精神を持つプラットフォームと言える Stack Overflow だ。これも先週のニュースだが、ChatGPT の登場後、月間質問数は30万からほぼゼロになった一方、コンテンツのライセンス供与と企業向け AI 製品による収益化で、年間売上は倍増し1.15億ドルになった。
