随手记录
设计思路、技术难点与部署方案
联合搜索:Milvus 向量 + BM25 关键词 + 知识图谱 + 千问 Rerank 四种检索怎么一起用
单一检索通道永远无法覆盖所有查询场景。本文记录我把向量、BM25、知识图谱三个通道并行跑,再用千问做最终重排序的实战过程——包括各通道的技术选型、并行调度、结果合并去重、以及 100 条真实查询的实测效果。
阅读全文 →Milvus 折腾记:从 Redis Stack 迁到 Milvus 的完整过程
向量数过了 50 万之后,Redis Stack 的 HNSW 索引开始吃力。本文记录我从 Redis Stack 迁到 Milvus 的全过程,包括 Docker 安装、Schema 设计、索引选型的实际对比、以及迁移过程中的踩坑记录。
阅读全文 →知识图谱实战:从零构建旅行领域的 GraphRAG 检索系统
向量检索能回答"成都有什么好吃的",但回答不了"杜甫草堂和武侯祠之间有什么历史关联"。知识图谱补上了这一环——本文从实体抽取、关系定义、图数据库选型、混合检索到 GraphRAG 落地,完整记录一套可运行的知识图谱构建与检索方案。
阅读全文 →多模态文档拆分:用千问 Qwen-VL 把图片、PDF、Markdown、PPT 拆干净
传统文本拆分面对 PDF 里的表格、PPT 里的架构图、Markdown 里的截图时直接失效。本文基于阿里千问多模态模型设计了一套统一的文档拆分管线——将任何格式的文档转成结构化的图文 chunk,存入多模态向量库,并能在 RAG 检索时还原完整上下文。
阅读全文 →上下文完整性:让 LLM 能"看到"每个 Agent 的产出
修复前,checkpoint 只存 supervisor 的调度消息,子 Agent(路线/酒店/美食/文化)的产出全部封在 result 字段中不可见。用户问"把第二天的酒店换成便宜的"时 LLM 根本不知道推荐了什么酒店。将子 Agent 的摘要 AIMessage 写入 messages 解决了这个问题。
阅读全文 →用户隔离设计:双图实例与游客并发模型
内置 admin 认证 + 游客免登录 + 双 Checkpoint 后端(MemorySaver / SqliteSaver)。分析 LangGraph 的 thread_id 隔离机制及多游客并发的安全性。
阅读全文 →多轮对话纠错:消息存储不对称导致的上下文断裂
用户说"算了,改去北京"时系统为什么还在规划西安?根因不是 prompt 写得不够细,而是 checkpoint 只存了 AIMessage 没存 HumanMessage——LLM 在多轮对话中只能看到一半的对话历史。
阅读全文 →Agent Prompt 工程设计:SystemMessage 与 HumanMessage 的职责分离
诊断当前多 Agent 系统中 prompt 构造的结构性问题——SystemMessage 空壳化、HumanMessage 承载全部指令、子 Agent 上下文管理策略——并给出基于消息语义学的改进方案。
阅读全文 →好用的多 Agent 摘要机制:langmem.summarize_messages
接入 langmem 官方 summarize_messages + RunningSummary API,实现增量摘要与消息追踪。
阅读全文 →Reducer学习:从默认行为到自定义合并
深入分析 Reducer 的工作原理、实现细节、并行分支的合并机制,以及当前设计的痛点和改进方向。
阅读全文 →多 Agent 状态同步、Checkpoint 记忆与重试机制
基于多 Agent 状态同步原理、Checkpoint 工作机制、上下文窗口管理策略和 LLM 调用重试机制。
阅读全文 →从单 Agent 到多 Agent:一次真实的架构改造
记录从"1个LLM变量反复调用"到"每个Agent独立LLM实例"的改造过程
阅读全文 →