Arganzheng's Blog

stay hungry, stay foolish

置顶致读者的一封信

这里写什么、怎么读、怎么告诉我哪里不对

你好,欢迎来到这里。 这封信讲三件事:这里写什么、读的时候有哪些顺手的小功能、怎么告诉我哪里写得不对。这封信本身就是演示场地,下面提到的功能都可以直接在这里试,随便划、随便点,不会弄坏什么。 一、这里写什么 主要是技术,近两年集中在 AI 工程。内容按三张学习地图组织——AI 算法工程师、AI-Infra 工程师、AI 应用工程师——地图下面是三十多个系列,比如《大模型推理系统揭秘》《GPU Kernel 工程》《通信与互联》。每个系列有总纲、正文和一篇总结自测;文章开头告诉你它是第几篇,文末有整个系列的目录。导航栏的 Series 是全部系列的树,系列列表也标出「入门 / 进阶 / 深入」,方便按难度挑选。 更早的文章(2009 年起)是 Java、数据库...

置顶AI 全栈学习地图:造模型、跑模型、用模型的三张图

One System, Three Roles — an Overview of the Three AI Learning Roadmaps

内容简介 这个博客的技术文章围绕三张学习地图组织:《AI 算法工程师学习地图》、《AI-Infra 工程师学习地图》、《AI 应用工程师学习地图》。每张地图把一个方向的知识分层,说明每层回答什么问题、按什么顺序学、哪些已经写成了系列。本文是三张地图之上的一页总览,回答的是三张地图各自不回答的问题: 为什么是三张而不是一张?三张地图之间怎么分工、在哪里交汇?一个人该从哪一张进入,读到哪里该换到另一张?1 三张地图对应的是同一个系统里的三种角色。一个大模型从数据到用户手里,要被造出来(预训练、后训练、评测)、被跑起来(引擎、集群、平台)、被用起来(检索、工具、编排、产品)。三件事用同一批名词——Python、PyTorch、Transformer、KV c...

工具、Agent 与 harness:模型怎么从回答变成做事(总纲)

Tools, Agents and the Harness: From Answering to Acting

内容简介 《工具、Agent 与 harness:模型怎么从回答变成做事》是一组共九篇的系列文章,是《AI 应用工程师学习地图》第四层(L4)的正文。前三层讲的模型只回答:它读上下文、给出文本。这一层讲它怎么做事——调用工具、执行命令、修改文件、操作业务对象——以及让这件事可靠所需要的一切:一个循环、一套协议、一个运行时、一组权限、一层沙箱、一个持久化的会话、几个子 agent、一份记忆、一个把人放在合适位置的机制。业内把模型之外的这一切叫 harness(马具)。 2026 年是 harness 成为独立产品的一年。OpenAI 在 9 月 10 日把驱动 Codex 的 harness 作为 Agents API 公测——”OpenAI 托管并维护 harn...

检索与知识接入(08):系列总结与通关自测

Retrieval and Knowledge Access: Series Recap and Final Self-Test

七篇正文回答了一个问题:私域知识怎么进入模型。第一篇决定路(进上下文还是进权重),第二篇选检索的类型(词法、向量、结构化),第三、四篇讲流水线的两段(解析分块、索引混合 rerank),第五篇讲从流水线到 agentic,第六篇讲结构化知识(SQL、本体、图),第七篇讲怎么评、怎么运营。七篇合起来是《AI 应用工程师学习地图》第三层:把”让模型知道我们的业务”变成一组可选择、可实现、可评测的接入方式。 本文不讲新内容:一张总表与七段回顾,贯穿七篇的四条线,常见误区,然后是三段式通关自测——判断与计算、跨篇综合、面试题。 读完这七篇,你应该能回答哪些问题?1 哪些数字与结论必须能脱口而出?2 怎么判断自己是”读过”还是”掌握”了?3 先把整个系列放在一张...

检索与知识接入(07):检索评测与运营

Retrieval Evaluation and Operations

前六篇讲了怎么建:决定路、选检索类型、解析分块、索引混合 rerank、agentic、结构化。这一篇讲怎么知道它好不好、上线后怎么维持。一个 RAG 系统答错了,有两种完全不同的病:没找到(检索没把正确的块放进上下文)与找到了没说对(块在上下文里,模型编了、漏了、引错了)。两种病的药不同——前者改解析、分块、embedding、混合、rerank,后者改 prompt、引用约束、guardrails、模型——混在一起评就不知道该改哪一半。检索与生成分开评是本篇的核心纪律。 运营的部分讲三件事:在线信号(用户的行为告诉你哪些查询没答好)、索引新鲜度与重建(文档更新到可检索要多久、换 embedding 模型怎么切)、以及权限泄漏作为一个评测项——2024 年 Sl...

检索与知识接入(06):结构化知识——SQL、本体与 GraphRAG

Structured Knowledge: SQL, Ontology and GraphRAG

第二篇说三类检索都缺一样东西:关系。embedding 是向量空间里的点,”近”是相似不是”调用”、”属于”、”下单”;grep 能找到字面出现的地方但分不清定义与引用。”这个客户去年的投诉涉及哪些产品”、”改这个接口会影响哪些服务”、”这批文档整体在说什么”——这些问题的答案在结构里,不在任何一个块里。本篇讲三种把结构交给模型的方式:SQL(有 schema 的业务数据)、本体(对象、关系、动作与权限的统一模型)、图(从文档抽取的实体关系与社区摘要)。 三者解决的问题不同、成本差几个量级。text-to-SQL 在 demo 上很好、在企业真实 schema 上准确率只有两成左右——不是模型不够聪明,是列名不可读、业务规则隐含、多表关系没人告诉它;解法是语义层。...

检索与知识接入(05):从流水线到 agentic retrieval

From RAG Pipelines to Agentic Retrieval

前两篇讲的是一条流水线:query → embedding → 混合召回 → rerank → top-k → 放进 prompt → 生成。它是 2023 年以来 RAG 的标准形态,优点是每一步确定、延迟可控、成本固定。它的弱点也来自”确定”:一次检索没找到就没找到,查询与文档不匹配时没有第二次机会,多跳问题(”A 的供应商的母公司在哪”)要先查 A 再查供应商再查母公司,流水线做不到。 2025 年之后另一种形态成为主流:检索是 agent 的一个工具。模型看到问题,决定查什么(改写、拆分)、用哪类检索(grep 还是向量还是 SQL)、查几轮、结果够不够、要不要换个词再来——第二篇讲的 coding agent 用 grep 多轮搜索就是它;深度研究类产品...

检索与知识接入(04):索引、混合检索与 rerank

Indexing, Hybrid Search and Reranking

上一篇把文档变成了带元数据的块。这一篇讲怎么把块存起来、怎么找回来:选哪个 embedding 模型、用什么索引结构、放在哪个向量库、怎么把 BM25 与向量的结果合起来、为什么 rerank 是整条流水线上性价比最高的一步、以及权限过滤为什么必须发生在这一步。 这一层的选型与 《模型作为组件(05):选型——榜单的失真、自己的评测集与供应商的弃用周期》的模型选型同构:榜单(MTEB)只能缩范围,决定要在自己的查询集上做;并且它有一个模型选型没有的隐藏成本——换 embedding 模型意味着全量重建索引。2026 年的候选很多(Qwen3-Embedding 登顶 MMTEB、Gemini Embedding、Voyage-3-large、Cohere Embe...

检索与知识接入(03):文档解析与分块——检索失败的上游

Document Parsing and Chunking: Where Retrieval Fails Upstream

向量库里存的是什么,取决于文档被解析成了什么、又被切成了什么。一份两栏 PDF 被逐行交错成流畅的胡话、一张财务表格被压成一段丢掉了行列、每一页的页眉被注入到每一个块里——这些错误产出的 markdown 看起来干净,embedding 照常算,检索照常返回,只是返回的东西不对。一个开源解析器基准的作者把它叫作”RAG 流水线里最大的静默失败来源”。本篇讲检索的上游:解析(把文件变成结构化文本)与分块(把文本切成检索的单位),以及块上要带什么元数据。 2025 年这一层的格局换了一遍:Docling 1.0、Marker 1.0、MinerU、Mistral OCR、OlmoOCR、PaddleOCR-VL、DeepSeek-OCR 2 相继发布;一个 0.9B ...

检索与知识接入(02):三类检索——词法、向量、结构化,coding agent 为什么只用 grep

Three Kinds of Retrieval: Lexical, Vector, Structured — and Why Coding Agents Grep

“RAG”这个词让很多人以为检索只有一种做法:切块、embedding、向量库、top-k。实际上检索有三类,各有前提条件,生产系统几乎总是混用:词法 / 精确(grep、glob、BM25、全文索引),向量 / 语义(embedding + 近似最近邻),结构化(SQL、API、图谱、本体)。三类不是新旧之分,是适用条件之分——同一份语料满足哪类的前提,就用哪类。 2025–2026 年最好的教材是 coding agent 的架构分歧。Claude Code 的团队公开说他们从 RAG 加本地向量库起步,然后放弃了它,因为 agent 拿着 grep 自己搜”通常效果更好”,还避开了索引带来的安全、隐私、过期与可靠性问题;Cline 从设计上不索引;Sourc...

检索与知识接入(01):进上下文还是进权重——知识类型决定接入方式

Knowledge in Context or in Weights: The Type of Knowledge Decides

通用模型不知道你的业务:不知道你的退款政策、不知道你的产品型号、不知道你的代码库、不知道”活跃客户”在你们公司的定义。让它知道有两条路:放进上下文——每次请求时把相关内容检索出来放在 L2 讲的那一层里,或者让模型调工具去查;放进权重——用你的数据微调或继续预训练。两条路的成本、灵活性、可追溯性差一个量级,而多数团队第一次做决定时选错了方向:想让模型”学会”产品手册,于是拿手册做 SFT。 这一篇只做一件事:给出知识类型 → 接入方式的决策表,并解释每一格为什么这样填。它是整个系列的入口——后面六篇讲的检索、解析、索引、agentic、结构化、评测,只对走了”进上下文”这条路的知识有意义;而”该不该微调”这个问题,本篇给出应用工程师需要的全部判断,微调的方法留给算...

检索与知识接入:私域知识怎么进入模型(总纲)

Retrieval and Knowledge Access: How Private Knowledge Gets into the Model

内容简介 《检索与知识接入:私域知识怎么进入模型》是一组共七篇的系列文章,是《AI 应用工程师学习地图》第三层(L3)的正文。前两层讲清了模型这个组件怎么失效、花多少钱(L1),以及它每一步看到的上下文怎么组织(L2);L2 的最后一篇把一个决策留给了这一层——这份资料该全放进上下文、检索、还是让 agent 自己查。本系列从这个决策的上游开始:通用模型不知道你的业务,私域知识有两条路进入它——放进上下文(检索、工具查询)或放进权重(微调、继续预训练)——先决定走哪条路,再讲检索本身。 “RAG = 向量数据库”是 2023 年的印象。到 2026 年,检索有三类各有适用条件、生产系统通常混用:词法 / 精确(grep、BM25)——Claude Code 团队...

×