如何用 LangGraph StateGraph 定义一个带状态的工作流,State 的字段在节点间如何传递?
围绕“如何用 LangGraph StateGraph 定义一个带状态的工作流,State 的字段在节点间如何传递”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清 State schema、节点返回部分状态更新、框架合并写回的基本链路。
程序员面试题库第 11 页,收录第 501–550 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
围绕“如何用 LangGraph StateGraph 定义一个带状态的工作流,State 的字段在节点间如何传递”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清 State schema、节点返回部分状态更新、框架合并写回的基本链路。
围绕“LangGraph 流式执行中遇到 interrupt 后如何恢复同一个 stream,断流重连会丢事件吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要讲清 resume 触发新 stream 与检查点保证不丢状态的边界。
围绕“LangGraph 的 stream_mode(values/updates/messages)在观测工作流执行时分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较全量状态、增量更新与 token 级消息三种模式及调试选型。
围绕“LangGraph 子图有自己独立的检查点吗,从父图视角恢复时子图内部状态如何处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖聚焦子图 checkpoint 命名空间与父图恢复的层级关系。
围绕“LangGraph 中何时把一组节点封装成子图,父子图之间状态如何映射与传递”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要讲清子图复用与封装边界以及父/子 schema 不一致时的键映射。
围绕“LangGraph 的 durability 模式(sync/async/exit)在崩溃恢复语义上有什么差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较同步落盘、异步与退出时落盘在性能与丢数据风险上的取舍。
围绕“LangGraph 中 thread_id 如何把多次调用关联成一条会话,跨请求恢复状态依赖什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要讲清 thread 作为持久化命名空间的语义。
围绕“LangGraph 的 update_state 如何以某个节点的身份写入状态,as_node 参数影响什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要回答伪节点写入对后续路由与检查点元数据的影响。
围绕“LangGraph 的检查点(checkpoint)保存了哪些内容,为什么每个 super-step 结束都会写入”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须列出状态快照、待执行任务、元数据与 thread 关联。
围绕“LangGraph 的图执行模型是什么,节点和边在一次调用中如何被调度”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须说清 LangGraph 把节点视为函数、按边关系逐步调度执行的整体模型。
围绕“Anthropic 如何区分 workflow 和 autonomous agent,工程上何时该放弃预定义工作流”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确预定义路径与自主决策的控制权差异及选型标准。
围绕“线上更换嵌入模型前应该怎么做 A/B 或离线对比验证”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确全量重嵌入后离线召回对比加小流量灰度、分数分布不可直接跨模型比较。
围绕“近似最近邻搜索相比暴力精确搜索牺牲了什么、换来了什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确以可控召回率损失换取数量级的延迟与内存改善。
围绕“为什么有的嵌入模型要求查询和文档加不同的前缀(如 query:/passage:),不加会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确非对称训练使模型靠前缀区分检索方向、缺前缀显著降低召回。
围绕“嵌入向量做二值量化(binary quantization)后能省多少存储,代价是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 32 倍压缩与重排序(rescore)配合才能保住召回。
围绕“文档切块大小如何影响嵌入检索质量,过大过小各有什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确过小块丢上下文、过大块稀释语义且受模型输入长度限制。
围绕“中英混排或夹带代码标识符的文本做嵌入时有什么特殊注意事项”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确子词切分对罕见标识符碎片化影响语义、必要时保留原始标识符或选代码友好模型。
围绕“向量检索中余弦相似度和点积在什么条件下等价,什么时候结果会不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确两者在向量归一化后等价的数学条件及未归一化时排序差异。
围绕“中文查询召回不到英文文档,是多语言嵌入模型的问题还是检索配置的问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确先确认模型是否声明跨语言对齐能力、再检查分数分布与阈值。
围绕“高维空间中最近邻为什么会失去区分度,这对向量检索意味着什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确高维下距离趋于集中使精确近邻成本上升、近似索引成为必需。
本题解析嵌入维度与检索质量的关系,指出收益递减、维度灾难、存储延迟成本增加,并给出维度选择的工程判断方法。
围绕“向量库报维度不匹配错误通常有哪些原因,如何排查”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确模型版本混用、集合创建维度与当前模型不一致、截断配置不一致三类来源。
围绕“源文档删除后向量库里的残留向量不清理会有什么后果,怎么处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确残留向量仍可能被检索返回造成引用失效内容、需按文档 ID 级联删除。
围绕“知识库里大量重复或近重复文档为什么会让 top-k 检索结果多样性崩塌,怎么缓解”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确近重复 chunk 临时标记挤掉多样结果、需入库前去重或检索后 MMR 重排。
围绕“为什么公开嵌入模型榜单分数高不代表在你的数据上检索效果好”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确领域分布漂移与任务类型(检索 vs 分类)差异,须用自有数据做召回评估。
本题解释欧氏距离相对余弦相似度的适用场景:当向量模长包含语义信息(如未归一化模型输出)时欧氏距离更合适,并给出具体工程判断方法与失败边界。
围绕“没有现成标注时,如何构建检索质量评估用的黄金问答数据集”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确从真实日志抽样人工标注或合成问题并人工校验相关性标签。
围绕“向量检索加元数据过滤后召回率下降,可能是什么原因”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确过滤缩小候选池使 ANN 在过滤后剩余点不足、需过滤感知遍历或先过滤后检索策略。
围绕“线上延迟升高时调小 HNSW 的 efSearch 会发生什么,怎么验证影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 efSearch 下降降低召回换取延迟、需用召回率基准验证。
围绕“如何估算 HNSW 索引的内存占用,为什么它比原始向量本身大”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确图邻接表每层连接带来的额外开销与 M 的关系。
围绕“HNSW 索引的 M、efConstruction、efSearch 三个参数分别控制什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确图连接度、建索引质量、查询时搜索宽度三者的独立作用与内存/延迟权衡。
围绕“不允许停机的场景下如何平滑切换到重建后的向量索引”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确新建影子索引双写或蓝绿切换、验证后切流量。
围绕“稀疏检索(BM25)和稠密向量检索混合时,两路结果怎么融合排序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确分数尺度不可比需 RRF 等基于排名的融合或归一化加权。
围绕“文档内容更新后只重嵌入变化的 chunk,怎么保证索引与原文一致”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确需要 chunk 级版本或哈希追踪增删改、避免孤儿向量。
围绕“向量索引应该全量离线重建还是支持在线增量插入,怎么决策”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确数据变更频率与索引类型(IVF 需重训聚类、HNSW 可增量)决定策略。
围绕“十万级和亿级向量分别该选暴力、IVF 还是 HNSW,判断依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确按数据量、更新频率、延迟与内存预算选型。
围绕“IVF 索引的 nlist 和 nprobe 怎么选,调大 nprobe 为什么能提升召回”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确聚类数控制分桶粒度、nprobe 控制查询探查桶数从而线性影响召回与延迟。
围绕“为什么嵌入向量入库前常做 L2 归一化,不做会有什么后果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确归一化使点积等价于余弦、消除模长对排序的干扰。
围绕“超过嵌入模型最大输入长度的文档直接截断嵌入会丢什么,怎么处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确截断丢弃尾部语义造成偏置、应切块或选长上下文模型。
本题考察单向量与多向量检索的本质区别。MaxSim 通过逐 token 最大相似度求和保留词级匹配,代价是存储和计算放大。文中用具体工程场景说明收益,并讨论失效边界如长文本噪声与索引压缩。
围绕“升级嵌入模型后为什么必须重建全部向量,能否新旧向量混用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确不同模型向量空间不可比、混用导致相似度无意义。
围绕“Matryoshka 嵌入为什么可以直接截断维度使用,截断后要注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确其训练时嵌套结构使前缀维度自含信息、截断后需重新归一化。
围绕“MRR 和 nDCG 分别适合评估什么样的检索场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 MRR 只看首个相关结果位置适合单答案场景、nDCG 考虑多级相关性 graded relevance。
围绕“多语言知识库应该用一个多语言嵌入模型混存,还是按语言分开建库”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确多语言模型支持跨语言检索但同语言内精度可能不如单语模型、按业务是否需要跨语言命中决策。
围绕“对已经归一化的嵌入向量重复做 L2 归一化会有数值问题吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确幂等性与浮点误差下的实际影响。
单边归一化查询向量后,点积近似余弦的实际偏差来源是文档向量长度未消除,排序可能反转;需要双侧归一化或用文档范数显式计算,并给出适用边界。
围绕“小块嵌入检索、大块返回给生成模型的父子切块策略解决了什么矛盾”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确检索精度需要小块而生成上下文需要大块的矛盾及其映射实现。
围绕“用 PCA 给已生成的嵌入降维会损失多少检索质量,什么时候值得做”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确线性降维对最近邻结构的保真有限、适合存储瓶颈场景且需离线验证召回。
围绕“向量检索中前置过滤和后置过滤各有什么坑,怎么选”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确后置过滤可能 top-k 全被滤掉返回过少结果、前置过滤依赖过滤选择性。
围绕“乘积量化压缩向量后为什么必须用原始向量重打分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确量化距离是近似值、候选集放大后用精确距离重排恢复精度。