贾永琪的技术博客

从一条直线到大模型输出一个token(六):QKV 三剑客

从一条直线到大模型输出一个token(六):QKV 三剑客 建议先看:从一条直线到大模型输出一个token(五):Transformer Block 全景与层归一化 上一篇把 Block 的结构图和 LayerNorm 讲完了。这一篇进入 Block 里最核心的部件——多头自注意力的第一步:Q、K、V 三个矩阵是怎么算出来的,各自代表什么。 1. 一个比喻:图书馆式的分工 先把 QKV 的角色用一

【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩

【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩 摘要 双指针系列第三篇,相向双指针专题。三道题讲透"比较、排除、收缩":LC167 两数之和 II(裸题;一版过,但这题的判决书有个反直觉的结构——淘汰 r 时,论证的全部内容却是 l 的未来:"不动的那边"才是死刑判决的依据);LC11 盛最多水的容器(排除论证的原题;代码一次过、证明欠着的病历——“谁矮动谁"凭什么安全,矮边的所有

从一条直线到大模型输出一个token(五):Transformer Block 全景与层归一化

从一条直线到大模型输出一个token(五):Transformer Block 全景与层归一化 建议先看:从一条直线到大模型输出一个token(四):位置编码 RoPE 上一篇末尾留了个悬念:「苹果」在"我吃了一个苹果"里是水果,在"苹果发布新手机"里是公司——同一个 token,含义要靠旁边的词决定。从这一篇开始,我们正式走进 Transformer 大厦,看词和词怎么"发生关系"。 1. 先看

【算法】回溯算法(二):五个坑与一次验收——决策、切片与去重

【算法】回溯算法(二):五个坑与一次验收——决策、切片与去重 摘要 回溯系列第二篇,翻车实录上半场。上一篇沉淀的模板十分钟就能背下来,但背下来和会用是两回事——本篇记录我在五道题上真实翻车的经历:决策粒度过粗(括号生成缺解)、Go 切片引用(全排列丢一半结果)、"要/不要"模型滥用(三道题同一个错)、同层去重(同一考点三次没接住,含 [1,2,2] 怎么生成的 8 条路径推演)、范式识别(该用 D

【算法】双指针与滑动窗口(一):框架总纲——三类问题、一个原理与判决书

【算法】双指针与滑动窗口(一):框架总纲——三类问题、一个原理与判决书 摘要 双指针/滑动窗口系列第一篇,只讲框架不讲题。这个结构本身是一次纠错的结果:我先前按"一题一题做、批改里提炼要点"的方式学这个系列(LC3 写了五版、LC15 四版、LC76 一版过但被拷问),十来道题做完,某天被自己问倒——"双指针的核心原理到底是什么?"竟然答不上来。回溯系列我有"选择、递归、回退"六个字,DP 系列我

【教程】为AI助手打造持久记忆系统:基于CodeBuddy的分层记忆架构设计与实践

【教程】为AI助手打造持久记忆系统:基于CodeBuddy的分层记忆架构设计与实践 摘要 本文详细介绍如何为AI编程助手构建一套完整的持久化记忆系统。通过分层记忆模型、即时写入策略和自动化提炼机制,让AI助手在跨会话场景下真正"记住你"。文章包含完整的架构设计、文件结构、提炼脚本和踩坑经验,适合对AI工具链定制感兴趣的开发者阅读。 1. 为什么AI助手需要记忆系统 1.1 无状态对话的痛点 大多数

【算法】链表(一):世界观与指针操作——攥住再改、重绑与改对象、哨兵节点

【算法】链表(一):世界观与指针操作——攥住再改、重绑与改对象、哨兵节点 摘要 链表系列第一篇。从数组转场链表,最先撞的不是算法,是世界观:数组是一个连续的"东西",链表是一堆独立节点 + 指针关系——持有头节点不等于持有链表,持有的是入口,链长在指针网络里。本篇两题三课:LC206 反转链表(先写了个"头插法重建"绕过指针操作——功能对但 O(n) 空间,被自己注释里"指针被移动就丢失后续"的诊

从一条直线到大模型输出一个token(十):首 token 诞生与 KV-Cache

从一条直线到大模型输出一个token(十):首 token 诞生与 KV-Cache 建议先看:从一条直线到大模型输出一个token(九):输出矩阵与多层堆叠 上一篇拿到了输出矩阵,6 条约束链全部沉淀在最后一行。这一篇让首 token 真正诞生——然后是自回归、KV-Cache,以及整个系列的收官。 ) 1. 取最后一行:为什么是「?」 篇9 结尾说过:输出矩阵的最后一行——「?」行——是预测首