Gemini 4 Argon 提示词怎么写:拆解 45 条创意编程提示词,再跑一次 A/B

Gemini 4 Argon 提示词写法:拆解发布周 45 条创作者公开的动画、Three.js 3D 和模拟提示词,写了什么、漏了什么;在 SandBase 上跑极简与结构化提示词 A/B,附可复用模板。

Gemini 4 Argon 创意编程提示词文章封面;编辑配图,不是测试结果

同一个多米诺骨牌动画,我让 Gemini 4 Argon 写了两遍:一遍是一句话需求,一遍是约 270 词的规格说明。一句话版本带回来一个真物理引擎、一大段功能介绍,结果连锁反应倒了几块就停了。规格版只回了一个 HTML 文件,整条螺旋按时倒完,费用还更低。只跑一次不能下结论,所以这篇先看更大的样本:发布周创作者晒 Argon 作品时公开的那些提示词。

这篇写给想用 Argon 做动画、Three.js 3D 场景和小型模拟的开发者,回答一个问题:Gemini 4 Argon 提示词到底该怎么写。

先说结论

  • SandBase Lab 合集里有 52 条帖子标了「附提示词」,我们整理出 45 条可读的代码类提示词。中位数只有 23 个词,28 条不超过 40 个词,除了题材几乎什么都没交代。
  • 17 条长提示词(41 到 1,989 个词)主要写清了渲染库、镜头、交互、视觉风格和「不加载外部素材」。写明库版本的只有 3 条,要求检查控制台报错的 4 条,限制输出长度的 1 条,要求按时间驱动动画的 1 条。
  • 我们的 A/B:两次极简提示词都选了老版本 Three.js r128 加 Cannon.js,一次连锁中途卡住,一次慢得像放慢镜头;两次结构化提示词都用了锁定的 Three.js 0.160 和时钟驱动。四个页面控制台都是 0 报错。
  • 结构化提示词每次反而略便宜($0.059–0.063 对 $0.068–0.069),因为回答里没有大段说明文字。但规格写清楚不等于照做:有一次结构化输出无视了「间距要让每块碰到下一块」。
  • 我们的 7 次 Argon 调用(合计 $0.43)reasoning tokens 全是 0,加不加推理强度参数都一样。

样本从哪来:52 条帖子,45 条能用

SandBase Lab 的 Gemini 4 Argon 合集收录了 2026-10-13 和 10-14 两天 264 条 X 公开帖子(数据同步于 2026-10-14 16:29 UTC)。其中 52 条标了 prompt_shared,意思是提示词在正文或评论里。合集的 JSON 不存提示词原文,所以我们逐条读正文,再用 SandBase 的 X 评论接口拉作者本人的回复,有两条顺着链接找到了提示词的原作者。

最后拿到 46 条可读提示词。@HeyAbhishek 那条是给图像和视频模型用的,不算代码提示词,所以实际分析 45 条。另有 6 条拿不到原文:4 条只给了外部链接,1 条链接的帖子里没有提示词,1 条是波斯语转述。45 条里有两条是 @Adidotdev 复跑别人的提示词,原作者是 @maxt3chno 和 @Saccc_c,两边都署名。

SandBase Lab 中 @Smlay_ero 互动星系作品的详情页,「The post and its prompt」区块显示完整提示词,下方「Try this prompt on SandBase」面板可把提示词发给 google/gemini-4-argon

Lab 详情页会展示帖子原文,不少创作者把提示词直接写在正文里;@Smlay_ero 这条星系提示词是典型的中等长度规格(截图于 2026-10-14 UTC)。

先打个预防针:这些提示词是创作者自己愿意晒的,配的也是他们自己挑的视频。帖子里的耗时、费用、「一次成型」都是创作者的说法,我们没有核实;点赞多只说明关注度高,不代表效果最好。

大多数人只写一句话

提示词中位数 23 个词,很多比一条推文的第一行还短:

短提示词没有错,它适合摸清模型的默认习惯。问题在于一句话把所有决定都交给了模型:用哪个库、哪个版本、镜头怎么走、物理是真算还是演出来、回答写多长。28 条短提示词里,只有 5 条写了「单文件」,8 条点名了渲染技术(多半是 SVG 或 Three.js),提到镜头的只有 1 条。

长提示词都写了什么

超过 40 个词的 17 条读起来像产品需求文档。我们先用关键词把每条拆成若干「槽位」,再人工抽查:

槽位长提示词(17)短提示词(28)例子
渲染库148「Three.js via CDN」(@Smlay_ero)
镜头121镜头路径不得穿过任何物体(@SidraMiconi)
交互127拖动倾斜、点击碎裂(@kinderlayer,短)
视觉风格(配色、灯光、色调映射)110ACES 色调映射、环境反射(@MiaAI_lab)
不加载外部素材 / 程序化生成100不用外部模型、贴图和图片
时长与节奏81约 32 秒绕场一周(@SidraMiconi)
单文件75一个完整可复制的 HTML(@ivanainai)
移动端适配70手机上退化成可滑动的画墙(@MiaAI_lab)
交付前自查60无头浏览器截图后修复(@realbrucemartin)
帧率目标5060fps
物理规则写成数字40重力和振翅速度直接给数(@ivanainai)
检查控制台报错40「Check the console for errors」(@maxt3chno)
输出格式40只返回完整 HTML

有四条写法最值得抄。

镜头写成约束,而不是感觉。 @SidraMiconi 的寺院庭院提示词(帖子,Lab 页)最后一句是:「The camera path must stay outside every object: orbit at a radius and height that clear all trees, walls and buildings, always aimed at the pagoda.」它还锁了 Three.js 版本、把代码限制在约 1,200 行、要求第一帧就是构图完整的画面。作者自称第三次尝试,输出 18,359 tokens,花了 25 美分。

物理写成数字。 @ivanainai 的 3D Flappy Bird 提示词(回复,Lab 页)不说「真实的重力」,而是「Gravity: 18 world units per second squared, downward. Each flap sets upward velocity to 6.8 world units per second.」再加上固定步长、种子 42 生成障碍、自动演示只能按玩家同款振翅键。这是为了让两个模型能公平对比而写的。

说清楚作品的重点。 @MiaAI_lab 的软糖熊提示词(帖子,Lab 页)专门有一节,标题就是「Physics (this is the whole point - it must feel like jelly, not plastic)」,下面逐条列软体行为。作者是在自己复跑别人的软糖熊对比、认定原视频造假之后发的这条,回复里总结了一句:自己跑一遍提示词。

让模型自己验收。 @realbrucemartin 给 Devin 的卡牌构筑游戏提示词(帖子)要求写完后用无头浏览器打开、截图、把坏的地方修好。这只在带浏览器的 agent 里有效。普通对话调用里,可以学 @lemomo_ai 的机械腕表提示词(帖子):先写设计方案(部件清单、场景层级、齿轮传动比),再写代码,最后逐条对照要求自查,没做到的先改再输出。

几乎没人写的东西

把 45 条放在一起看,有几个槽位几乎是空的:

  • 库版本:只有 3 条写了(Three.js r165 或 0.160,或 react-three-fiber v9),Flappy 那条只说允许「pinned CDN import」。不写的话模型自己挑,我们的极简测试里它挑了 2021 年的 r128。
  • 按时间驱动动画:只有 Flappy 要求固定步长。按帧推进的动画,机器一慢就变慢镜头,我们有一次极简测试就是这样。
  • 输出长度:只有 @SidraMiconi 限了行数。SandBase 上 Argon 单次回答最多 65.5K output tokens。
  • 可复现:只有 2 条要求随机数带种子,其余基本没法重跑对比。
  • 无障碍与降级:1 条提到 prefers-reduced-motion,2 条写了降级方案。

这些都不会让视频更好看,但能让你拿到的 HTML 可复现。一旦要改、要比、要上线,这点就很关键。

我们的 A/B:同一个动画,极简 vs 结构化

选题是多米诺螺旋连锁反应:有镜头、动作要像物理、出错一眼能看出来。两种提示词都通过 SandBase 兼容 OpenAI 的 Chat Completions API 发给 google/gemini-4-argon,max_tokens 32,000,其余默认,各跑两次,时间是 2026-10-14 22:59 到 23:03 UTC。

极简提示词照着短提示词的样子写:

Create a 3D animation of dominoes toppling in a spiral chain reaction. Single html file.

结构化提示词(英文原文见英文版)把长提示词常写的槽位都填上,再补上它们漏掉的几项:锁定 Three.js 0.160.0 并用 import map 引入、不准用物理引擎而是自己写倾倒动画、约 120 块骨牌和尺寸、橙到青的渐变、第一帧就看到整条螺旋、镜头不穿模、约 12 秒倒完再停 2 秒循环、300 行以内、0 报错、交付前核对每个 API 在 0.160 里存在、只返回一个 html 代码块。

我们把每次回答里的 HTML 存下来,用本地 HTTP 服务打开,放进无头 Chrome(1280x720,软件 WebGL,约 30fps),记录控制台报错、页面异常和失败请求,并在第 1、5、10 秒截帧。

运行输出 tokensHTML 行数代码外说明文字选用技术栈控制台报错计费页面表现
极简-13,4313101,140 字符Three.js r128 + Cannon.js 0.6.20$0.0688倒了几块就卡住
极简-23,3653011,288 字符Three.js r128 + Cannon.js 0.6.20$0.0675一直在倒,但 30 秒才倒了二十来块
结构化-13,045246无Three.js 0.160 import map0$0.0627约 12 秒从外圈倒到中心,循环
结构化-22,871242无Three.js 0.160 import map0$0.0592按时倒完,但间距太大,骨牌互相碰不到

无头 Chrome 在 1、5、10 秒的截帧网格:两次极简运行的彩虹螺旋几乎不动,结构化-1 从外圈向青色中心依次倒下,结构化-2 间距过大的骨牌依次倒下

我们自己渲染的四个页面:第 5 到第 10 秒之间,极简版画面几乎没变(像素变化 0.01% 和 0.31%),结构化版在持续推进(10% 和 21%)。

有三点值得说。

极简提示词选了老库。 两次都从 cdnjs 加载 Three.js r128 和 Cannon.js 0.6.2,OrbitControls 走的是模块化之前的 examples/js 路径。能跑,但提示词里没人告诉它该用新的。

真物理没想象中好用。 极简-1 的说明里写着骨牌「actually hit each other」,实测推力传了几块就断了。极简-2 能一直倒,但每帧固定调用一次 world.step,在我们 30fps 的无头环境里就是半速播放。极简-1 为什么卡住我们没深挖。结构化提示词要求按时钟脚本化倾倒,没那么「真」,但稳定得多。

写清楚也不等于照做。 结构化-2 的节奏、配色、镜头都对,偏偏把骨牌摆得太开,谁也碰不到谁。倾倒是按时间排好的,动画照样跑,控制台也不报错,只有看画面才能发现。

费用和我预想的相反。结构化提示词多了约 400 个输入 token(按 $4/百万只值 $0.0016),却省掉了 1,100 到 1,300 字符的说明和 55 到 68 行代码,所以每次反而便宜半美分到一美分。

六次 Argon 调用的运行日志表:UTC 时间、52 或 455 输入 token、2,571 到 3,431 输出 token、0 reasoning tokens、HTML 行数、说明字符数、耗时、0 控制台报错,计费 $0.0532 到 $0.0688

计费金额来自每次补全对应的 GET /v1/tasks/<id>/cost;六次调用都以 finish_reason: stop 结束,耗时 21 到 30 秒,reasoning tokens 都是 0(2026-10-14 UTC)。

推理强度参数有没有用

不少创作者把好效果归功于 high 推理。我们又加跑了两次结构化提示词,分别带 "reasoning_effort": "high" 和 "reasoning": {"effort": "high"}。两次都返回 HTTP 200,页面都能跑,reasoning tokens 依然是 0,和默认一样。从外部看不出这个字段是被忽略了还是透传了,我们的 Python 教程在更难的题上也遇到同样的不确定。结论很简单:reasoning_tokens 没变,就别假设参数生效了。创作者自报的输出量是 18K 到 28.5K tokens,比我们的约 3K 高很多,他们用的是别的客户端,有人还是第三次尝试。

可复用的提示词模板

保留长提示词里管用的槽位,补上大家漏掉的几项。尖括号里换成你的内容,用不上的删掉。模板保持英文,因为我们只验证过英文版:

Build <one-sentence description of the animation, scene or simulation>.

OUTPUT
- One self-contained index.html. Return only the complete file in one ```html code block, from <!DOCTYPE html> to </html>. No explanation.

STACK
- <Three.js 0.160.0 via an import map at https://cdn.jsdelivr.net/npm/[email protected]/ | plain Canvas 2D | inline SVG + CSS>. No other libraries unless listed here.
- No external models, textures, images or fonts. Generate everything in code.

SCENE
- <objects, counts, sizes in world units, layout>
- <palette as named colors or hex, lighting, tone mapping, background>

CAMERA
- First frame already shows <what>. Then <path, speed, target>. Keep the camera outside every object.

MOTION AND PHYSICS
- <rules as numbers: gravity, speeds, timings, what may never intersect>
- Drive all motion from elapsed time (THREE.Clock or performance.now), not per-frame steps. Use a seeded random generator (seed 42) for anything that should repeat.
- <duration of one cycle>, then <loop / stop / reset>.

INTERACTION
- <drag / click / keys and what each does, or "none">

CONSTRAINTS
- Under about <N> lines. Fill the window, handle resize, cap devicePixelRatio at 2, respect prefers-reduced-motion.
- Zero console errors. Before answering, check every import path and API exists in the pinned version, and that each requirement above is met.

把模板存成 prompt.txt,用下面的脚本发出去并保存 HTML。需要 Python 3、requests,以及环境变量 SANDBASE_API_KEY 里的 SandBase API key:

import os
import re
import sys
import time

import requests

BASE = "https://api.sandbase.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SANDBASE_API_KEY']}"}

prompt = open(sys.argv[1] if len(sys.argv) > 1 else "prompt.txt", encoding="utf-8").read()
resp = requests.post(f"{BASE}/chat/completions", headers=HEADERS, timeout=900, json={
    "model": "google/gemini-4-argon",
    "max_tokens": 32000,  # SandBase caps one Argon response at 65.5K output tokens
    "messages": [{"role": "user", "content": prompt}],
})
resp.raise_for_status()
body = resp.json()
choice = body["choices"][0]
if choice.get("finish_reason") == "length":
    sys.exit("Answer cut at max_tokens; raise it or ask for shorter code.")

FENCE = "`" * 3  # a Markdown code fence, built here so this file nests cleanly in docs
content = choice["message"].get("content") or ""
match = re.search(FENCE + r"html\s*(.*?)" + FENCE, content, re.S | re.I)
if not match:
    sys.exit("No html code block in the answer; tighten the OUTPUT section.")
with open("index.html", "w", encoding="utf-8") as f:
    f.write(match.group(1))

usage = body["usage"]
print(f"saved index.html, {match.group(1).count(chr(10)) + 1} lines")
print(f"tokens in/out: {usage['prompt_tokens']}/{usage['completion_tokens']}, "
      f"reasoning: {usage.get('completion_tokens_details', {}).get('reasoning_tokens')}")

time.sleep(3)  # billing settles a moment after the response
cost = requests.get(f"{BASE}/tasks/{body['id']}/cost", headers=HEADERS, timeout=60).json()
print(f"billed: ${cost.get('cost')} (settled={cost.get('settled')})")

2026-10-14 23:34 UTC,我们用结构化多米诺提示词原样跑了这个脚本,输出:

saved index.html, 241 lines
tokens in/out: 455/2913, reasoning: 0
billed: $0.060080 (settled=True)

这个页面在无头 Chrome 里 0 报错,从外圈一路倒到中心。打开时请用本地服务(python3 -m http.server),别直接双击走 file://,有些浏览器会拦截本地模块导入。看完一整个循环,同时开着控制台。结构化-2 就是反例:0 报错,照样是错的。

SandBase 的 Gemini 4 Argon 模型页:模型 ID google/gemini-4-argon,输入 $4.00、输出 $20.00 每百万 token,1M 上下文,65.5K 最大输出,生产路由 Live

Gemini 4 Argon 模型页标价 $4 / $20 每百万 token、最大输出 65.5K,上文所有费用都按这个价计算;Google 直连的推广价是 $2 / $10,截至 2026-11-30(截图于 2026-10-14 UTC)。

也就是说,11 月 30 日之前同样的调用走 Google 直连大约便宜一半,细账见价格指南。一次六美分左右,改提示词重跑仍然比手改代码省事。

Google 在发布博客里说,内部工程师用 Argon 写「complex 3D visualizations, high-fidelity games, and interactive animations in vanilla code」,这个模板就是为这种原生代码场景写的。接着可以看:Three.js 3D 场景实测、一句话做浏览器游戏、最受欢迎的 Argon 作品和发布周数据分析。更早的 Argon 文章写于正式开放之前,只作背景参考。

常见问题

用 Gemini 4 Argon 写 Three.js 动画,提示词该包含什么?

输出格式、锁定的 Three.js 版本、带尺寸和数量的场景描述、镜头路径、写成数字并按时间驱动的运动规则、长度上限和控制台报错检查。上面的模板都留了位置。

一句话提示词能用吗?

能出东西,一句话的体素题材也拿了不少赞。但我们两次极简测试里,Argon 都选了 2021 年的 Three.js r128 和物理引擎,连锁反应要么卡住要么很慢。短提示词适合看模型默认习惯,不适合要稳定复现的场景。

在 SandBase 上跑一次创意编程提示词要多少钱?

我们 7 次调用输出 2,571 到 3,431 tokens,按 SandBase $4 / $20 的标价每次 $0.053 到 $0.069,合计 $0.43。如果像部分创作者那样输出 18K 到 28.5K tokens,单次费用会翻好几倍。

reasoning_effort 设成 high 有帮助吗?

我们没看到效果:两种写法都返回 0 reasoning tokens,代码也差不多。先在自己的提示词上看 reasoning_tokens 有没有变化,再决定要不要依赖它。

Lab 合集里的提示词能直接拿来用吗?

可以当起点。每个 Lab 详情页都有复制按钮和「Try this prompt on SandBase」入口。提示词版权归创作者,公开发布结果时请署名。

局限

45 条创作者自选的提示词,加上一个动画、每组两次的 A/B(另有两次推理参数测试和一次脚本验证),不是基准测试。槽位统计靠关键词匹配加人工抽查,写法特别的可能会漏。我们的无头浏览器是软件 WebGL、约 30fps,按帧推进的物理会变慢,换成有 GPU 的机器,极简-2 可能就是正常速度。创作者用的是 Antigravity、Devin、Mixar、网页版对话等各种客户端,他们报的时间、费用和 token 数以他们为准。