展示 AI Agent 自动化串联两个 Hugging Face Spaces 完成 3D 画廊构建,体现 Agent 组合工具的可能性。
我让一个 coding agent 构建了一个精美的网站,用 3D Gaussian splats 展示巴黎的地标建筑。我没有打开过图像生成器,也没有接触过任何 3D 重建工具。Agent 直接调用两个 Hugging Face Spaces,生成了所有素材(包括图像和 3D splats),然后把它们接入一个富有电影感的查看器中。
这是最终成果,以静态 Space 的形式在线运行:
👉 mishig/monuments-de-paris
这篇文章要讲的是:为什么现在已经能做到这件事,以及为什么我认为,它预示着未来大量多媒体软件的构建方式。
Mitchell Hashimoto 最近描述了一种他称为「积木经济」(building block economy)的转变:构建软件最有效的方式,不再是打造一个精致的单体系统,而是提供规模小巧、文档完善的组件,让其他人——越来越多时候是 Agent——把它们组装起来。他的核心观察是:AI 从零构建一切的能力还算可以,但它非常擅长把经过验证的模块粘合在一起。
过去,人们主要通过代码库来阐述这一观点。但同样的力量也正在影响多媒体 AI。使用最先进的图像模型、视频模型、TTS 模型或 3D 重建模型时,真正困难的部分从来都不是模型本身,而是集成:SDK、权重、GPU、输入格式、轮询。如果每个模型都能变成一个有文档、可调用的模块,Agent 就可以像拼装 npm packages 一样,把它们粘合在一起。
而这正是 Hugging Face Spaces 在不知不觉中演变成的形态。
Hub 托管着数千个最先进的模型,其中很大一部分采用 open-weights,并且多数模型都以交互式 Spaces 的形式部署。现在,每个 Gradio Space 还会公开一个纯文本的 agents.md,明确告诉 Agent 应该如何调用它:
curl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md
一次请求就会返回所有必要信息:schema 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 "files=@file.ext"
Auth: Bearer $HF_TOKEN
不需要客户端库,也不需要硬编码集成。Agent 读完这些内容,就能端到端地驱动整个 Space。设置好 HF_TOKEN,马上就能开始。你可以通过任何 Gradio Space 上的 Agents 按钮找到这些说明:
真正带来突破的是链式调用:一个 Space 的输出,会成为下一个 Space 的输入。Prompt → 图像 → 3D。这就是这座画廊背后的完整 pipeline。
Agent 串联了两个 Spaces:
图像:一个图像生成 Space 把每座地标转换成背景干净、深色的「标本」照片(还把埃菲尔铁塔做成了一个放在基座上的小型立体模型)。输入 prompt,输出图像。
Splat:VAST-AI/TripoSplat 根据每张单独的图像,重建出一个 3D Gaussian splat(.ply)。输入图像,输出 3D。
以下是 Agent 生成的六张源图像。它们都被单独置于黑色背景上,可以直接用于单图 3D 重建:
此后,「粘合」工作也由 Agent 完成。它发现 TripoSplat 的输出采用 Y 轴向下的坐标系,于是将其翻转至正向;它自动为每座地标调整取景,将 .ply 文件压缩成 .ksplat(体积缩小约 3 倍,因此加载速度很快),构建了一个 Three.js 查看器,提供滚动切换和拖拽旋转 UI,最后把整个项目部署为静态 Space。人类提供的输入只涉及审美层面的调整:「再拉远一点」「把方尖碑换成更适合做 splatting 的东西」「转场停留得太久了」。
其中有几个步骤,是 Agent 根据现实效果作出的反应。宽大的玻璃金字塔很难生成良好的 splat;细长的方尖碑又很单调;单视角重建必须推断物体背面的形态。这恰好就是积木经济所预测的「外包 R&D、快速迭代」循环,只不过这一次,R&D 是通过对话完成的。
检验一个积木是否真正好用,要看复用它的成本有多低。这套 pipeline 一旦建成,创建完全不同的新画廊,每个大约只需要一句话。「创建一个类似的 Space,用 splats 展示日本地标」,然后再为埃及重复一次,剩下的工作全部由 Agent 完成:每个国家生成六张地标图像、六个 splats,完成压缩、查看器构建以及 Space 部署。
🏛️ 埃及地标:吉萨大金字塔、狮身人面像、阿布辛贝神庙、图坦卡蒙面具、卡纳克神庙、门农巨像。
<video autoplay loop muted playsinline width="100%" src="
⛩️ 日本地标:东京塔、姬路城、金阁寺、大阪城、镰仓大佛、严岛神社鸟居。
<video autoplay loop muted playsinline width="100%" src="
还是相同的两个 Spaces、相同的 agents.md,只有 prompts 发生了变化。这句话就概括了积木经济:一款新多媒体应用的边际成本,正在逼近描述它所需的成本。
模型开始具备可组合性。来自不同组织的 SOTA splat 模型和 SOTA 图像模型,无须编写任何集成代码就能串联起来。Hub 上的 open-weights 模型目录,也由此变成了一个由可调用多媒体原语组成的库。
Agents 偏爱文档完善且容易访问的东西。agents.md 让 Space 变得极易访问,因此相比需要手动搭建的模型,Agent 会优先选择 Space。这与 Hashimoto 在开源库领域指出的趋势如出一辙。
过去的障碍是集成,而现在,这道障碍在很大程度上已经消失。「把一条 prompt 变成一座可旋转的 3D 地标」以前是一个完整项目,而在这里,它只是 pipeline 中的一个步骤。
让你自己的 Agent 读取某个 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
把任意一个链接粘贴到你的 coding agent(Claude Code 等)中,设置 HF_TOKEN,然后让它构建点东西。这座画廊完整且可复现的 pipeline,以及调用这两个 agents.md 端点的脚本,都存放在 Space repo 中。
这些积木就摆在 Hub 上。Agents 已经知道该如何把它们粘合起来。
我让一个 coding agent 构建了一个精美的网站,用 3D Gaussian splats 展示巴黎的地标建筑。我没有打开过图像生成器,也没有接触过任何 3D 重建工具。Agent 直接调用两个 Hugging Face Spaces,生成了所有素材(包括图像和 3D splats),然后把它们接入一个富有电影感的查看器中。
这是最终成果,以静态 Space 的形式在线运行:
👉 mishig/monuments-de-paris
这篇文章要讲的是:为什么现在已经能做到这件事,以及为什么我认为,它预示着未来大量多媒体软件的构建方式。
Mitchell Hashimoto 最近描述了一种他称为「积木经济」(building block economy)的转变:构建软件最有效的方式,不再是打造一个精致的单体系统,而是提供规模小巧、文档完善的组件,让其他人——越来越多时候是 Agents——把它们组装起来。他的核心观察是:AI 从零构建一切的能力还算可以,但它非常擅长把经过验证的模块粘合在一起。
过去,人们主要通过代码库来阐述这一观点。但同样的力量也正在影响多媒体 AI。使用最先进的图像模型、视频模型、TTS 模型或 3D 重建模型时,真正困难的部分从来都不是模型本身,而是集成:SDK、权重、GPU、输入格式、轮询。如果每个模型都能变成一个有文档、可调用的模块,Agent 就可以像拼装 npm packages 一样,把它们粘合在一起。
而这正是 Hugging Face Spaces 在不知不觉中演变成的形态。
Hub 托管着数千个最先进的模型,其中很大一部分采用 open-weights,并且多数模型都以交互式 Spaces 的形式部署。现在,每个 Gradio Space 还会公开一个纯文本的 agents.md,明确告诉 Agent 应该如何调用它:
curl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md
一次请求就会返回所有必要信息:schema 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 "files=@file.ext"
Auth: Bearer $HF_TOKEN
不需要客户端库,也不需要硬编码集成。Agent 读完这些内容,就能端到端地驱动整个 Space。设置好 HF_TOKEN,马上就能开始。
真正带来突破的是链式调用:一个 Space 的输出,会成为下一个 Space 的输入。Prompt → 图像 → 3D。这就是这座画廊背后的完整 pipeline。
Agent 串联了两个 Spaces:
图像:ideogram-ai/ideogram4 把每座地标转换成背景干净、深色的「标本」照片(还把埃菲尔铁塔做成了一个放在基座上的小型立体模型)。输入 prompt,输出图像。
Splat:VAST-AI/TripoSplat 根据每张单独的图像,重建出一个 3D Gaussian splat(.ply)。输入图像,输出 3D。
以下是 Agent 生成的六张源图像。它们都被单独置于黑色背景上,可以直接用于单图 3D 重建:
此后,「粘合」工作也由 Agent 完成。它发现 TripoSplat 的输出采用 Y 轴向下的坐标系,于是将其翻转至正向;它自动为每座地标调整取景,将 .ply 文件压缩成 .ksplat(体积缩小约 3 倍,因此加载速度很快),构建了一个 Three.js 查看器,提供滚动切换和拖拽旋转 UI,最后把整个项目部署为静态 Space。人类提供的输入只涉及审美层面的调整:「再拉远一点」「把方尖碑换成更适合做 splatting 的东西」「转场停留得太久了」。
其中有几个步骤,是 Agent 根据现实效果作出的反应。宽大的玻璃金字塔很难生成良好的 splat;细长的方尖碑又很单调;单视角重建必须推断物体背面的形态。这恰好就是积木经济所预测的「外包 R&D、快速迭代」循环,只不过这一次,R&D 是通过对话完成的。
检验一个积木是否真正好用,要看复用它的成本有多低。这套 pipeline 一旦建成,创建完全不同的新画廊,每个大约只需要一句话。「创建一个类似的 Space,用 splats 展示日本地标」,然后再为埃及重复一次,剩下的工作全部由 Agent 完成:每个国家生成六张地标图像、六个 splats,完成压缩、查看器构建以及 Space 部署。
🏛️ 埃及地标:吉萨大金字塔、狮身人面像、阿布辛贝神庙、图坦卡蒙面具、卡纳克神庙、门农巨像。
⛩️ 日本地标:东京塔、姬路城、金阁寺、大阪城、镰仓大佛、严岛神社鸟居。
还是相同的两个 Spaces、相同的 agents.md,只有 prompts 发生了变化。这句话就概括了积木经济:一款新多媒体应用的边际成本,正在逼近描述它所需的成本。
模型开始具备可组合性。来自不同组织的 SOTA splat 模型和 SOTA 图像模型,无须编写任何集成代码就能串联起来。Hub 上的 open-weights 模型目录,也由此变成了一个由可调用多媒体原语组成的库。
Agents 偏爱文档完善且容易访问的东西。agents.md 让 Space 变得极易访问,因此相比需要手动搭建的模型,Agent 会优先选择 Space。这与 Hashimoto 在开源库领域指出的趋势如出一辙。
过去的障碍是集成,而现在,这道障碍在很大程度上已经消失。「把一条 prompt 变成一座可旋转的 3D 地标」以前是一个完整项目,而在这里,它只是 pipeline 中的一个步骤。
让你自己的 Agent 读取某个 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
把任意一个链接粘贴到你的 coding agent(Claude Code 等)中,设置 HF_TOKEN,然后让它构建点东西。这座画廊完整且可复现的 pipeline,以及调用这两个 agents.md 端点的脚本,都存放在 Space repo 中。
这些积木就摆在 Hub 上。Agents 已经知道该如何把它们粘合起来。
无需 Photoshop,无需 Blender:由 Agent 构建多媒体内容
36 条 Prompts,一座无限城市
· 注册或登录后发表评论