室内设计 AI 智能体开发实录:Gemini 图像合成 + Marimo 笔记本 + Weave 追踪

AI小蝌蚪AI 前沿📡 觉醒AI2026-09-211473 阅读💛 145 收藏

一句话结论

W&B AI Builders 系列首篇实录:作者为自家换灯买椅的真实需求,用 Marimo 笔记本加 gemini-3.1-flash-image(Nano Banana 2)模型搭了一个室内设计智能体——上传房间照片和家具图片,模型直接合成「这件家具摆在你家」的效果图。完整代码开源,含可复用的 ImageGeneratorModel 类与 Weave 可观测性埋点,是「图像生成智能体怎么从零搭起来」的干净范本。

用例:为什么自己搭

室内预览不是新东西——设计师和家具零售商几年前就让顾客传房间照片看效果了。但自己搭有两大好处:搞懂它怎么工作,以及把体验塑造成任何你想要的样子。

对开发者而言,被困死在僵硬的库或固执的工作流里的痛大家都懂。作者的触发点很生活化:搬桌子吸尘时打碎一盏灯,加上客厅要从「幼崽杂物场」升级成有大人的唱片机,于是顺手搭了个应用看新灯、新桌、新椅摆在家里到底什么样。

教程聚焦第一个场景:在卧室里试新灯。配图素材与代码都在 GitHub 仓库(rratshin-wandb/ai-builders),连作者的猫 Max 都有出镜。

搭建:Marimo 笔记本 + Gemini 模型

Python 笔记本适合这类项目:实验快、迭代快、随时能变成可分享的原型。Marimo 是为 AI 工作流设计的笔记本环境(近期被 CoreWeave 收购),解决了传统 Jupyter 的若干痛点,本项目用它做全部原型工作。

模型侧选 gemini-3.1-flash-lite-preview(也叫 Nano Banana 2)——图像生成是它的活,应用接口才是作者写的部分。

作者建议多试几个模型看哪个适合自己的任务:跟文本一样,不同模型各有擅长。Gemini API 密钥从官方 quickstart 文档按步骤领取。

代码:从单次调用到智能体类

直接在 Python 单元格里调一次 LLM 也行,但为了可复用,作者给了轻量结构——一个简单的智能体类,并全程埋 Weave 探针,运行时与跑完后都能看清智能体在干什么。

ImageGeneratorModel 继承 weave.Model,核心三件套:is_url() 判断输入是本地路径还是网络地址;load_image() 自动检测后用 PIL 打开,本地文件查存在性、URL 走 requests 拉流;invoke() 是主入口,接收图像路径列表、用户提示词与输出文件名,把两张以上图片用 Gemini Flash 的原生图像输入输出合成——提示词类似「把这几盏灯放进这间卧室」。

评估、监控与迭代

这是讲 LLM 非确定性、以及为什么可观测性和评估在真实 AI 应用里如此要紧的环节。传统单元测试仍要,但不再够用——还需要离线评估、在线监控、以及随时间衡量质量的可靠手段。

LLM 评审能扛下大量打分工作,但与真实人工标注配合时效果最好。Weave 的价值在这里兑现:不管是早期笔记本原型还是已部署的网页或移动应用,抓住对的数据才能抓失败、才能持续改进智能体。

notebook 输出适合快速目测,但 Weave 里能把生成图片与成本、延迟等指标并排检视——有了这个可见性,就能比较模型、打磨提示词、在质量、成本与速度之间找平衡点。

动手:换图跑你自己的家

把 GitHub 仓库里的 notebook 拉下来,换成你自己卧室、客厅、灯、沙发、宠物的照片跑一遍,再去 Weave 里看那些 run——感受 AI 应用工作流里的追踪、评估与迭代。作者的收尾观察:两年前这些还难如登天,如今触手可及;越来越多的时候,「做构建者」不再是一行行手写代码,而是引导 AI 辅助开发、用你的经验去架构更好的应用。

原文信息

  • 作者:Russ Ratshin(wandb_fc)
  • 发布时间:2026 年 4 月 24 日 原文地址:

文章评论(0

暂无评论,快来抢沙发~