Back to Articles

Mishig Davaadorj's avatar

エージェントが2つのHugging Face Spacesから3Dパリギャラリーを構築しました。

私はコーディングエージェントに、パリのモニュメントを3D Gaussian splatとして紹介する美しいウェブサイトを構築するよう依頼しました。私は一度も画像生成ツールを開かず、3D再構築ツールにも触れませんでした。エージェントは2つのHugging Face Spacesを直接呼び出してすべてのアセット(画像および3D splat)を生成し、それらをシネマティックビューアに接続しました。

結果は静的Spaceとして公開されています:

👉 mishig/monuments-de-paris

この記事では、それが今可能になった方法と、多くのマルチメディアソフトウェアが今後どのように構築されていくかのプレビューだと私が考える理由について説明します。

マルチメディアに到来するビルディングブロックエコノミー

Mitchell Hashimotoは最近、building block economyと呼ぶ変化について説明しました。 ソフトウェアへの最も効果的な道は、もはや洗練されたモノリスではなく、他の人(ますますエージェント)が組み立てられる、小さく、よくドキュメント化されたコンポーネントであるというものです。 彼の重要な観察点は、AIはゼロからすべてを構築することにはまあまあですが、実績のある部品を繋ぎ合わせることに本当に優れているということです。

このテーゼは主にコードライブラリについて語られてきました。しかし、同じ力がマルチメディアAIにも影響を与えています。最先端の画像モデル、動画モデル、TTSモデル、または3D再構築モデルを使う上で難しい部分は、モデルそのものではありませんでした。 それは統合でした:SDK、重み、GPU、入力形式、ポーリング。各モデルが代わりにドキュメント化された呼び出し可能なブロックであれば、エージェントはnpmパッケージをまとめるのと同じ方法でそれらを繋ぎ合わせることができます。

それがまさにHugging Face Spacesが静かに実現してきたことです。

agents.mdを通じて、すべてのSpaceはビルディングブロックになる

Hubには数千の最先端モデル(その大部分がopen-weights)がホストされており、そのほとんどがインタラクティブなSpacesとしてデプロイされています。現在、すべてのGradio Spaceは、agents.mdというプレーンテキストも公開しており、エージェントに呼び出し方を正確に指示します:

curl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md

これにより、スキーマURL、呼び出しとポーリングのテンプレート、ファイルのアップロード方法、認証のヒントが一度にすべて返されます:

API schema:   GET  .../gradio_api/info
Call endpoint: POST .../gradio_api/call/v2/{endpoint} {"param_name": value, ...}
Poll result:  GET  .../gradio_api/call/{endpoint}/{event_id}
File inputs:  POST .../gradio_api/upload -F "[email protected]"
Auth:         Bearer $HF_TOKEN

クライアントライブラリは不要です。ハードコードされた統合も不要です。エージェントがこれを読み取れば、Spaceをエンドツーエンドで駆動できます。HF_TOKENを設定すればすぐに始められます。これらの手順は、どのGradio SpaceでもAgentsボタンから確認できます:

The Agents button on a Hugging Face Space

真の利点は連結です:1つのSpaceの出力が次のSpaceの入力になります。プロンプト → 画像 → 3D。これがこのギャラリーの背後にあるパイプライン全体です。

実例:パリのモニュメント → splat

エージェントは2つのSpaceを連結しました:

  1. 画像: 画像生成Spaceが各モニュメントを、背景が暗くクリーンな「標本」ショットに変換しました(エッフェル塔は台座の上に小さなジオラマとして)。プロンプトを入力すると画像が出力されます。
  2. Splat: VAST-AI/TripoSplat が各単一画像から3D Gaussian splat(.ply)を再構築しました。画像を入力すると3Dが出力されます。

生成された画像

Generated Panthéon

再構築されたsplat

エージェントが生成した6枚のソース画像はすべて黒背景で孤立しており、単一画像からの3D再構築に適した状態です:

Generated monument images Generated Arc de Triomphe Generated Sacré-Cœur Generated Eiffel diorama

その後、エージェントは「接着」作業も行いました。TripoSplatの出力がY-downであることに気づいて正立させ、各モニュメントを自動でフレームし、.plyファイルを.ksplatに圧縮(読み込みを高速化するため約3倍小さく)、スクロールで切り替え、ドラッグで回転できるUIを備えたThree.jsビューアを構築し、すべてを静的Spaceとしてデプロイしました。人間からの入力は好みのレベルだけでした:「もっとズームアウトして」「オベリスクをsplatに適したものに置き換えて」「トランジションが長すぎる」。

これらのステップのいくつかはエージェントが現実に対応したものでした。幅広のガラスピラミッドはsplatが不十分。細いオベリスクは面白みに欠ける。単一視点の再構築は背面を推論する。これがまさに、ビルディングブロックエコノミーが予測する「R&Dを外注し、高速に反復する」ループであり、R&Dが会話だった点が異なります。

2つのプロンプトで全く新しいギャラリー

ビルディングブロックの本当のテストは、それをどれだけ安価に再利用できるかです。このパイプラインが完成すれば、全く新しいギャラリーを立ち上げるコストは、各国ごとに約1文で済みました。「日本向けのsplatで似たSpaceを作成して」と依頼すれば、エジプトの場合も同様に、エージェントが残りすべてを処理しました:6枚のモニュメント画像、6つのsplat、圧縮、ビューア、そしてデプロイされたSpace。

  • 🏛️ Monuments of Egypt: 大ピラミッド、スフィンクス、アブ・シンベル、ツタンカーメンのマスク、カナク、メモン像。

<video autoplay loop muted playsinline width="100%" src="

">

  • ⛩️ Monuments of Japan: 東京タワー、姫路城、金閣寺、大阪城、鎌倉の大仏、厳島神社の鳥居。

<video autoplay loop muted playsinline width="100%" src="

">

同じ2つのSpace、同じagents.md、変わったのはプロンプトだけです。これがビルディングブロックエコノミーを一言で表したものです:新しいマルチメディアアプリの限界費用が、それを記述するコストに近づくということです。

なぜこれが重要なのか

  • モデルが合成可能になる。 異なる組織のSOTA splatモデルとSOTA画像モデルが、統合コードゼロで連結されました。Hubのopen-weightsカタログは、呼び出し可能なマルチメディアプリミティブのライブラリに変わります。
  • エージェントはドキュメント化され、到達可能なものを好む。 agents.mdによりSpaceは極めて到達しやすくなり、エージェントは手動でセットアップする必要があるモデルよりもSpaceを選ぶようになります。これはHashimotoがオープンソースライブラリについて指摘したのと同じダイナミクスです。
  • 障壁は統合であり、それがほぼなくなった。 「プロンプトを回転する3Dモニュメントに変える」は、かつてはプロジェクトでした。ここではパイプラインの1ステップでした。

自分で試してみる

Spaceのagents.mdに自分のエージェントを向け、作業させましょう:

# image generation
curl https://huggingface.co/spaces/ideogram-ai/ideogram4/agents.md
# single-image to 3D gaussian splat
curl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md

いずれかのリンクをコーディングエージェント(Claude Codeなど)に貼り付け、HF_TOKENを設定して、何かを作成するよう依頼してください。このギャラリーの完全で再現可能なパイプライン、これらの2つのagents.mdエンドポイントを呼び出すスクリプトは、Spaceリポジトリにあります。

ビルディングブロックはHubのそこにあります。エージェントはすでに繋ぎ方を理解しています。

私はコーディングエージェントに、パリのモニュメントを3D Gaussian splatとして紹介する美しいウェブサイトを構築するよう依頼しました。私は一度も画像生成ツールを開かず、3D再構築ツールにも触れませんでした。エージェントは2つのHugging Face Spacesを直接呼び出してすべてのアセット(画像および3D splat)を生成し、それらをシネマティックビューアに接続しました。

結果は静的Spaceとして公開されています:

👉 mishig/monuments-de-paris

この記事では、それが今可能になった方法と、多くのマルチメディアソフトウェアが今後どのように構築されていくかのプレビューだと私が考える理由について説明します。

マルチメディアに到来するビルディングブロックエコノミー

Mitchell Hashimotoは最近、building block economyと呼ぶ変化について説明しました。 ソフトウェアへの最も効果的な道は、もはや洗練されたモノリスではなく、他の人(ますますエージェント)が組み立てられる、小さく、よくドキュメント化されたコンポーネントであるというものです。 彼の重要な観察点は、AIはゼロからすべてを構築することにはまあまあですが、実績のある部品を繋ぎ合わせることに本当に優れているということです。

このテーゼは主にコードライブラリについて語られてきました。しかし、同じ力がマルチメディアAIにも影響を与えています。最先端の画像モデル、動画モデル、TTSモデル、または3D再構築モデルを使う上で難しい部分は、モデルそのものではありませんでした。 それは統合でした:SDK、重み、GPU、入力形式、ポーリング。各モデルが代わりにドキュメント化された呼び出し可能なブロックであれば、エージェントはnpmパッケージをまとめるのと同じ方法でそれらを繋ぎ合わせることができます。

それがまさにHugging Face Spacesが静かに実現してきたことです。

agents.mdを通じて、すべてのSpaceはビルディングブロックになる

Hubには数千の最先端モデル(その大部分がopen-weights)がホストされており、そのほとんどがインタラクティブなSpacesとしてデプロイされています。現在、すべてのGradio Spaceは、agents.mdというプレーンテキストも公開しており、エージェントに呼び出し方を正確に指示します:

curl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md

これにより、スキーマURL、呼び出しとポーリングのテンプレート、ファイルのアップロード方法、認証のヒントが一度にすべて返されます:

API schema:   GET  .../gradio_api/info
Call endpoint: POST .../gradio_api/call/v2/{endpoint} {"param_name": value, ...}
Poll result:  GET  .../gradio_api/call/{endpoint}/{event_id}
File inputs:  POST .../gradio_api/upload -F "[email protected]"
Auth:         Bearer $HF_TOKEN

クライアントライブラリは不要です。ハードコードされた統合も不要です。エージェントがこれを読み取れば、Spaceをエンドツーエンドで駆動できます。HF_TOKENを設定すればすぐに始められます。

真の利点は連結です:1つのSpaceの出力が次のSpaceの入力になります。プロンプト → 画像 → 3D。これがこのギャラリーの背後にあるパイプライン全体です。

実例:パリのモニュメント → splat

エージェントは2つのSpaceを連結しました:

  1. 画像: ideogram-ai/ideogram4が各モニュメントを、背景が暗くクリーンな「標本」ショットに変換しました(エッフェル塔は台座の上に小さなジオラマとして)。プロンプトを入力すると画像が出力されます。
  2. Splat: VAST-AI/TripoSplat が各単一画像から3D Gaussian splat(.ply)を再構築しました。画像を入力すると3Dが出力されます。

生成された画像

Generated Panthéon

再構築されたsplat

エージェントが生成した6枚のソース画像はすべて黒背景で孤立しており、単一画像からの3D再構築に適した状態です:

Generated monument images Generated Arc de Triomphe Generated Sacré-Cœur Generated Eiffel diorama

その後、エージェントは「接着」作業も行いました。TripoSplatの出力がY-downであることに気づいて正立させ、各モニュメントを自動でフレームし、.plyファイルを.ksplatに圧縮(読み込みを高速化するため約3倍小さく)、スクロールで切り替え、ドラッグで回転できるUIを備えたThree.jsビューアを構築し、すべてを静的Spaceとしてデプロイしました。人間からの入力は好みのレベルだけでした:「もっとズームアウトして」「オベリスクをsplatに適したものに置き換えて」「トランジションが長すぎる」。

これらのステップのいくつかはエージェントが現実に対応したものでした。幅広のガラスピラミッドはsplatが不十分。細いオベリスクは面白みに欠ける。単一視点の再構築は背面を推論する。これがまさに、ビルディングブロックエコノミーが予測する「R&Dを外注し、高速に反復する」ループであり、R&Dが会話だった点が異なります。

2つのプロンプトで全く新しいギャラリー

ビルディングブロックの本当のテストは、それをどれだけ安価に再利用できるかです。このパイプラインが完成すれば、全く新しいギャラリーを立ち上げるコストは、各国ごとに約1文で済みました。「日本向けのsplatで似たSpaceを作成して」と依頼すれば、エジプトの場合も同様に、エージェントが残りすべてを処理しました:6枚のモニュメント画像、6つのsplat、圧縮、ビューア、そしてデプロイされたSpace。

  • 🏛️ Monuments of Egypt: 大ピラミッド、スフィンクス、アブ・シンベル、ツタンカーメンのマスク、カナク、メモン像。
  • ⛩️ Monuments of Japan: 東京タワー、姫路城、金閣寺、大阪城、鎌倉の大仏、厳島神社の鳥居。

同じ2つのSpace、同じagents.md、変わったのはプロンプトだけです。これがビルディングブロックエコノミーを一言で表したものです:新しいマルチメディアアプリの限界費用が、それを記述するコストに近づくということです。

なぜこれが重要なのか

  • モデルが合成可能になる。 異なる組織のSOTA splatモデルとSOTA画像モデルが、統合コードゼロで連結されました。Hubのopen-weightsカタログは、呼び出し可能なマルチメディアプリミティブのライブラリに変わります。
  • エージェントはドキュメント化され、到達可能なものを好む。 agents.mdによりSpaceは極めて到達しやすくなり、エージェントは手動でセットアップする必要があるモデルよりもSpaceを選ぶようになります。これはHashimotoがオープンソースライブラリについて指摘したのと同じダイナミクスです。
  • 障壁は統合であり、それがほぼなくなった。 「プロンプトを回転する3Dモニュメントに変える」は、かつてはプロジェクトでした。ここではパイプラインの1ステップでした。

自分で試してみる

Spaceのagents.mdに自分のエージェントを向け、作業させましょう:

# image generation
curl https://huggingface.co/spaces/ideogram-ai/ideogram4/agents.md
# single-image to 3D gaussian splat
curl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md

いずれかのリンクをコーディングエージェント(Claude Codeなど)に貼り付け、HF_TOKENを設定して、何かを作成するよう依頼してください。このギャラリーの完全で再現可能なパイプライン、これらの2つのagents.mdエンドポイントを呼び出すスクリプトは、Spaceリポジトリにあります。

ビルディングブロックはHubのそこにあります。エージェントはすでに繋ぎ方を理解しています。