把整个开发团队,
装进一次对话。
Moebius 是桌面上的智能体指挥中心:产品经理、开发、文案、测试在同一条会话里并行推进,每一段改动全程可见、可回退。
Moebius 的方式
不要一个个
管理 Agent。
只需要和 Leader Agent 聊清楚就可以了。
从一个团队开始
每一个需求,都有对应最专业的团队。
- 团队开箱即用——开发、文案、增长,按领域预置好角色
- 按需求匹配——说出目标,为你推荐最合适的一支
- 成员各司其职——专长写在卡片上,谁做什么一眼看清
尽情表达需求,团队自己会推进
你就像老板一样,只需要发号施令。Agent 管理者会主动推进,遇到问题会即时和你汇报,供你决策。
- 说人话就行——不拆任务、不排期,一句话下达目标
- 进度主动汇报——每一步状态实时长在会话里
- 决策摆到面前——需要拍板时,选项直接给你
团队进程不满意?直接开始优化
在会话的更多菜单点击「分析这段对话」,在侧边栏直接提出你想要的疑问。
- 一键分析——更多菜单里点一下,整段对话的得失自动梳理
- 侧边栏直接问——哪里慢了、哪里偏了,想问就问
- 优化成指令——分析结论可以直接转成下一轮安排
同一道题,一个 Agent,和一支团队。
两次都用 Claude Opus 5。唯一的差别是交付前有没有第二个 Agent 复核。
这两份产物各自是怎么跑出来的。
两次运行都被完整记录下来,放在下面同一条时间轴上。点任意一步,看那个 Agent 当时在做什么、花了多少钱、说了什么。
一个 Agent
32 分 31 秒$7.28 · 139.1k token
两个 Agent
32 分 24 秒$8.14 · 121.2k token
同样的墙钟时间,切分方式不同。两个 Agent 生成的 token 反而比一个少 13%——多出来的 $0.85 花在上下文上:两条会话各自带着自己的历史。两条轴都按上面那把尺子的真实比例画——第二条末尾那一小条就是 23 秒的定稿。
原话——这个 Agent 在这一步写下的全部 11 条消息,未经编辑。它这一轮是用英文工作的。只把它贴进对话的 SVG 源码折叠了。
I'll compute the leg inverse-kinematics keyframes first so the feet track the pedals exactly, then assemble the SVG.
Geometry is settled; recomputing the IK against the final frame dimensions.
Feet track the pedals to within 0.14px. Now assembling the SVG.
XML comments can't contain
--— my divider comments are invalid. Fixing.The bike reads well; the pelican's proportions are wrong and the legs are lost behind it. Let me check the current markup around the bird before replacing it.
The proportions are still off and the legs are buried under the wing. Rewriting with a smaller, lighter bird and the pedalling leg drawn in front.
The static renderer ignores SMIL, so that PNG shows the un-animated pose. Let me bake explicit poses at several crank angles to verify the geometry.
Mechanics check out at every phase. Now improving leg readability and the pouch attachment.
Baked poses are correct. Now confirming SMIL actually runs in a real browser.
Everything checks out mechanically. One last fix so the chain shares the exact 1.2 s master period.
Here is the finished animated SVG. Save it as a
.svgfile and open it in a browser (also embeddable via<img>,<object>, or inline in HTML). It's fully self-contained — no external fonts, images, scripts, or CSS. How it's built - Bicycle — a true diamond frame: seat tube, top tube, down tube, head tube, chainstay and seat stay, plus a raked fork, seatpost/saddle, stem and bar. Both wheels carry 16 radial spokes, a rim, a tyre and a hub, with an orange valve so the rotation is unambiguous. - Drivetrain — the chainring is welded in phase to the crank, the rear sprocket to the rear wheel, and the chain's link dashes travel forward on the taut upper run and back along the sagging lower run, at exactly the chainring's surface speed. - Legs — I solved the two-link inverse kinematics offline (hip → knee → ankle, 84 and 94 units against a 28-unit crank) and baked 36 keyframes per joint. The feet aren't approximately near the pedals, they're on them: measured live in Chrome, the worst foot-to-spindle gap over a full revolution is 0.225 px. - Plumage — full breeding dress of the California race: bright red gular pouch, dark chestnut hindneck, pale straw-yellow crown, white side-neck stripe, ochre patch at the base of the foreneck, silvery scapular streaking on the mantle, layered wing coverts, long flight feathers sweeping back over the flank, a feathered thigh and webbed totipalmate feet. - Loop — everything runs on a 1.2 s master period (the bob and speed lines at 0.6 s divide it evenly). Sampling the full transform state of all 157 rendered nodes at t and t+1.2 s differs by at most 0.0002 px, so the loop is seamless. [ 25,877 字节的 SVG 源码 ] One honest caveat: I made the crank turn 1:1 with the rear wheel, since you asked for them to be in phase. A real bike gears that up several times over — if you'd rather have realistic gearing, change the two wheeldur="1.2s"values todur="0.4s"for a 3:1 ratio; the legs and chain stay tied to the crank and nothing else needs touching. A working copy is also on disk atscratchpad/pelican.svg.
逐条大意:先解腿部逆运动学关键帧、组装 SVG,发现 XML 注释里的 -- 非法,两次重画鹈鹕的比例与腿的层次,烘焙多个曲柄相位验证几何,确认 SMIL 在真实浏览器里确实在走,最后把链条统一到 1.2 秒主周期。
然后就交付了。它一路上核过自己的几何,上面看得到——但没有任何一步把题面拿回来对着成品逐条核。这次运行没有第二步。
原话——这个 Agent 在这一步写下的全部 9 条消息,未经编辑。只把它贴进对话的 SVG 源码折叠了。
我来先算好腿部 IK 关键帧,再组装 SVG。
IK 校验通过(伸展范围 90.1–171.3,落在 |L1−L2|=4 与 L1+L2=184 之间,无死点)。现在组装成品。
结构对了,但头颈/嘴/嗉囊的解剖和翼、尾的可读性不够。重做这几处,并把脚重画成蹼足。
Improving readability of head, neck, wing and tail.
Now the neck, head, bill and pouch.
头被喙盖住了,眼睛也被压在喙下。调整头部与喙的相对位置。
头部现在读得清楚了。做最后微调,然后烘焙中间帧验证腿是否始终踩在踏板上。
Now baking intermediate frames to verify the legs stay locked to the pedals.
成品 — 单个自包含
<svg>,无外部字体/图片/脚本,动画全部为文件内 SMIL。已用 rsvg 逐帧烘焙验证:0°/60°/120°/180°/240°/300° 六个相位下双脚始终贴合踏板。 文件:workspace/pelican-bicycle.svg[ 30,286 字节的 SVG 源码 ] 实现要点 - 传动同相:后轮、前轮、曲柄三个animateTransform type="rotate" from="0" to="360" dur="2s"完全同周期同相位;后飞轮画在后轮旋转组内,随轮同转。两个踏板板面各带一个to="-360"的反向旋转,抵消曲柄旋转后始终保持水平。 - 腿部跟随:腿不是靠猜的关键帧,而是先解二连杆逆运动学 —— 髋点固定 (400,325)/(392,328),大腿 94、小腿 90,末端严格落在曲柄圆C(420,455)+40·(cosθ, sinθ)上,取"膝向前"解,采样 24 个相位。伸展范围 90.1–171.3,落在 |L1−L2|=4 与 L1+L2=184 之间,全程无死点、无翻转。第 i 帧对应曲柄角 360·i/24,与旋转动画逐帧对齐。 - 无缝循环:所有values列表首尾同值,旋转为整圈,链条stroke-dashoffset每周期正好走一个 dash 周期。 - 繁殖羽:草黄色顶冠、深栗色后颈带(下缘一道清晰白边)、白色脸与前颈、前颈基部淡黄晕、鲜红膨大的喉囊、淡色虹膜配蓝灰裸眼周、喙基泛红、灰褐带银灰羽缘的体羽 + 深褐腹部、黑色蹼足。 - 自行车:菱形车架(座管/上管/下管/座撑/链撑/头管/前叉)、下弯把、每轮 16 根辐条 + 双层轮圈 + 胎纹、五爪牙盘、上下两段链条。 已验证:XML 良构;无<script>/<style>/外链资源;5 组d动画均为 25 关键帧、首尾一致、命令数一致(可插值);rsvg 烘焙 6 个相位确认双脚全程贴合踏板。 @verifier
原话——这个 Agent 在这一步只写了这一条,未经编辑。
核对对象:
workspace/pelican-bicycle.svg(30,286 字节,唯一交付文件)。验收方式:XML 解析 + 静态属性核查 + 用 stdlib 烘焙 6 个相位后 rsvg-convert 渲染 + Chrome headless 在 4 个虚拟时间点实拍(确认 SMIL 在浏览器里真的走)+ 对全部 24 个关键帧做几何计算。 逐条结论 - 产出一个动画 SVG,内容是加州褐鹈鹕骑自行车:通过 —— 单个根<svg viewBox="0 0 900 600">(第 1 行),XML 解析无误。渲染图(frame0)中鹈鹕跨坐于车架之上、双翼腕部搭在车把(第 311–313 行的腕部形状落在第 183–184 行的把位上),构图明确是"骑车"。 - 自行车必须有辐条:通过 —— 第 57–74 行<g id="spokes">定义 16 条y2="-78"放射线,每 22.5° 一根;第 81 行被<g id="wheel">引用,第 147、156 行两轮各<use href="#wheel">。渲染的前后轮辐条条条可见(见轮部对比图)。 - 车架形状正确:通过 —— 第 161–167 行五根管构成菱形主体:座管 (420,455)→(352,300)、上管 (352,300)→(585,300)、下管 (420,455)→(605,352)、座撑 (352,300)→(250,430)、链撑 (420,455)→(250,430);第 168 行头管 (586,294)→(609,356)(离垂直 20.3°,即 69.7° 头管角)、第 169 行前叉接前轴 (650,430)。前后三角闭合、五通 (420,455) 位于轴线 (y=430) 下方 25px、轮底 y=520 贴合路面 y=518,无悬空、无断开。 - 鹈鹕有其标志性的大喉囊:通过 —— 第 361–374 行pouchG填充的喉囊路径自 (640,160) 延伸至 (798,196),横跨约 158px,远大于头部(第 335 行 rx=36);第 373 行下颌骨支沿囊顶走,第 364–369 行囊面褶纹。头部特写图中红色喉囊为画面最显眼元素。 - 有清晰的羽毛表现:通过 —— 第 260–269 行躯干鳞状羽缘(5 排扇贝形描边,被bodyClip裁形)、第 274–285 行 4 片叠压的收拢初级飞羽、第 296–308 行翼上覆羽与 4 枚分离的大覆羽、第 248–252 行尾羽扇。躯干特写图中羽片分层与羽缘均可辨。 - 鹈鹕明确在蹬车:通过 —— 两条腿末端严格落在曲柄圆上:对全部 25 个关键帧计算,末端点与C(420,455)+40·(cosθ,sinθ)的最大偏差 0.060px(近腿第 393–402 行、远腿第 130–134 行);两腿相位差 180°(第 0 帧近腿末端 (460,455)=θ0°,远腿末端 (380,455)=θ180°)。第 403–407 行蹼足多边形逐帧位移与踏板位移完全一致(如第 6 帧偏移 (−40,+40),踏板由 (460,455)→(420,495) 亦为 (−40,+40))。烘焙的 0°/120°/180°/240°/300° 各相位放大图中,双足始终压在踏板板面上。 - 完整繁殖羽:通过 —— 草黄色顶冠(第 338 行#f0cf6d)、深栗色后颈带(第 319 行napeG,延伸至枕部第 341 行)、下缘白色分界带(第 324 行)、前颈基部淡黄斑(第 326 行)、鲜红膨大喉囊(第 361 行pouchG红系,正是 californicus 区别于 carolinensis 的关键特征)、淡色虹膜配蓝灰裸眼周(第 350–353 行)、喙基泛红(第 383 行)。头部特写图中以上七项同时可见。 - 动画只用文件内的 SMIL 或 CSS:通过 —— 标签清点结果:无<script>、无<style>、无<image>、无<text>;全部href/xlink:href只有#spokes与#wheel两个内部锚点;动画由 11 个<animate>+ 6 个<animateTransform>共 17 个 SMIL 元素构成。所有涂色均为文件内url(#…)渐变。 - 两个轮子都连续旋转:通过 —— 第 146 行(后轮,translate(250,430)内)与第 155 行(前轮,translate(650,430)内)各有type="rotate" from="0" to="360" dur="2s" repeatCount="indefinite"。前轮气门嘴标记(第 84 行 rect)在 6 个相位图中依次走到 上→右上→右下→下→左下→左上,顺时针,与车头朝右的行进方向一致;后轮同理。 - 曲柄与踏板与后轮同相位旋转:通过 —— 曲柄组第 204 行的from="0" to="360" dur="2s" repeatCount="indefinite"与后轮第 146 行完全同参数,两者均无begin偏移,故周期与相位严格相同(气门嘴与曲柄臂在同一帧图中角度一致)。踏板(第 220、234 行)随曲柄绕五通公转的同时各自to="-360"反转,使板面保持水平——这是踏板的正确物理行为,公转仍与后轮同相。 - 动画无缝循环:通过 —— 6 个animateTransform全为整圈 ±360,天然闭合;11 个<animate>中 8 个values首尾同值(5 组d均为 25 帧且首末相同、命令序列一致可插值;喉囊第 359 行与 3 条速度线首尾同值)。余下 3 个stroke-dashoffset首尾不同值但恰好走满一个 dash 周期:路面0→-88对stroke-dasharray="48 40"(88,第 112–113 行)、链条0→∓16对dasharray="6 10"(16,第 191–197 行),因此同样无跳变。所有 17 个动画repeatCount="indefinite"。 总判定 全部通过(11/11)。不再交回修正。
它从题面里拆出的十一条要求:
- 是一份鹈鹕骑车的动画 SVG
- 自行车有辐条
- 车架形状正确
- 标志性的大喉囊
- 有清晰的羽毛表现
- 鹈鹕明确在蹬车
- 完整的加州繁殖羽
- 动画只用文件内的 SMIL 或 CSS
- 两个轮子都连续旋转
- 曲柄踏板与后轮同相位
- 动画无缝循环
怎么核的:解析 XML、核查静态属性、烘焙六个曲柄相位后用 rsvg-convert 渲染、在 headless Chrome 的四个虚拟时间点实拍以确认 SMIL 真的在走,再对全部 24 个关键帧逐帧算几何。
原话——这个 Agent 在这一步只写了这一条,未经编辑。
复核已全部通过(11/11),无需修正,成品定稿。 交付:
workspace/pelican-bicycle.svg(30,286 字节,单文件自包含),完整源码已在上一条回复中给出。 复核补充确认的两点值得记下: - 腿末端与曲柄圆的最大偏差 0.060px,即两条腿在全部 24 个相位上都是真正锁在踏板上的,不是视觉近似——这来自先解二连杆 IK 再逐帧烘焙的做法。 - Chrome headless 在 4 个虚拟时间点实拍确认 SMIL 在浏览器中确实运行,不只是静态属性正确。 关于三条stroke-dashoffset动画首尾值不同:这是有意的。它们分别位移 88 与 ±16,正好等于各自stroke-dasharray的一个完整周期(48+40、6+10),视觉上仍然无缝——路面与链条要表现的是持续流动,用首尾同值反而会来回弹跳。 文件可直接在浏览器打开、<img>引用或嵌入 HTML 使用。
只有一条消息,仍然花了 $0.99:执行方在回答前把整条会话重读了一遍。这是缓存里的上下文,不是新干的活。
题面取自 Simon Willison 的鹈鹕基准,另加了一条动画要求。用时、往返次数与 token 数取自两次运行的会话记录,花费是这些 token 按 Claude Opus 5 公开 API 价目折算,取到分。每一步的记录都是原话——那个 Agent 写的每一条消息,未经编辑,用它当时工作的语言;只把它贴进对话的 SVG 源码折叠了。用本页口吻写的都是概述,并已标明。一道题跑两次是个例,不是基准测试。