- AI 技能
- 前端
- 设计系统
【免费下载链接】taste-skill
Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop
LLM 在长任务、多要求场景下倾向于输出被截断、被压缩的“惰性”结果,这是对齐训练与经济约束共同塑造的行为学产物,而非模型能力或上下文记忆的缺陷。本文基于 Taste-Skill 仓库中 LLM 输出截断研究 系列的《Prompt Engineering》文献,系统梳理心理模式匹配、显式语法绑定、XML 结构化提示与验证循环四大类提示工程技术,并结合同仓库的参数调优、参考提示模板与架构模式文档,给出从提示层到工程层的完整反截断方案。读完你将掌握:如何用提示文本主动激活模型的高质量输出分布、如何用语法与证据绑定剥夺模型的“省事”裁量权,以及如何通过验证循环和即用模板把完整输出固化为可复制的工程实践。
一、为什么提示工程技术能治“懒”:先厘清输出惰性的真实成因
在深入提示技术之前,必须确认一个前提:输出截断不是记忆失败、不是上下文丢失、也不是解码错误。仓库中的 经验结果 记录了 2025 年 12 月针对多款前沿模型(含 GPT-4 变体与 DeepSeek)的三组对照实验:
- 实验 A(多部分指令遵从):没有任何模型在原生状态下同时满足长度要求与全部子指令;强制格式约束被例行跳过,明确长度要求被持续低估。
- 实验 B(解码次优性):在简单推理任务上几乎找不到“模型知道正确答案却选错 token”的证据,贪心截断输出与模型最高置信度解一致。也就是说,截断是刻意的行为选择,不是解码故障。
- 实验 C(上下文退化):200 轮长对话测试中模型对关键事实与指令的保持能力远超预期,上下文丢失并非截断主因。
结论明确:惰性源于行为学层面——指令复杂度超过内部努力阈值、校准过的停止压力、以及嵌入对齐层的经济约束。这也解释了为什么提示工程能成为最直接、最廉价的修复层:既然截断是被“行为”触发的,就可以用“行为”去纠正。相关根因分析的完整分类见 root-causes 目录,包括 RLHF 与算力经济、训练数据偏差、认知捷径 与 输出上限。
二、心理模式匹配:用文本信号激活高质量输出分布
LLM 没有情感,也不理解金钱激励。但提示中的特定语言模式会在模型的潜在空间中激活不同的质量分布,这是有实证记录的效应(详见 references 清单 中引用的 EmotionPrompt 等研究):
| 提示技术 | 实证效果 |
|---|---|
| "I will tip you $200 for a perfect solution"(我会为完美方案打赏 200 美元) | 输出质量与长度最高提升 45% |
| "Take a deep breath and solve step by step"(深呼吸,逐步解决) | 逻辑任务准确率从 34% 提升至 80% |
| "This task is critical to my career"(这项任务对我的职业生涯至关重要) | 平均性能提升 10% |
其底层机制是统计相关性:这类措辞在训练数据中与高投入、经过严格审校的内容(学术论文、企业代码库、法律文书)高度相关,注意力机制因此优先调用与这些模式关联的高质量数据分布。微软研究院的受控测试进一步证实了刺激叠加效应——将多种刺激组合(金钱框架 + 分步指令 + 利害框架)使用,总体性能提升可达 115%,且效应可复现。
值得留意的是,这类技巧与 Taste-Skill 的核心理念同源:Taste-Skill 项目主张让 AI 摆脱“无聊、通用的 slop”,而心理模式匹配正是从输出分布层面拒绝“惰性默认值”。二者的差异在于作用对象——前者作用于设计审美的生成,后者作用于任何长任务输出的完整性与严谨性。
三、显式语法绑定:剥夺模型的输出裁量权
对话式请求允许模型自行斟酌输出长度与细节,而结构绑定通过显式禁止截断模式来消除这种裁量权。有效的绑定需要两个组件缺一不可:
- 强制工具执行(Mandatory tool execution):禁止模型仅凭训练权重作答,要求它在回答前必须执行搜索、计算或代码。这样就把“凭记忆编造”的捷径堵死。
- 证据块(Evidence blocks):要求模型在产出叙述性回答之前,先输出原始数据(URL、代码执行结果、数据片段)。模型被迫“读回”自己检索到的证据,幻觉概率被压到接近于零。
语法绑定的本质,是把“质量预期”从模糊的口头要求转译为可机械检查的结构约束。它与参数层面的修复(见 参数调优)互补:温度与 Top-p 控制 token 采样的随机性分布,语法绑定则控制输出的结构完整性——前者管“敢不敢创新”,后者管“敢不敢偷工减料”。
四、XML 结构化提示:企业级提示分区
企业系统常用严格的 XML 标签将提示拆分为多个组件,降低模型解析意图的认知负荷。原文档定义了四个区块:
- 系统指令(System instructions)——人格定义、质量期望、对填充内容的显式禁止。
- 上下文块(
<context>)——被动背景数据:架构细节、配置、既有代码。 - 数据块(
<data>、<logs>、<config>)——模型必须对照上下文处理的活跃信息。 - 任务块(
<tasks>)——待执行动作的编号清单。
这种分区隔离确保模型能区分“持久规则”“背景上下文”与“当前工作项”,显著降低引发过早截断的混淆。从实现层面看,Taste-Skill 仓库中的技能文件本身就是这一思想的落地:每个 SKILL.md 的 YAML front-matter(name+ 精确description)相当于“系统指令”,Markdown 正文相当于按需加载的“上下文块”,而任务型技能(如 image-to-code-skill)则天然把“数据块”与“任务块”分离。仓库对 YAML 描述精确度的量化说明见 架构模式:模糊描述(如 "Helps with designing APIs")的发现成功率约 68%,而具体描述(如 "Design RESTful HTTP APIs with OpenAPI specs, focusing on versioning, error codes, and backward compatibility")可达约 90%。
五、验证循环:让模型自我纠错的三套机制
原文档给出了三种验证类提示技术,它们的共同点是把“一次成型”改为“多轮收敛”,从而消耗模型走捷径的余量:
5.1 Chain of Verification(验证链)
- 模型生成初始回答;
- 模型针对自身论断生成验证问题;
- 模型独立回答这些验证问题;
- 模型输出修订后的、有证据支撑的回答。
这一过程强制迭代式自我修正,每多一轮验证就消耗一分“捷径倾向”。
5.2 Reverse Prompting(反向提示)
不手工构造结构化提示,而是给模型一句目标描述,让它为这个目标生成最优提示——由模型自己产出所需的 XML 结构、约束与角色设定。适合不确定该写哪些约束、或希望借模型更广的分布空间发现遗漏约束的场景。
5.3 Self-Grading Loop(自评循环)
提示要求模型:
- 定义“对给定任务而言优秀长什么样”;
- 依据该定义给自己的初始输出打分;
- 迭代直到达到自设的质量门槛。
六、提示层与参数层的配合:温度、Top-p 与 thinking_level
提示工程不能替代解码参数,二者常需组合。理解 参数调优文档 的核心机制有助于写对提示:
- 温度:低温度(0.0-0.5)放大高/低概率 token 的差异,模型趋于确定性,适合代码生成、数据抽取与结构化输出;默认 1.0 保留训练分布;高温度(1.5+)摊平分布引入随机性,适合创意任务但增加不连贯风险。文档给出了同一 token 位置的分布对比:温度约 0.0 时,logit 2.0 的候选 token 概率高达 0.9933,而 1.5 温度下仅为 0.4875。
- Top-p(核采样):只考虑累计概率超过阈值 p 的最小 token 集合。Top-p 0.0-0.6 配合低温度可将模型压入狭窄、确定性的执行路径,降低催生“创造性拒绝”和多余总结的熵。
- Gemini thinking_level:Google Gemini 3 以
thinking_level取代旧版thinking_budget(后者是对内部推理的硬 token 数上限)。minimal/low/medium/high四级中,代码生成与复杂分析建议设为medium或high;注意thinking_level与thinking_budget互斥,同时传入会触发 HTTP 400;还要避免极低温度搭配high思维等级,以免偶发内部推理循环。
实操建议:当提示中的“完整输出”约束总是被跳过时,先检查温度是否过高(放宽确定性)或思维等级过低(推理深度不足),再回到本文的语法绑定与验证循环层修补结构约束。三层联动顺序可参照 研究目录:参数级 → 提示级 → 架构级。
七、与架构层协同:懒加载技能与 MCP
提示工程是“对话内”的修复,而仓库的 架构模式文档 展示了“对话外”的加固手段,二者相辅相成:
- 懒加载技能(Lazy-Loaded Skills):技能文件夹内含带 YAML front-matter 的
SKILL.md,初始化时仅读取约 100 token 的元数据,正文按需加载。该架构平均降低 35% 的上下文占用、防止上下文稀释——上下文越干净,提示中的关键约束越不会被淹没。Taste-Skill 仓库的 skills/ 目录(如 taste-skill、stitch-skill、brandkit 等)正是这一模式的规模化实践。 - MCP(Model Context Protocol):通过 JSON-RPC 2.0(stdio 本地或 HTTP 远程)建立 LLM 与外部数据源的双向实时连接。无 MCP 时,模型对训练截点之后的新信息只能“幻觉或截断二选一”;接入 MCP 后,模型把实时文档直接拉入上下文窗口,从静态知识库变成基于实时数据的推理引擎。这恰好补强了本文第三节“强制工具执行 + 证据块”的要求——证据可以从实时 API 而非记忆中获得。
八、即用型提示模板:四类场景直接复制
仓库的 参考提示模板 提供了四类可直接附加到任意提示或系统指令末尾的模板,与本文的语法绑定、验证循环理念一一对应:
通用完整输出:
You must provide the FULL, complete, and exhaustive output for this task. Do not summarize, abbreviate, or truncate for brevity. You are strictly forbidden from using placeholders. Never use comments like "// ... rest of code here", "[continue here]", or bare ellipses standing in for omitted content. If the output is 500 lines, produce all 500 lines. If you approach your output limit, stop at a clean breakpoint and indicate where to resume. Do not rush to a conclusion or compress remaining sections.代码生成(对应“禁止占位符”的语法绑定):
Write the complete, production-ready implementation. Every function, every import, every edge case handler must be present in the output. Do not use placeholder comments (// TODO, // implement here, // similar to above). Do not describe what code should do — write the actual code. If the implementation requires multiple files, output each file completely with its full path as a header.分析与文档(对应“自包含章节”的完整性约束):
Provide an exhaustive analysis covering every aspect requested. Each section must contain substantive content, not summaries or references to "see above." Do not use phrases like "as mentioned earlier" to avoid repeating necessary context. Each section should be self-contained and complete. Structure your output with clear headings. If the analysis requires multiple parts, produce all parts in full.分步推理(对应验证链的显式化):
Before generating your final response, work through the problem systematically: 1. Identify all requirements and constraints from the prompt 2. Break the task into discrete steps 3. Execute each step completely 4. Verify your output against the original requirements Output your reasoning process, then your final answer. Do not skip steps or summarize intermediate work.续接处理(长输出到达上限时的优雅续接协议):
If your response approaches the output token limit: - Do not compress remaining content to fit - Do not skip ahead to a conclusion - Stop at a natural breakpoint (end of a function, end of a section) - End with: [PAUSED - X of Y sections complete. Send "continue" to resume] On "continue", pick up exactly where you stopped. No recaps or repetition.九、在 Taste-Skill 仓库中的落地参考
Taste-Skill 本身就是这套提示工程方法论的活体样本:
- 仓库中每个技能都通过 front-matter 的
name/description做“发现钩子”,正文按需加载——这是 架构模式 中懒加载思想的直接体现,也对应本文第四节的“分区”原则。 - taste-skill 用三个旋钮(
DESIGN_VARIANCE、MOTION_INTENSITY、VISUAL_DENSITY)显式化质量期望,并在 预检清单 中把“完整、无 AI 痕迹”翻译成可机械勾选的 70+ 项检查——这正是“语法绑定”思想在工程规范层的延伸。 - stitch-skill 的
DESIGN.md生成流程则示范了如何把“质量定义”固化为模型可解析的结构化文档。 - 研究侧的 经验结果 与 参考清单 为上述所有技术提供了实验与文献依据。
组合拳总结:面对任何可能被截断的复杂任务,建议按以下顺序装配——先用心理模式匹配(利害/分步框架)抬高质量基线,再用 XML 分区 + 语法绑定锁定结构完整性与证据来源,接着用验证循环(验证链或自评循环)收敛误差,最后用参考模板中的“续接处理”兜底超长输出。若仍未达标,再下探参数层与架构层。这套方法论从提示文本出发,向上贯通解码参数,向下贯通工程架构,恰好覆盖了 LLM 输出截断研究 定义的三层修复路径。
- AI 技能
- 前端
- 设计系统
【免费下载链接】taste-skill
Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop
相关推荐
训练数据偏差(Training Data Bias)深度解析:占位符模式如何诱导 LLM 截断输出,以及 Taste-Skill 仓库的对抗工程实践
训练数据偏差(Training Data Bias)深度解析:占位符模式如何诱导 LLM 截断输出,以及 Taste Skill 仓库的对抗工程实践 导读 本文
AI 技能前端设计系统在 Flue 中集成 Notion:用 @flue/notion 构建经 HMAC-SHA256 验证的 Webhook 接入通道
在 Flue 中集成 Notion:用 @flue/notion 构建经 HMAC SHA256 验证的 Webhook 接入通道 @flue/notion 是
AI 技能前端设计系统datawhalechina/self-llm:流式输出处理
datawhalechina/self llm:流式输出处理 为什么需要流式输出? 在大语言模型应用中,传统的请求 响应模式存在明显的用户体验问题:用户需要等待
大模型人工智能教程本地部署微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考