跳到正文
Hedon Garden

提示框样式一览

Typora「警告框」写出的就是 GitHub alerts 语法。五种类型各有一个色相、一个图标和一个中文标签;普通引用保持最安静。颜色只放在图标、标签和细边框上,正文始终是正文字号和墨色。

图例

类型色相图标什么时候用
普通引用浅灰竖条 #E2E4E8,灰字 #737069无引一句话、导语;不需要信号
提醒 NOTE蓝 #2C55B4(同章节编号)圆圈 i背景、范围澄清
建议 TIP绿 #2D6A3E灯泡可直接照做的经验
重要 IMPORTANT紫 #6A3FB5带叹号的对话框要点、一句话总结、全文结论
警告 WARNING琥珀 #8A5300三角叹号坑、限制、需立即留意
注意 CAUTION红 #B4213A八角叹号有负面后果的操作;全站唯一的红色

普通引用 >

一句值得停一下的话,不需要额外信号。

Markdown

> 缓存本来是为了提速,但缓存太大之后,"读取缓存"本身又成为瓶颈。

渲染效果

缓存本来是为了提速,但缓存太大之后,"读取缓存"本身又成为瓶颈。

出处:《大模型推理:KV Cache 的底层原理、挑战与应对》,原文即普通引用。

提醒 NOTE

补充背景、澄清范围,读者略读时也该看到。

Markdown

> [!NOTE]
> 需要注意的是,上面说的是同一次请求内部的 K/V 复用(Decode 收益最大)。业内常说的「保持系统提示词稳定,提高缓存命中」,通常指在此之上的 **Prefix/Prompt Cache**,即跨请求复用已有前缀的 K/V,主要省的是 Prefill,后文会进一步展开讨论。

渲染效果

提醒

需要注意的是,上面说的是同一次请求内部的 K/V 复用(Decode 收益最大)。业内常说的「保持系统提示词稳定,提高缓存命中」,通常指在此之上的 Prefix/Prompt Cache,即跨请求复用已有前缀的 K/V,主要省的是 Prefill,后文会进一步展开讨论。

出处:《大模型推理:KV Cache 的底层原理、挑战与应对》,原文即 [!NOTE]。

建议 TIP

可以直接拿去用的做法、经验。

Markdown

> [!TIP]
> 写 prompt 时,先想"AI 最容易犯什么错",然后写对应的禁令。

渲染效果

建议

写 prompt 时,先想"AI 最容易犯什么错",然后写对应的禁令。

出处:《Claude Code 源码解析丨从 6 个问题窥视 CC 的 Harness Engineering》,原文是站点自定义的「提示」框,这里示意写成 [!TIP]。

重要 IMPORTANT

全文要记住的结论或一句话总结。可多段。

Markdown

> [!IMPORTANT]
> **一言以蔽之:**
>
> Q 是当前 token 的「提问」,K 是各 token 的「索引标签」,V 是可被取用的「内容」。注意力用 Q 与所有(因果可见的)K 算相似度,经 Softmax 得到一组权重,再按权重把各 V 合成一个上下文向量,而不是只取最相关的那一个。
>
> 这个上下文向量再经输出投影、FFN 和后续层,最终变成词表 logits,从而采样出下一个 token。Decode 时历史 K/V 可缓存复用。每步只需为最新输入算新的 Q/K/V,其中新的 K/V 追加进 Cache,Q 只用于本步查询。

渲染效果

重要

一言以蔽之:

Q 是当前 token 的「提问」,K 是各 token 的「索引标签」,V 是可被取用的「内容」。注意力用 Q 与所有(因果可见的)K 算相似度,经 Softmax 得到一组权重,再按权重把各 V 合成一个上下文向量,而不是只取最相关的那一个。

这个上下文向量再经输出投影、FFN 和后续层,最终变成词表 logits,从而采样出下一个 token。Decode 时历史 K/V 可缓存复用。每步只需为最新输入算新的 Q/K/V,其中新的 K/V 追加进 Cache,Q 只用于本步查询。

出处:《大模型推理:KV Cache 的底层原理、挑战与应对》,原文即 [!IMPORTANT]。

重要 IMPORTANT(自定义标题)

同一类型,标题换成「本文结论」。

Markdown

> [!IMPORTANT] 本文结论
> 在组织 Prompt 的时候,尽可能保证稳定前缀在前,易变内容在后。

渲染效果

本文结论

在组织 Prompt 的时候,尽可能保证稳定前缀在前,易变内容在后。

出处:正文出自 《大模型推理:KV Cache 的底层原理、挑战与应对》(原文为 [!IMPORTANT]);标题「本文结论」是示例写法。

警告 WARNING

容易踩的坑、行为上的限制,读者需要立刻留意。

Markdown

> [!WARNING]
> 百炼平台显式缓存和隐式缓存是互斥的!单个请求只能应用其中一种模式,且二者的缓存不互通!详见:[百炼-上下文缓存](https://help.aliyun.com/zh/model-studio/context-cache)。

渲染效果

警告

百炼平台显式缓存和隐式缓存是互斥的!单个请求只能应用其中一种模式,且二者的缓存不互通!详见:百炼-上下文缓存。

出处:《Prompt Engineering 从提示词撰写到生产治理》,原文即 [!WARNING]。

注意 CAUTION

做了会带来负面后果的事。全站唯一用红色的地方,少用。

Markdown

> [!CAUTION]
> 关于模型的脾性这里补充一句,one-shot 和 few-shot 对于能力较强的模型来说往往能带来更好的效果,但是对于小参数模型,很不推荐!因为小模型往往(特指千问)会无脑临摹你给的示例!甚至是你列举的反面示例!

渲染效果

注意

关于模型的脾性这里补充一句,one-shot 和 few-shot 对于能力较强的模型来说往往能带来更好的效果,但是对于小参数模型,很不推荐!因为小模型往往(特指千问)会无脑临摹你给的示例!甚至是你列举的反面示例!

出处:《Prompt Engineering 从提示词撰写到生产治理》,原文是普通引用,这里示意写成 [!CAUTION]。

嵌套内容:列表

框内放有序列表和二级列表。

Markdown

> [!NOTE]
> 1. Claude Code 每次 LLM API 调用的 Prompt 是怎样的?
>    1. Prompt 的组成 部分是怎样的?为什么是选择这些而不是别的?
>    2. Prompt 有哪些撰写原则?我们能学到什么?
>    3. Prompt 过长时,压缩机制是怎样的?
> 2. Claude Code 的 ReAct 循环是怎样的?
> 3. Claude Code 在"写代码(修改文件)"的时候,究竟发生了什么?

渲染效果

提醒

  1. Claude Code 每次 LLM API 调用的 Prompt 是怎样的?
    1. Prompt 的组成 部分是怎样的?为什么是选择这些而不是别的?
    2. Prompt 有哪些撰写原则?我们能学到什么?
    3. Prompt 过长时,压缩机制是怎样的?
  2. Claude Code 的 ReAct 循环是怎样的?
  3. Claude Code 在"写代码(修改文件)"的时候,究竟发生了什么?

出处:《Claude Code 源码解析丨从 6 个问题窥视 CC 的 Harness Engineering》,原文是站点自定义的「提示」框(含列表),这里示意写成 [!NOTE]。

嵌套内容:行内代码

框内带行内代码。

Markdown

> [!TIP]
> 假设你有一个场景 A 的默认 Prompt 是 `scene_a_system.md` 和 `scene_a_user.md`,假设有一个 A/B 分组名为 `group_a`,那命中这个分组的用户应该加载的就是 `scene_a_ab_group_a_system.md` 和 `scene_a_ab_group_a_user.md`。

渲染效果

建议

假设你有一个场景 A 的默认 Prompt 是 scene_a_system.md 和 scene_a_user.md,假设有一个 A/B 分组名为 group_a,那命中这个分组的用户应该加载的就是 scene_a_ab_group_a_system.md 和 scene_a_ab_group_a_user.md。

出处:《Prompt Engineering 从提示词撰写到生产治理》,原文是普通引用,这里示意写成 [!TIP]。

A2 文章里的映射

A2 里原来的框现在的类型依据
注意(Prefix/Prompt Cache 那段)提醒 NOTE原文就是 [!NOTE],内容是范围澄清
要点 ×2(自注意力、一言以蔽之)重要 IMPORTANT原文就是 [!IMPORTANT]
三个核心挑战(存不下、读太慢、难管理)重要 IMPORTANT原文就是 [!IMPORTANT]
延伸(当然还有其他更加复杂的问题…)提醒 NOTE原文就是 [!NOTE]
本文结论(稳定前缀在前)重要 IMPORTANT,标题「本文结论」原文是 [!IMPORTANT];红色让给 CAUTION
两句关键引语(缓存本来是为了提速…;KV Cache 大小 ≈ …)普通引用 >原文是普通引用