7 ポイント 投稿者 GN⁺ 2026-01-29 | 4件のコメント | WhatsAppで共有
  • HTMLとCSSをレンダリングできるブラウザを、わずか3日で1人の人間と1つのLLMエージェントがRustで直接実装
  • プロジェクトは約20,150行のコードで完成し、スクロール・戻る・ヘッドレスモードなどの基本機能を含む
  • 外部Rustライブラリなしで、Windows、macOS、Linuxで動作するよう設計
  • 開発プロセスはCodexエージェントとの協業で進められ、人間は調整と検証を担当し、エージェントはコード作成を担当
  • 結果として、**「1人の人間 + 1つのエージェント」**の組み合わせが、多数のエージェントより効率的であることを示す事例

プロジェクト概要

  • 目標は、HTMLとCSSをレンダリングできる基本的なブラウザを完全にゼロから作ること
    • JavaScriptはサポートしない
    • 開発者は「楽しみ半分」で始め、LLMエージェント(Codex)と協業して進行
  • 3日以内の完成外部Rust依存の禁止主要3 OS対応などの制約条件を設定
  • ブラウザは独自のレンダリングエンジンを備え、スクリーンショット機能、リンククリック、回帰テスト機能を含む

Day 1 – 初期実装

  • 「Hello World」のレンダリングから始めて、ネストしたタグの処理スクリーンショット機能を追加
  • HTML/CSS仕様を定義し、E2Eテストのために画像比較機能を導入
  • 1日でX11とcURLを使ってWebサイトを取得してレンダリングする段階まで到達
    • コードベースは約7,500行、すべてのファイルは1,000行以下に維持

Day 2 – 機能拡張

  • テスト中にウィンドウが開く問題を解決するため、--headlessモードを追加
  • ウィンドウサイズ変更、互換性、性能、フォントレンダリングを改善
  • ワークフローは、Webサイトのスクリーンショットを共有し、それをCodexが再現する方式
    • コードの大半はエージェントが作成し、人間はレビューと承認を担当

Day 3~4 – 完成とクロスプラットフォーム対応

  • スクロール、デバッグログ、戻るボタンなど、ブラウザに必須の機能を追加
  • macOSとWindows対応を実装し、テストを通過
  • CI統合とリリースビルドを完了し、総開発時間は約72時間

結果とコード統計

  • 最終コードベースは約20,150行72ファイルで構成
  • 主要ファイルにはlayoutstyleplatformbrowserモジュールなどを含む
  • Cargo.lockが空であり、つまり外部Rustパッケージなしで完全に独立実行可能
  • GitHubでCIビルド済みバイナリとソースコードを直接ダウンロード可能

主な教訓

  • 1人の人間 + 1つのエージェントの組み合わせは、数千のエージェントを使うより効率的
  • 単一のエージェントが長時間1つのコードベースを扱いながら実質的な前進を達成できる
  • 複数の人がそれぞれエージェントを持つ形へ拡張できる可能性がある
  • 速度を落とすことが、むしろより速くより良い結果を生むことがある
  • エージェントを操る人間の役割は、システム設計より重要かもしれない
  • 結論として、「複数のエージェントを投入すれば開発は加速するのか?」という問いに対し、
    単一の人間とエージェントの協業の方が、より現実的で効率的である可能性を示す事例である

4件のコメント

 
pkj3186 2026-01-29

私がよく分かっていないのでお聞きしたいのですが、Hacker News の意見に出てくる Simonのブログ って、いったいどんなブログだからそんなにたびたび言及されるのでしょうか……?

 
laeyoung 2026-01-29

Simon Willison が投稿したブログ記事が Hacker News でよく話題になる理由は、おそらく、

  1. AI 関連の記事をうまく、そして速く大量に書いている理由もあるでしょう。AI の性能テストでよく行われる「自転車に乗ったペリカン」を描かせるのも、この人が先にやっていたようです(https://simonwillison.net/search/?q=pelican)
  2. Django を作った人なので知名度もあります。
 
qyurila 2026-01-29

Hacker Newsで2025年に最も人気だったブログ の中で1位だったブログですね。知名度も知名度ですし、掲載される記事数もかなり多いため、一般的なHacker Newsユーザーの立場では最も頻繁に訪れるブログであり、自然と指標のように見なされているのではないかと思います。

 
GN⁺ 2026-01-29
Hacker Newsのコメント
  • CursorのFastRenderよりはるかに優れたコード生成ブラウザのデモだと思う
    Rust約2万行とかなり小さく、画像・テキスト描画にはシステムライブラリだけを使っていて、コードも読みやすい
    たとえばflexbox実装コードを見ると明快
    私のブログを描画したスクリーンショットも載せたが、CSSグラデーションとSVGアイコンはうまく処理する一方で、PNGは失敗する
    HTML+CSSを描画するブラウザは並列エージェント実演に最適な課題だと思っていたが、1人のコーディングエージェントでも可能だったのは驚き

    • エンジニアリングの観点では、Cursorのブラウザよりずっと完成度の高い設計だと思う
      重要なのは単にトークンを多く使うことではなく、エージェントを効果的に活用する方法
      私も複数のプロジェクトを生成したあと、数日して捨てたことが何度もある。エージェントはフィードバックなしでは言われた通りに動くだけなので、方向が間違っているとむしろさらに深い穴を掘ってしまう
    • 人間とエージェントの協業が決定的な差を生むと思う
      Claudeがとんちんかんな方向に進んでも、正しいエージェント構造があれば立て直せる
      私はいま評価者・研究者・実装者エージェントを分離した実験を進めている
      スコアを基準にテストを拡張したり失敗原因を調査させたりし、改善がなければコミットを破棄する
      こうした構造のほうがコード品質管理にはるかに有利だ
      コードが安く、捨てられる時代には、ワークフローそのものが変わるべきだ
    • embedding-shapesが自ら手で作り上げた点が印象的だ
      1人+1エージェントが500万ドル、160万LOCのブラウザに勝つ**『ダビデ対ゴリアテ』のような話に感じる
      AIはいまなお
      ブラックボックス**で、誰もが実験しながら方向を探っている
      2026年はもう1か月経ったが、これからどんな実験が出てくるのか興味深い
      SimonがHNの2026年予測スレッドを定期的にレビューしたら面白そうだ
  • 3日という制限を設け、RustのサードパーティcrateなしでOS標準ライブラリだけを使ってX11/Windows/macOSをサポートするというルールを定めた
    約2万LOCで完成し、そのうち1.4万行がエンジン、6000行がプラットフォーム対応コードだ
    ソースコードとバイナリを公開した

    • 20年前にKHTML/konquerorへ貢献していたときは、基本的な描画だけを実装するにも数か月かかった
      今は機械可読なテストスイートのおかげでずっと効率的だ
      昔はIEの挙動が事実上の標準だったが、いまはGoogleやAppleなどが標準化に貢献していて、はるかに良くなった
    • どのモデルを使ったのか、トークンコストがいくらだったのか気になる
    • 制約条件が素晴らしい
  • 機能とは別に、こういうコードベースのセキュリティ監査が気になる
    Rustは助けになるだろうが、言語保証だけで十分なのか疑問だ

    • セキュリティはまったく考慮されていない。サンドボックスなしで任意のWebサイトを開くのは危険だ
      Rustは基本的なメモリエラーを防ぐだけで、ローカルファイルアクセスのようなものは防げない
      JSエンジンがないのでデータ流出は起こしにくいが、監査すれば深刻な脆弱性がいくつも見つかりそうだ
  • コミュニティがbrowserBenchを待ち望んでいたが、ついに始まってうれしい
    ブラウザは最も複雑なソフトウェアのひとつなので、こうした試みは限界評価の基準点になるはずだ

  • 2万行でブラウザを作るというのがあまり想像できない
    zlibだけでも1.2万行なのに、何か抜けているのではと思ってしまう
    OSの描画呼び出しだけをしているのか気になる

    • LinuxではX11、glib、グラフィック形式、暗号化など78個の動的ライブラリにリンクしている
    • Rust依存はなく、OS標準フレームワークを使っている
      どのライブラリを使っているかはREADMEに明記されている
  • 自分で動かしてみたところ、描画はかなり混乱している
    リンクの色や下線に一貫性がなく、Windowsでは戻るボタンが動かない
    それでもHNのホームページやSimonのブログはかなりうまく描画している

    • このブラウザは独立した製品というより、Cursorのscaling-agents記事への応答プロジェクト
      LOCを少なく保ちながら似た機能を実装するのが目標だった
      デフォルトスタイルシートがないのでリンク色が一定ではない
      Windows 11では戻るボタンは動作する。もしWindows 10なら、それが原因かもしれない
  • Simonのブログを描画することがAIブラウザの代表的な目標になりそうだ
    ただ、まだ本物のブラウザというよりレンダラーの段階だ
    Servoのようなプロジェクトで、AIがAPI実装を補完する方向のほうがより印象的だろう

    • 同意する。これはブラウザと呼ぶには不十分で、基本的なHTMLさえまともに描画できず、頻繁にクラッシュする
      それでもCursorの試みよりは良く、**「コンパイルできる」**という点は最低限の前進だ
  • 1人でやっていたらどれくらいかかったのか気になる
    エージェントの助けを理解するには、そのガイドに注ぎ込まれた専門性の深さを知りたい

    • 1人ではおそらく不可能だったと思う
      Rustは分かるが、X11やmacOS、Windows APIは知らなかったので、そもそも始めるのも難しかったはずだ
      ただ、テスト・インフラ・設計の経験が多かったので、エージェントと協業するうえで助けになった
    • sloccountツールで計算してみると
      このプロジェクトは2000年基準で4.58人年、61万ドル
      2025年基準では5.6年、138万ドル規模と推定される
  • この記事が興味深いのは、成果物ではなく作る過程と制約条件に焦点を当てているからだ
    たいていの記事は成果物や作者に注目するが、これはプロセス中心の洞察を与えてくれる

    • 私もCursor関連の記事を書いた者として、彼らの「成功」の定義がだんだん理解できなくなっていた
      だから、何が本当に難しい部分なのか、どの過程が誤っているのかを探るほうがより意味があると感じた
  • 印象的な仕事だ
    アクセシビリティ(Accessibility) をRust依存なしで実装するにはどうすればいいのか気になる
    Windows/macOSではUI AutomationとNSAccessibilityで可能だが、X11では

    1. D-BusでAT-SPIを新たに実装するか
    2. 既存のD-Bus Cライブラリを使うか
    3. GTKやQtを使う方法がある