temp
TS interface vs type
- 对现有类型做组合/运算,优先用
type - 需要可扩展、可被后续声明合并(派生/补充),优先用
interface - 对“对象结构定义”来说两者很多场景等价,团队统一风格比死磕语法更重要
什么时候更适合 type
- 做联合类型:
A | B - 做交叉组合:
A & B - 做条件类型、映射类型、工具类型拼装
- 定义元组、原始类型别名
type Id = string | number;
type User = { id: string; name: string };
type UserWithMeta = User & { createdAt: Date };
什么时候更适合 interface
- 定义面向对象的结构契约(尤其是对外 API)
- 预期后续继续扩展
- 需要声明合并(同名
interface自动合并)
interface User {
id: string;
}
interface User {
name: string;
}
// 合并后:{ id: string; name: string }
一句话记忆
- “做类型运算”用
type - “做可扩展契约”用
interface
强缓存 vs 协商缓存
- 强缓存:浏览器直接用本地副本,不发请求。常见头:
Cache-Control: max-age=3600、Expires: Fri, 10 Apr 2026 13:00:00 GMT。 - 协商缓存:会发请求给服务端确认是否变更;未变更返回
304,变更返回200+ 新内容。常见头:ETag: "v1.2.3"/If-None-Match: "v1.2.3"、Last-Modified: Fri, 10 Apr 2026 12:00:00 GMT/If-Modified-Since: Fri, 10 Apr 2026 12:00:00 GMT。 - 关系:先看强缓存是否过期;过期后再走协商缓存。
一句话:强缓存省请求,协商缓存省流量。
RAG = 检索 + 增强 + 生成
性能关注:
- 首屏输入可用时间
- 渲染性能
- js错误率
- 首字时间
- 流式稳定性与弱网下兜底
Transformer(超简版学习记录)
一句话
每个词都会先看全句,再更新自己的含义。
核心流程
- 输入 token -> embedding(词向量)
- 加位置编码(告诉模型顺序)
- 每个词各自产生
Q/K/V - 用
Q·K算“我该关注谁”的分数 softmax变成权重(总和为 1)- 用权重对所有
V加权求和,得到当前词新表示 - 多头注意力并行做多组,再拼接
- 经过 FFN + 残差 + LayerNorm
Q / K / V 是什么
Q(Query):当前词“想找什么信息”K(Key):每个词“可被匹配的标签”V(Value):每个词“真正提供的内容”
一句话:QK 决定看谁,V 决定拿什么。
QKV 怎么来的
同一个输入向量 x,通过 3 个可训练矩阵线性变换得到:
q = xW_Q, k = xW_K, v = xW_V
W_Q/W_K/W_V都是训练中学出来的参数- 不是手工规则
为什么比 RNN 更强
- 任意两词可直接建联系(长距离依赖更容易)
- 可并行训练(速度更快,扩展性更好)
- 这是现在大模型的主干架构
ai对话 性能
- 首屏可用时间(LCP/INP,输入框多久可用)
- TTFT(首字时间)
- 流式稳定性(是否卡顿、断流、重连成功率)
- 前端错误率(JS error、接口 4xx/5xx、超时)
- 渲染性能(长列表掉帧、消息越多越卡)
上下文的管理
- 先拿到 system prompt(规则、模式、工具说明等)。
- 从历史里取“有效消息”(不是把数据库里所有消息都发)。
- 估算 token,判断会不会接近上限。
- 如果危险,先做“摘要压缩(condense)”;不行再“滑窗截断”。
- 才真正调用模型。
压缩prompt
- 用户意图
- 已查看文件历史
- 已解决的与还在解决的
- 事件清单
- 当前工作与下一步
MCP
-
MCP 是什么 MCP(Model Context Protocol)是让模型连接外部能力的通用协议。 它定义了“怎么声明能力、怎么被调用、怎么传上下文”,而不是具体业务逻辑。
-
MCP 里有什么对象
- MCP Server:提供能力的一端(你可以理解成工具网关)
- Client/Host:发起调用的一端(如 IDE 助手、Agent 运行时)
- Tools:可执行动作(查数据、发请求、改文件等)
- Resources:可读取内容(文件、文档、知识库片段等)
- Prompts:可复用的提示模板(让调用方少写重复提示)
-
一次调用怎么走
-
Client 连接到 MCP Server
-
发现可用能力(tools/resources/prompts)
-
模型决定调用某个 tool
-
Server 执行并返回结构化结果
-
模型把结果并入后续推理/回复