Rewrite references/pedagogy.md around recite-vs-teach: reader model,
coverage density (sections_in is cite permission, not a to-do list),
intuition-before-formula three-beat, and paper-jump filling.
Every notes/sections/sec-*.tex must now answer gap / takeaway / jump /
omit above the first \section. lint.py checks presence only (it cannot
judge honesty); files opening with "% generated by" are exempt.
- scripts/lint.py: SP025 + is_writer_section / teach_gaps helpers
- tests/no-teach-block/: fixture with takeaway only, wired into test.sh
- examples/*: all 14 writer sections get real teach blocks
- SKILL.md, references/{agents,antipatterns,checklist}.md, DESIGN.md,
assets/notes-template.tex: route writers and consistency agent
through pedagogy.md
26 lines
880 B
TeX
26 lines
880 B
TeX
% teach:
|
||
% gap: 把 $K^\top$ 当成记号上的装饰,不当成一次真实的换面
|
||
% takeaway: 打分沿 $d_h$ 收缩,收缩边必须等长
|
||
% jump: fixture 只写 $QK^\top$,没说明转置是物理换面而非书写约定
|
||
% omit: 多头拼接与输出投影
|
||
\section{主张与贡献}
|
||
\splabel{C1}
|
||
打分是 $(T\times d_h)(d_h\times T)\to(T\times T)$。$K^\top$ 必须物理换面,收缩边等长。
|
||
|
||
先用中文说完,再写式子:
|
||
|
||
\[
|
||
S^{(i)}=Q^{(i)}K^{(i)\top}.
|
||
\]
|
||
|
||
\begin{itemize}
|
||
\item $Q^{(i)}$ — 第 $i$ 头 query,$T\times d_h$
|
||
\item $K^{(i)\top}$ — 转置后的 key,$d_h\times T$
|
||
\item $S^{(i)}$ — 分数,不是 mask
|
||
\end{itemize}
|
||
|
||
\spfig{F2}{每头打分沿 $d_h$ 收缩。}{重绘自 fixture;toolkit: \texttt{supertensor};ledger id: F2。}
|
||
|
||
\subsection{本章小结}
|
||
轴长是这张图的主张,所以走 supertensor,不走 superfig。
|