首页
/ 解析 impeccable 的 bolder 指令:AI 设计 harness 中"放大而不重建"的界面强化工作流

解析 impeccable 的 bolder 指令:AI 设计 harness 中"放大而不重建"的界面强化工作流

2026-09-07 17:23:37作者:宣聪麟

impeccable 是一个为 AI harness(编码代理运行环境)提供"设计语言"的技能包,其中 bolder 是它的 Refine 类命令之一,用于把已经上线、但观感平淡的界面局部放大到与系统其余部分同等自信的强度。本文以 bolder 指令源文档 为主体,完整拆解它的边界规则、诊断方法、放大四律与"骨架测试",并结合 技能主文件命令元数据占位符渲染实现工作流契约测试,说明这条指令在真实 harness 中如何被加载、执行和验证,帮助读者掌握"在既有设计系统内做有约束的视觉放大"这一实战工作流。

bolder 的定位:面向"已上线表面"的放大请求

SKILL.src.md 的命令表中,bolder 的定义是:

Command Category Description Reference
bolder [target] Refine Amplify safe or bland designs reference/bolder.md

命令元数据 给出了它的完整描述与参数提示:

"Amplify safe or boring designs to make them more visually interesting and stimulating. Increases impact while maintaining usability." 触发场景是用户说设计"看起来平淡(bland)、通用(generic)、过于保守(too safe)、缺乏个性,或者想要更强的视觉冲击力";argumentHint[target],即调用形如 bolder <target>

源文档开篇即划定两条边界,这也是理解整条指令的钥匙:

  1. 与"方向回合"区分开。文档第一段指出:当一次方向决策(direction round)还在桌面上时,"bolder" 这个词属于 new-work.md 中定义的 "Bolder hand register steer"——那是为尚未定型的视觉世界换一副"外来形式";而 bolder 命令只负责"精炼一个世界已经上线的表面"(refines a surface whose world already shipped)。换句话说,视觉世界还没定 → 走 new-work;视觉世界已定、只是某个局部偏弱 → 走 bolder。
  2. "bolder" 是放大请求,且几乎总是限定在已存在的东西上。周围的页面、系统与约定都是既定前提,你的工作是把其中一部分提升到"其余部分已经暗示的置信度",而不是重建 brief 没有点名的任何东西。文档特别强调:条件反射式地"多加特效"恰恰是 bold 的反面——必须先拒绝它,再动手。

指令如何被加载与执行

bolder.md 不是孤立文档,它嵌在一条固定的加载链里。按 SKILL.src.md 的 Setup 流程:

  1. 每个会话先运行一次 node <skill-base-dir>/scripts/context.mjs,加载 PRODUCT.md、DESIGN.md 与对应表面简报,并遵循其指示;
  2. 加载本次请求对应的 playbook——即命令表中该子命令的 reference(bolder 对应 bolder.md);若属于全新表面,则改走 new-work.md
  3. 分析与方向确定后、动手编辑前,加载 craft-floor.md——它携带质量下限、绝对禁令,以及"检测器抓不到的本能级反模式"。

关于"用户输入了明确命令怎么办",SKILL.src.md 的 Routing 规则是:无参数时读 routing.md 呈现上下文感知菜单且绝不自动执行;显式或明显隐含命令时,加载其 reference 并遵循。因此 /impeccable bolder <target> 这类显式调用会直接命中 bolder.md

一个值得注意的工程细节是:源文档中大量使用 {{ask_instruction}}{{command_prefix}} 这样的占位符,它们会在构建时按目标 harness 替换。scripts/lib/utils.js 中按 provider 维护了不同的占位值——例如对 Claude 系 harness,ask_instruction 是 "STOP and call the AskUserQuestion tool to clarify."、command_prefix/;对 Codex,前缀是 $ 且指示改用其结构化提问工具。替换逻辑在 utils.js 完成。对比两个文件可以直观看到这一机制的效果:

也就是说,"停下来提问"和"移交 polish"这两个动作的具体表述,会随宿主 harness 自适应,而指令语义不变。

Scope is sovereign:范围主权

这是 bolder 的第一原则,也是它区别于"顺手重构"的关键:

"Everything else stays" is a literal instruction.

原文逐条列出了禁令:只触碰被点名的目标;不得重新样式化它的邻居;不得把页面迁移到某个新想法上去;不得添加这个表面原本不拥有的颜色、字体、圆角、阴影或系统原语。如果既有系统确实无法表达目标方向,不许自行扩系统——文档要求停下来向用户澄清(源文档此处为 {{ask_instruction}} 占位符,构建后即"STOP and call the AskUserQuestion tool"),并明确说出"要加的具体是什么、它承担什么职责"。

这一约束被测试固化为硬断言。workflow-contract.test.mjs 中的场景 bolder refinement preserves the world and everything outside scope 使用如下用户提示词:

/impeccable bolder current.html, only the #case-study section. Keep everything else untouched.

它断言:bolder.md 必须被加载;PRODUCT.mdDESIGN.md 不得被重写(refinement 不是 redesign);current.html 必须被实际修改;且标记为 data-untouched="header" / data-untouched="footer" 的区域与 #case-study 区块在改后依然原样存在。范围主权因此不是一句口号,而是可回归验证的契约。

Why it reads flat:平淡的根源在邻居已经解决的方案里

bolder 的诊断方法论出人地反直觉:一个区块读起来平淡,通常是因为它悄悄放弃了系统自己最强的招式。文档要求去看页面其余部分做了而这一区块没做的事——全强度使用展示级字体(display type at full strength)、承载语义的结构装置、签名 motif、密度与节奏。

由此推出"最可靠的 bolder 一遍":把目标区块抬升到它邻居已达到的表达水位,且用系统自己的词汇表,而不是发明一个新词汇表。这与"Scope is sovereign"一脉相承:放大不是引入新事物,而是把既有系统里已有的最强表达,在目标区块上开满格。

放大的四条军规

原文 "The amplification" 一节给出四条规则,完整继承如下:

  1. 放大系统已经拥有的东西(Amplify what the system already owns)。复用它的 motif 与字号阶梯,以全强度为这个区块"拧大",而不是为它现造。判据很直白:bolder 之后的版本应该"看起来更像同一个品牌",而不是更像别的品牌。
  2. 保持内容真实(Keep content true)。既有文案主张是范围的一部分:除非用户提供替换,否则必须保留。若方向成立所必需的真实证据缺失(比如需要真实案例支撑的案例区),就去向用户要,而不是编造。
  3. 先决断,再降噪(Commit, then clarify)。半吊子措施读起来是噪声。把那一个决定性动作做彻底,然后把周围的一切都压低,让这个动作可被辨认。原文有一句值得背下来的话:"如果每个元素都变响了,这个区块反而变平了。"
  4. 给它自己的节奏(Give it its own rhythm)。目标区块应当读起来像滚动过程中的一个峰值——与周围在密度或速度上形成换挡,而不是"同样东西的更多量"。

这四条合起来定义了一种"减法式的 bold":靠单点决断 + 周围留白制造对比,而非整体加噪。

骨架测试:剥掉文案后设计还站得住吗

"The skeleton test" 是 bolder 的验收内建动作:把计划中区块的文案全部抽掉,只看裸结构。问自己——仅凭层级与系统装置,这个骨架还能说出"这一节是什么、为什么重要"吗?如果骨架只有等文字回来才成立,说明 boldness 存在于字号大小里,而不是设计里

该节还处理了图片占位符的语义:为图片或工件留下的占位符命名的是一个"职责"——一个锚点和一段证据——而不是"往这里塞一张装饰照片"的提示。正确做法是填入主题真正拥有的东西(真实截图、数据、作品),这既呼应了第 2 条军规"内容真实",也避免了用 stock 装饰图充数。

完成前检查单与向 polish 的移交

原文 "Before you finish" 给出四项完成标准:

  • 被点名目标之外的一切保持不变;
  • 没有未经许可的新颜色、字体或系统原语出现;
  • 该区块原有的约定(包括驱动操作行为的元素)仍然按原方式工作;
  • 这一节" unmistakably 是同一个品牌,只是更自信了一点"。

当目标区块能"站稳而不撕裂整个页面"时,指令明确要求移交 {{command_prefix}}impeccable polish(Claude harness 下即 /impeccable polish)做最后一遍。这条移交链在 polish.md 中是对称的:polish 声明自己"是精炼,绝不是偷偷摸摸的重设计",若发现"概念本身错了",应明说并推荐 redesign 或 bolder,而不是把替换走私进 polish 里。bolder 与 polish 因此构成一对互补契约:bolder 负责"放大到自信",polish 负责"收敛到可发布",彼此不越界。

横向看,quieter.md 是 bolder 在同一 Refine 类别上的反向轴:bolder 把强度抬上去但禁止加新原语,quieter 把强度压下来但禁止压成平庸("think luxury, not laziness")。两者共享同一个世界观:表达强度可以在系统内部双向调节,而调节的手段永远是系统自己已有的词汇。

测试基线:指令行为如何被量化验证

仓库把"bolder 指令是否被正确执行"做成了行为级回归测试。

工作流契约测试。除前述断言外,tests/skill-behavior/README.md 记录了各模型在该场景上的基线:bolder refinement 在 claude-sonnet-5、gpt-5.6-terra 上通过,gemini-3.6-flash 在 3.5 基线上通过;deepseek-v4-flash 失败。README 特意保留了失败形态的描述:该模型依次执行了 context.mjs、读取了 bolder.mdcraft-floor.mdcurrent.html,然后在远未达到 16 步上限时结束回合、未做任何编辑——"读完参考资料但拒绝行动"。该形态经回滚 bolder.md 复现一致,被判定为模型侧问题而非指令文本问题。这个案例说明了行为测试的价值:它区分了"指令写得不好"和"模型不照做"两类失败。

定向复跑方式。README 给出了排查该场景的完整命令(tests/skill-behavior/README.md):

IMPECCABLE_QUESTION_DISABLED=1 CI=1 IMPECCABLE_SKILL_BEHAVIOR_MODELS=deepseek-v4-flash \
  node --test --test-timeout=300000 --test-force-exit \
  --test-name-pattern="bolder refinement" tests/skill-behavior/workflow-contract.test.mjs

注意事项同样来自 README:--test-timeout 保持 300000,更紧的上限会把慢模型的正常执行变成"看起来像失败"的超时;IMPECCABLE_QUESTION_DISABLED=1CI=1 防止提问服务在宿主上弹出浏览器窗口;输出应重定向到文件而非 tail,因为 node 在结尾才打印失败汇总。

实操要点:何时用 bolder、怎么调

综合源文档与命令元数据,bolder 的适用前提与调用方式可以归纳为:

  • 前提:目标表面的视觉世界已经上线(DESIGN.md 或既有代码约定代表当前世界);若世界本身尚在决策,属于 new-work.md 的 "Bolder hand register steer",不是本命令。
  • 触发语:用户说设计"平淡、通用、太保守、没个性、想要更多视觉冲击"——这些短语在 command-metadata.json 中被明确列为路由依据。
  • 调用/impeccable bolder <target>,并且最好像契约测试那样在提示词里写清边界("only the #case-study section. Keep everything else untouched.")——因为文档要求的首项上下文就是"哪个区块是目标,什么必须保持不动"。
  • 执行纪律:拒绝"加特效"条件反射 → 对照邻居找系统最强的表达 → 四条军规做一次决断式放大 → 骨架测试 → 四项完成检查 → 移交 polish。
  • 失败模式提醒:若执行方"只读不动"(测试基线中已记录的模型侧失败形态),问题不在指令文本而在执行链路,应拉取 trace 复跑定位,而不是改写指令。

bolder 指令的真正贡献,是把"把设计做大胆"这件模糊的审美要求,翻译成了一条可加载、可执行、可断言的工程流程:范围主权划定改什么,邻居对标回答往哪放大,四条军规约束怎么放大,骨架测试与完成检查单决定何时收手——而仓库中的契约测试与多模型基线则证明,这套流程的每一步都被当作可验证的契约来维护。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.13 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
897
5.8 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
529
593
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
915
1.83 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.58 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.35 K
1.46 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.01 K
515
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
547
388