← ClaudeAtlas

structured-handlelisted

结构化抓手·调参协议。当 AI 需要反复猜数值(游戏手感、动画参数、UI 间距、音效强度、文案语气)时使用;当用户说"感觉不对/更 X 一点/再调调"但描述模糊时使用;当体验由多个可量化数值决定、需要人与 AI 在参数层迭代时使用。核心思想:不盲猜数值(盲人摸象),先造一层结构化参数抓手(游标卡尺),再让 AI 在这层上迭代。关键词:调参、手感、参数化、tuner、feel tuning、config-driven、结构化抓手。
7ucc/agent-skills · ★ 1 · AI & Automation · score 73
Install: claude install-skill 7ucc/agent-skills
# 结构化抓手 · 调参协议(Structured Handle) > 思想来源:AI 游戏调参器文案(用户分享)——"让 LLM 猜数值 = 无限次盲人摸象;让 LLM 造调参器 = 一次性给我一把游标卡尺。调参器不是工具,是协议。" > 适用场景:任何"AI 反复改数值、用户反复试、总感觉不对"的循环。 ## 何时触发(识别信号) 满足任一即启动本技能: 1. 同一批数值被 AI 猜改 ≥2 轮,用户仍说"感觉不对 / 更 X 一点 / 差口气"。 2. 任务成果的"手感/观感/体验"由多个可量化数值决定(物理参数、动画参数、间距、强度、语气刻度等)。 3. 用户希望"自己也能调"某个体验,而不只是依赖 AI 改代码。 4. 需要把体验参数分享/固化(导出配置、进产物包、跨端一致)。 **何时不用(Do NOT use for)**:单个数值的简单修改(直接改即可);用户已明确给出具体参数值;纯视觉/内容任务(与数值无关)。 ## 核心流程(四步) ### 第 1 步:识别并停下"盲猜循环" - 若已进入猜数值循环,**先停止猜测**,向用户说明:"与其我猜,不如先把参数变成你能拖的滑块"。 - 盘点该体验由哪些数值决定(列全,包括藏在代码里的魔法数字)。 ### 第 2 步:造结构化抓手 - **抽参数**:把所有魔法数字抽成单一配置对象(可变对象,不是 `as const`),各模块 `import { X } from 'config'` 引用同一份。 - **声明参数安全域**:每个参数必须标注 `下限-默认-上限` 三档(默认居中,上下限是"不搞崩体验"的边界)。例:重力 `-30 / -10 / -2`;浮动幅度 `0 / 5 / 12`。**给数值域时禁止随手写宽范围**,超界体验会崩。 - **可视化**:做一个参数面板(滑块/输入框)——滑块范围 = 安全域,步进取安全域的 5%-10%。 - **实时生效**:面板通过状态 store 写回同一个对象引用 → 下一帧/下一次渲染自动读到新值,**零重建、零热更新**。 - **活对象桥**:对运行时已创建的对象(如 THREE 光照/雾/颜色),写一个"桥"文件,用 `.color.set()` / `.intensity =` 直接改活对象,不重建。 ### 第 3 步:协议化沟通(核心) - 建立"模糊描述 ↔ 精确参数"映射表(例:用户说"太飘" → 重力/阻尼系数;"太灵" → 灵敏度/响应速度)。 - **接收量化分(来自 feel-calibrator)**:若上游给了 0-100 量化分,按比例映射到安全域:`参数值 = 下限 + (分数/100) × (上限-下限)`;分差 ±10 分 ≈ 参数域 ±10% 步进。没有量化分就用映射表直接给建议。 - 此后沟通在参数层进行:用户说模糊感受 → 映射到具体参数 → 给精确建议或直接改。 - **参数是量化的,语言是模糊的**——在参数层迭代,不回到自然语言来回撕。 ### 第 4 步:固化闭环 - 一键导出参数(JSON / 常量文件)→ 粘回代码固化。 - 参数随产物一起交付(进游戏存档、宠物包 manifest、UI 主题配置等),让"手感"可分享、可复现。 - 写 smoke test:模拟运行时捕获引用后被 tuner 改动,验证"改了能生效、固化能还原"。 ## 反模式(禁止) - ❌ 继续盲猜数值而不