大模型应用实战
从基础理论到项目实战,深入探索大模型技术与应用,涵盖提示词工程、RAG、AIGC 等核心主题
DeepSeek Harness 系列(04):Agent Loop——一次对话是怎么跑起来的
用户发了一条消息,Agent 回复了一段话并调用了三个工具——这背后到底发生了什么?这篇文章完整拆解 dsh Agent Loop 的运行机制:Turn 与 Step 的结构、驱动器怎么工作、每个扩展点的用途,以及你能在哪里插入控制逻辑。
DeepSeek Harness 系列(05):Session 与记忆——对话历史是怎么活下来的
Agent 崩溃了怎么办?换一个进程历史还在不在?想从某一步回头重试可以吗?这篇文章拆解 dsh Session 的设计:仅追加日志、派生历史、格式版本、Fork 机制,以及为什么模型永远不会看到「脏」的失败尝试。
DeepSeek Harness 系列(06):System Prompt 组装——动态提示词的工程实现
每次模型请求前,dsh 是怎么把几十个插件的提示词片段拼成一个完整的 system prompt 的?这篇文章拆解 ctx.systemPrompt 的注册机制、段落排序、动态变量、工具 schema 自动注入,以及 Prompt Caching 怎么用。
DeepSeek Harness 系列(07):能力 Seam——换一行配置,能力全换
为什么 dsh 不直接 import fs?为什么 Shell 执行可以一键切到远程沙箱?这篇文章讲 dsh 的能力 Seam 设计:Service Definition / Provider / Consumer 三角色,以及 ctx.fs、ctx.sandbox、ctx.shell、ctx.llm 这些核心 Seam 的实际用法。
DeepSeek Harness 系列(08):多 Agent 协作——Subagent 与 Agent Teams
一个 Agent 调用另一个 Agent,结果可以是文本,也可以是结构化 JSON。这篇文章讲 dsh 的多 Agent 机制:Subagent 的启动、可继续子 Agent、工具过滤、Persona、以及实验性的 Agent Teams。
DeepSeek Harness 系列(09):可观测性——怎么知道 Agent 在干什么
Token 消耗多少?哪步最慢?出错了在哪里?这篇文章讲 dsh 的可观测性机制:Session 事件日志、Token 计量、遥测 Seam(ctx.sessionTelemetry)、OpenTelemetry 接入,以及如何用 session/event 监听做实时调试。
DeepSeek Harness 系列(10):写一个完整的 dsh 插件——从需求到上线
系列收尾篇。把前九篇学到的所有机制——工具注册、提示词段落、事件监听、Session 观测、权限拦截——组合进一个完整的生产级插件,看清楚一个真实 dsh 插件的骨架是什么样的。
DeepSeek Harness 系列(02):万物皆插件——Cordis 核心设计深度解读
dsh 的所有能力都建立在 Cordis 插件框架之上。这篇文章结合真实源码,深度解读 Cordis 五个核心机制:Plugin、Context、Service、Event、Effect——每个机制讲清楚「是什么、怎么用、为什么这么设计」。读完之后,dsh 的一切都会豁然开朗。
DeepSeek Harness 系列(03):工具系统——给 Agent 装上手
工具是让 Agent 不只是「会说话」的关键。这篇文章深入 dsh 工具系统的全部机制:从注册、类型推断、Schema 生成,到三阶段执行流水线(pre-execute / execute / post-execute),再到权限审批和 Scope 隔离。读完你能写出一个生产可用的自定义工具。
DeepSeek Harness 系列(01):它是什么——生产级 Agent 运行时全景
DeepSeek Harness(dsh)是 DeepSeek AI 开源的 Agent 运行时框架,用「一切皆插件」架构解决了 Agent 从 demo 到生产的核心工程问题。这篇是系列第一篇,不讲源码,只讲全局:dsh 能做什么、架构长什么样、和其他框架有什么本质区别、以及什么时候值得用它。
企业知识库系列(04):HyperGraphRAG 实测——超图结构的多跳推理
同一套 89 道题,测 HyperGraphRAG 1.0.6。超图的理论优势在于超边可以一次性连接多个实体,而不只是二元关系。实测结果是:多跳 0.171,和 LightRAG 接近,但建库耗时 443 分钟,是系列最慢。本文记录部署过程、SiliconFlow API 限制踩坑,以及五框架完整横评。
Code Agent 解剖(12):Harness 设计之二——上下文工程
从 harness 工程视角审视 MyCodeAgent 的上下文工程:History 与 ModelView 为何分离、读时投影而非写时删除、压缩决策的双来源估算、以及主动 + 被动两条触发路径。这是 Part 4 Harness Engineering 的第二篇,关注的是「agent 怎么决定给模型看什么」。
Code Agent 解剖(13):Harness 设计之三——工具执行管道
从 harness 工程视角审视 MyCodeAgent 的工具执行管道:并发分组与顺序保证、四关卡执行管道(权限→乐观锁→熔断→执行)、两层字节预算控制。这是 Part 4 Harness Engineering 的第三篇,关注的是「一次工具调用从模型输出到写入 history 之间经历了什么」。
Code Agent 解剖(14):Harness 设计之四——容错与恢复
从 harness 工程视角审视 MyCodeAgent 的容错与恢复体系:模型错误分类与分级重试、Transcript append-only 事实日志、崩溃后的状态重建、UncertainAction 的不确定性处理。这是 Part 4 Harness Engineering 的第四篇,关注的是「出错了 agent 怎么自愈,崩了之后怎么接着跑」。
Code Agent 解剖(15):Harness 设计之五——可观测性
从 harness 工程视角审视 MyCodeAgent 的可观测性体系:事件驱动的统一发射点、Trace + Transcript 双 sink 架构、JSONL 流式诊断日志、prompt fingerprint 漂移检测、以及敏感信息脱敏。这是 Part 4 Harness Engineering 的最终篇,关注的是「agent 的行为如何被观测和还原」。
Code Agent 解剖(16):AgentTeams——为什么一个 agent 不够用?
当单个 agent 遇到任务太长、太复杂、需要并行处理的情况,自然会想到「多开几个」。但多个 agent 协作,远不是「启动多个模型」那么简单。这一篇通过 MyCodeAgent 的 AgentTeams 实验性设计,讲清楚多 agent 系统真正要解决的问题是什么。
Code Agent 解剖(17):AgentTeams——消息怎么在 agent 之间传递?
多个 agent 能协作的前提,是它们能可靠地互相传话。但「传话」在分布式系统里远不是 print 一行消息那么简单——消息发出去了,对方收到了吗?处理了吗?崩了怎么办?这一篇讲 AgentTeams 的 SendMessage 协议和 ACK 三态状态机。
Code Agent 解剖(18):AgentTeams——TeamFanout 与 TeamCollect 的并行机制
「分发任务、并行执行、汇总结果」——这三步听起来简单,但在多 agent 系统里每一步都有坑。任务怎么切分才合理?成员 agent 怎么真正并行跑起来?结果有冲突怎么办?这一篇把 TeamFanout 和 TeamCollect 的协调机制讲透。
Code Agent 解剖(19):AgentTeams——一个实验系统的生与死
AgentTeams 被设计出来,也被有意识地从稳定版本移除了。这不是因为它坏掉了,而是一个经过深思熟虑的工程决策。这一篇讲清楚移除背后的逻辑:什么情况下该做一个功能,什么情况下该把它从主路线移出去。这是 Part 5 的收尾,也是整个系列最值得细读的一篇。
Code Agent 解剖(20):从零扩展——给 agent 加一个新工具
从零给 MyCodeAgent 加一个新工具,走完「协议 → 实现 → 注册 → 提示词 → 测试」的完整链路。不只是告诉你怎么写,更要讲清楚每一步为什么要这样做——搞懂了这套逻辑,添加任何工具都是同一张地图。
Code Agent 解剖(21):从零扩展——接入新的 LLM Provider
OpenAI、DeepSeek、Kimi、Qwen……每隔一段时间就有新的 LLM 服务出现,而 MyCodeAgent 已经支持了 10 家。接入一个新 provider,不是改调用链,而是往一张表里加一行。这一篇把 provider 路由机制讲透,再带你走完接入全流程。
Code Agent 解剖(22):从零扩展——用 Markdown 写一个 Skill
Skills 是 MyCodeAgent 里最轻量的扩展方式:不写 Python、不改代码、不重启服务——只需要一个 Markdown 文件,agent 就能学会一种新的「专家行为」。这一篇讲清楚 Skill 的格式、加载机制、参数注入,以及什么时候应该用 Skill 而不是工具。
Code Agent 解剖(23):从零扩展——接入 MCP 外部工具生态
MCP(Model Context Protocol)是一个让 agent 接入外部工具服务的协议标准。接了它,agent 就能调用 Tavily 搜索、Context7 查文档、GitHub 操作——任何实现了 MCP 协议的服务都能接进来。这一篇讲 MCP 是怎么接入的,一个外部工具从配置到被模型调用的完整链路。
Code Agent 解剖(11):Harness 设计之一——控制流
从 harness 工程设计视角审视 MyCodeAgent 的控制流:为什么选择单一主循环而不是多循环、不可变状态机的工程价值、完成门的反馈回路设计、终止路径的完备性。这是 Part 4 Harness Engineering 的第一篇,关注的是「为什么这样设计」而不是「是什么」。
Code Agent 解剖(09):对话越来越长,token 超了怎么办?
深入 MyCodeAgent 的上下文工程:HistoryManager append-only 事实日志、ProjectionBuilder 读时投影、ContextBudgetPolicy 触发判断、ContextCompactor LLM 摘要压缩。理解为什么「历史永不删除」和「给模型看有界视图」是两件完全不同的事,以及 agent 如何在不丢失事实的前提下把上下文压进预算。
Code Agent 解剖(10):agent 崩了怎么恢复,对话历史存在哪?
深入 MyCodeAgent 的持久化与恢复机制:TranscriptStore append-only JSONL 事件流、五种事件类型、ResumeLoader 从事件重建运行时状态、UncertainAction 的工具中断处理、SessionMemory 跨 run 的前馈记忆。理解 agent 为什么不能靠内存存历史,以及崩溃后确定性恢复的完整链路。
企业知识库系列(03):图增强 RAG 实测——GraphRAG vs HippoRAG
同一套 89 道测试题,分别对 GraphRAG 3.1.1 和 HippoRAG 2.0 跑评测。本文记录从部署到出数据的完整过程,包括 GLM-4-flash 结构化输出失败、LanceDB 向量维度不匹配、NV-Embed-v2 离线加载等真实踩坑,以及两个框架在单跳、多跳、边界拒答三个维度上的真实数据。
Code Agent 解剖(08):一个任务太复杂,怎么拆给子 agent 做?
深入 MyCodeAgent 的子 agent 机制:Task 工具、RuntimeProfile 沙箱约束、SubagentLauncher 完整执行链路、结构化结果合约。理解主 agent 如何把探索性任务委派给只读轻量子 agent,以及为什么子 agent 不是「简化版主 agent」而是受严格约束的执行单元。
Code Agent 解剖(07):外部工具怎么接进来?MCP 集成是怎么做的?
深入 MyCodeAgent 的 MCP 集成:可选依赖、配置发现、stdio/HTTP 传输、Adapter 把远端工具伪装成本地 Tool、结果收成通用协议。理解外部能力如何进入同一条工具管道,以及「注册进目录」和「允许执行」为什么不是一回事。
Code Agent 解剖(05):模型怎么知道有哪些工具可以用?Function Calling 如何实现?
跟着一次 tool_call 从头走到尾:工具如何注册进 Registry、Registry 如何生成 function schema 告知模型、模型触发 tool_calls 后 Orchestrator 如何分批执行、ToolExecutor 的权限/乐观锁/熔断管道、ToolResult 协议为什么要内外分离、以及观测结果怎么截断写回 history。
Code Agent 解剖(06):agent 的能力怎么用 Skills 动态扩展?
深入 MyCodeAgent 的 Skills 动态扩展机制:一个只需要放一个 Markdown 文件就能让 agent 获得新能力的系统。完整走过定义→扫描→注入→调用→执行的生命周期,理解零代码扩展、按需加载、热更新背后的设计。
企业知识库系列(02):经典向量 RAG 实测——QAnything vs LightRAG
同一套 89 道测试题,分别对 QAnything v2 和 LightRAG 1.5.6 跑评测。本文记录从部署到出数据的完整过程,包括 Docker GPU 挂载、Milvus 崩溃恢复、user_id 隔离坑等真实踩坑,以及两个框架在单跳、多跳、边界拒答三个维度上的真实对比数据。
Code Agent 解剖(02):agent 是怎么一轮一轮思考和行动的?
深入 MyCodeAgent 的 ReAct 主循环:不可变状态机、双层循环结构、完成门三态判决、模型错误恢复机制。理解 agent 为什么不是「调一次模型拿结果」,而是一个有反馈、有保障、有明确终止条件的控制系统。
Code Agent 解剖(03):各家 LLM 格式不一样,agent 怎么统一对接?
深入 MyCodeAgent 的 LLM 接口层:零依赖 HTTP 传输、provider 路由表、五元组响应归一化。理解 agent 为什么不直接绑某一家 SDK,而是把「发请求」和「读响应」拆成稳定边界,让 ReAct 循环只看到统一结构。
Code Agent 解剖(04):系统提示词是怎么组装的,agent 的「人格」从哪来?
深入 MyCodeAgent 的提示词组装层:Constitution / Tool Contracts / Project Rules / Runtime Signals 四层 system 消息,以及它们如何与历史投影拼成发给模型的 Model View。理解 agent 的行为约束不是「一段超长 prompt」,而是可缓存、可指纹、可热更新的分层装配。
Code Agent 解剖(01):用户输入一句话,agent 内部发生了什么?
从 python main.py 到回答输出,完整追踪一条用户输入在 MyCodeAgent 中的数据流。覆盖 CLI 入口、依赖组装、ReAct 主循环三个阶段,建立后续深入各模块的整体地图。
企业知识库系列(00):在写第一行代码之前,先把评测数据集做好
横向对比六个开源 RAG 方案,如果用不同的文档、不同的问题去测,结果没有可比性。这篇文章是系列的零号篇——先把统一测试集建好,后续七篇实测都用同一套题打分。文章记录了从'直接用 BEIR'到'用 LLM 合成领域专属题目'的决策过程,以及实际生成 89 题评测集的完整代码。
企业知识库系列(01):为什么 RAG 只是起点
企业知识库的真实挑战不是技术选型,而是数据质量差、知识碎片化、多模态混杂、知识老化——这些问题 RAG 解决不了。这篇文章梳理企业知识库技术的完整谱系:从经典向量 RAG 到图 RAG、超图 RAG,再到 Agent-native 知识系统,以及每一代技术在什么场景下解决了什么问题。
代码库知识库系列(10):增量更新——什么时候该重建索引,重建哪些部分
代码在持续演进,知识库不可能每次 commit 都全量重建。这篇文章从一次真实的 detect_changes 输出出发,设计一个三层决策树:先判断本次变更是否影响可检索内容,再精确找到变更的函数,最后通过 FILE_CHANGES_WITH 边发现隐藏的时序耦合——只重建真正需要重建的部分,把增量更新成本压到全量的一个零头。
代码库知识库系列(11):跨库场景——当一个服务调用另一个服务
单库知识库已经可以回答'这个函数在哪、被谁调用、怎么修改'。但现实的工程系统往往是多个仓库通过 HTTP / 消息队列 / gRPC 相互协作。这篇文章从一次 cross-repo-intelligence 的真实运行结果出发——LightRAG × graphrag 返回 0 条跨库边——解释为什么这个结果是正确的,以及跨库分析真正在找什么:集成关系,不是功能相似性。
代码库知识库系列(12):Git 历史是第四条检索路径
向量路径回答'这是什么',图路径回答'谁调用了它',符号路径回答'它在哪里'。但工程师经常需要问第四类问题:'这段代码为什么是这样的?'——这类问题的答案不在代码里,在 git 历史里。本文从 LightRAG 的 465 条 FILE_CHANGES_WITH 边出发,展示如何把 git 历史转化为可检索的第四路知识源。
代码库知识库系列(13):评测——怎么知道知识库够不够好
知识库建好了,然后呢?Recall@5 是 RAG 评测的惯用指标,但代码库知识库的检索目标和普通文档 RAG 有本质差异:一篇博客找到相关段落就够了,而代码检索的'正确'是精确到函数级别的定位。本文设计一套专用于代码库知识库的评测框架:四维指标、评测数据集的构建方法,以及如何把评测结果接进 CI/CD 持续追踪知识库质量。
代码库知识库系列(05):向量检索 vs 知识图谱——加了调用图并没有变更好?
向量检索(Recall@5=0.958)vs 图增强检索(seed_k=3,BFS 2跳):总体分数完全一致,但出错的题目互换了。图检索修复了 Q8(calculate_order_total 通过 process_checkout 两跳命中),却在 Q1 引入了退步(候选集扩展挤出了 verify_password)。结论:朴素图扩展是双刃剑,真正的工程价值在于把结构信息编码进 embedding 内容,而不是在检索时生硬叠加图遍历。
代码库知识库系列(06):把调用图编码进 Embedding——结构增强有效,但不够
验证第05篇的假设:把 called_by/calls 信息编码进 embedding 内容,能否修好 Q8(calculate_order_total 漏检)?结果:加了结构前缀后,calculate_order_total 的相似度从 0.46 提升到 0.51,方向正确,但 payment 模块其他函数排得更高,仍然挤不进 top-5。Strategy B(注释前缀)还让 Q7 退步。Strategy C(融入 docstring)稳定但无改善。结论:语义鸿沟是 embedding 的本质极限,不是可以用注释技巧绕过的。
代码库知识库系列(07):混合检索 BM25 + 向量——Q8 还是失败,而且总分退步了
混合检索(BM25 + 向量 RRF 融合)被业界视为向量检索的最佳实践,理应修好 Q8。结果:calculate_order_total 与查询的 token overlap 为零,BM25 完全无法命中它;Hybrid 继承了 BM25 的 Q7 退步,总 Recall@5 从 0.958 降至 0.931,反而比纯向量更差。五个篇章系统排查了文本路线的所有变种,结论清晰:Q8 的根因在代码结构,不在文本,纯文本匹配路线已到达边界。
代码库知识库系列(08):生产级架构设计——向量、图、符号索引如何组合
五篇实验量出了单路检索的边界:向量覆盖语义、图覆盖结构、符号覆盖精确匹配——三路信号正交互补,缺一不可。本文从系统架构视角出发,设计多路召回+查询路由+增量更新的生产级代码库知识库:查询路由按意图激活对应检索路;图检索作为一等公民与向量并行,不再是后处理补丁;Git diff 驱动增量更新替代全量重建。从小到大分三个阶段落地,每阶段可独立交付价值。
代码库知识库系列(09):用 codebase-memory-mcp 实战——在 LightRAG 上跑三路召回
前八篇推导出了生产级代码库知识库的设计蓝图:向量路径、图路径、符号路径三路正交。这一篇直接在真实开源项目 LightRAG(20,674 节点 / 94,517 条边)上运行 codebase-memory-mcp,把第 08 篇的架构设计落成可以执行的查询——同一个问题,三路分别打,看各自返回什么、命中什么、漏掉什么。
代码库知识库系列(03):代码 Embedding 策略——原始代码反而比注释增强更好?
对 27 个 Python 函数跑三种 Embedding 策略对比:Strategy A 原始代码(Recall@5=0.958)、Strategy B 仅签名+注释(0.917)、Strategy C 混合(0.917)。反直觉结论:原始代码 Embedding 性能最好。原因分析:代码里的类型名、异常类名、库名等技术词汇是高质量语义信号,注释删掉了这些信号。另一个发现:某些查询无论策略如何都无法满分,揭示了语义鸿沟问题。
代码库知识库系列(04):三种 Chunking 策略对比——AST 精确分割反而输了?
对 266 行 Python 代码跑三种 Chunking 策略:固定行(Recall@5=1.000)、文件级(1.000)、AST 函数级(0.958)。反直觉结论:AST 精确分割得分最低。根因是 free-rider 效应——大 chunk 把语义相邻函数捆绑在一起,单一的语义距离远的查询能通过近邻搭便车命中。但文件级 precision 为零,固定行在大型项目里会切断函数。工程选择取决于代码库规模和 precision 要求。
代码库知识库系列(01):技术全景——为什么代码理解比文档检索难十倍
代码库不是文档库的升级版,而是本质不同的知识类型。四个理解层次(语法/语义/架构/业务意图)对应四类检索需求;传统 grep 搜索、向量化检索、AST 符号索引、调用图检索各有能力边界。本文建立代码库知识体系的完整框架,为后续实战篇打基础。
代码库知识库系列(02):工具横评——六种方案的能力边界与选型指南
六种代码库知识工具的统一框架对比:codebase-memory-mcp、Cursor Context、GitHub Copilot Workspace、sourcegraph/zoekt、Tree-sitter、OpenHands CodeBrowser。用五个标准测试任务(符号定位/语义搜索/影响分析/架构理解/历史追溯)评估各工具的能力边界,最终给出按场景选型的决策框架。
AI 评测系列(06):DeepEval 实战——企业级 Agent 评测套件
用 DeepEval 对同一个客服 Agent 运行三个指标:AnswerRelevancy(均值 0.767,60% 通过)、Faithfulness(均值 0.600,40% 通过)、ToolCorrectness(20% 通过——Agent 大量不调工具是根因)。重点讲 DeepEval 与 RAGAS 的范式差异:RAGAS 是批量分析工具,DeepEval 是 CI 质量门控工具,两者解决不同问题。同时演示如何把 glm-4-flash 接入 DeepEval 作为 Judge LLM。
AI 评测系列(07):自定义 Benchmark——从业务场景到评测集
公开 Benchmark 在三种情况下不够用:业务场景太特殊、数据不能出域、需要持续跟踪质量变化。本文讲完整的自定义 Benchmark 构建流程:场景定义→问题生成→ground_truth 标注→难度分层→版本管理。以企业文档问答为例,构建一套覆盖 Easy/Medium/Hard 三个难度层的评测集,并讲清楚评测集本身需要版本控制的原因。
AI 评测系列(08):评测 CI/CD——持续质量门控
把评测集成进 CI 流程,让每次代码或 Prompt 变更前有明确的质量判断。两级策略:每次提交跑快速评测(10 个核心用例,< 3 分钟),每周跑完整评测(100+ 用例,追踪趋势)。重点讲质量门控设计:哪些指标下降阻断 PR,哪些只告警;以及如何追踪两个版本之间的 Delta,让 Reviewer 看到的不是绝对分数而是变化量。
AI 评测系列(05):Agent 评测——工具调用准确率与轨迹质量
对一个客服 Agent(3 个工具,15 个测试用例)进行系统性评测。结果:工具名准确率 73%、参数准确率 100%、步骤效率 0.73x。4 个失败案例全是'应该调工具却没调'而不是'调错了工具',说明 Agent 的工具触发逻辑是瓶颈,不是工具执行逻辑。轨迹质量 LLM-as-Judge 均分 3.73/5,多步骤任务和边界情况表现略差。
AI 评测系列(01):为什么 AI 评测难——不确定性、主观性与多维度
AI 评测和传统软件测试有三个本质区别:输出不确定(同输入多次运行结果不同)、质量主观(没有唯一正确答案)、维度复杂(准确、相关、有帮助是三件不同的事)。四种评测方法各有代价,没有万能方案。本文建立评测的认知框架,为后续系列打基础。
AI 评测系列(02):评测指标设计——从业务目标到可量化指标
如何把'AI 回答要好'这个模糊目标拆解成具体指标。L1/L2/L3 三层框架:L1 业务结果(任务完成率、采纳率)、L2 输出质量(准确性、相关性、完整性)、L3 系统健康(延迟、Token 消耗)。重点讲四类场景下的指标选择差异,以及三个常见陷阱——只测 L3、用 BLEU/ROUGE 评语义质量、阈值凭感觉定。
AI 评测系列(03):LLM-as-Judge——让 LLM 评价 LLM 的正确姿势
用真实实验量化三种 LLM-as-Judge 偏见。位置偏见:第一位置胜率 67%,远高于 50% 基线,同一对答案换顺序有 33% 概率得到相反判断。冗长偏见:相同内容的啰嗦版比简洁版多得 0.5 分。框架偏见:严格专家 prompt 与标准 prompt 得分无差异,说明 glm-4-flash 对 prompt 强度不敏感。三种缓解方案及适用场景。
AI 评测系列(04):RAG 评测——RAGAS 四指标实战与一个反直觉发现
用 RAGAS 对比原始文档和知识蒸馏后文档的检索质量。测试结果:两个版本得分几乎相同(均值 0.933 vs 0.930),Context Precision 和 Context Recall 都是满分。这个反直觉结果揭示了 RAGAS 的一个重要局限:小规模、结构简单的知识库上,四个指标无法区分文档质量差异,需要更大规模和更复杂的查询才能看到分化。文章同时讲解四个指标的计算原理和常见误解。
MCP 系列(07):企业级部署——安全、认证与版本管理
MCP Server 从本地开发进入企业生产的三个关键工程问题:认证(API Key / OAuth / mTLS 的适用场景)、Docker 化部署(Containerfile + healthcheck + 进程守护)、多版本共存(旧 Server 不停服情况下平滑升级)。附完整的 Docker Compose 生产配置和安全设计 Checklist。
MCP 系列(08):企业治理——Registry、路由与可观测性
企业内有 20+ 个 MCP Server 时,三个治理问题同时出现:如何发现正确的 Server(Registry)、如何把工具调用路由到对应 Server(路由策略)、如何知道某次工具调用失败了(可观测性)。本文给出三个问题的完整工程方案,包含 Registry YAML 设计、Langfuse 接入 MCP 调用链、以及告警规则模板。
MCP 系列(05):Resources 和 Prompts 进阶——动态数据、参数化 URI 与多轮模板
第 04 篇的 Jira Server 已经有了基础 Resource 和 Prompt,本篇深入三个进阶模式:动态 Resource(连读两次 sprint/current 得到不同数据)、参数化 URI(jira://project/PROJ/stats 按 key 返回不同内容)、条件 Prompt(P0 事故报告多出 Escalation 章节,P1 没有)。另外展示 3 轮 Prompt 的设计和无必填参数的 Prompt 如何在模板里引用 Resource。
MCP 系列(06):MCP vs Function Calling——用数据说话的选型指南
用真实基准测试量化两种方案的工程差异。MCP 每次工具调用增加 2ms 开销(283x,但绝对值仅 2ms)、首次启动需 570ms。代码规模:单项目差异不大(43 vs 32 行),3 个项目共享同一工具时 FC 需要 129 行而 MCP 只需 32 行。决策框架:工具复用数量是核心指标,不是延迟。
MCP 系列(02):协议深解——Host/Client/Server 三层模型与 JSON-RPC 通信
MCP 协议的完整工作过程:initialize 能力协商、tools/list 工具发现、tools/call 工具调用、resources/read 资源读取、prompts/get 模板渲染。本文基于真实运行的 JSON-RPC 报文,逐步拆解每一轮消息的结构和语义。
MCP 系列(03):生态导航——官方 Server 清单与社区精选
MCP 生态现状:官方维护的 9 个 Server 覆盖文件系统、GitHub、数据库、搜索、浏览器自动化等核心场景,社区贡献的 Server 已超过 3000 个。本文整理官方 Server 的实际能力和配置方式,按类别精选社区 Server,并给出评估一个 MCP Server 质量的 5 个维度。
MCP 系列(04):开发第一个 MCP Server——从 Hello World 到生产级模式
用一个完整的 Jira MCP Server(mock 数据,无需真实账号)演示 5 个生产级工程模式:多工具协作、输入验证、结构化错误处理、日志(必须写 stderr)、Resources。测试结果包含正确路径和错误路径全覆盖,重点讲 isError=true 和友好提示的选择差异。
MCP 系列(01):MCP 是什么——为什么 Function Calling 不够
Function Calling 已经能让 LLM 调用工具,MCP 还解决什么问题?核心差异在于:Function Calling 把工具定义绑定在调用侧代码里,MCP 把工具定义放在独立的 Server 进程中。一份工具实现,任意 Host 复用。本文从一个真实场景出发,对比两种方案的代码结构和工程成本。
Workflow 系列(10):企业级架构——注册表、组合与治理
从单个工作流到企业级工作流体系,三个核心问题:Workflow Registry 如何管理多个工作流的发现和路由、工作流组合如何让父工作流调用子工作流形成流水线、三层治理(修改权限/审计责任/回滚机制)如何保证生产环境安全。
Workflow 系列(07):工程化与版本管理——Workflow 的 CI/CD
代码有 CI(提交→自动测试→通过才合并),Workflow 的'代码'是 Markdown + YAML,如何做 CI?三个门控:静态校验(秒级,检查文件引用完整性)、Schema 测试(分钟级,不调 LLM 验契约)、端到端回归(小时级,只在主链路改动时跑)。配套版本号规范和发布流程。
Workflow 系列(08):运营与成本——跨 Phase 成本追踪与故障排查
单个 Skill 的 Token 成本好计算,但工作流里多个子 Agent 的总成本是盲区。本文讲两件事:跨 Phase 的成本追踪(在 workflow_state.json 里记录每个子 Agent 的 Token 消耗,找出成本热点)、系统化的故障排查方法论(故障分类树 + 5 步标准诊断,5 分钟内定位问题所在的 Phase)。
Workflow 系列(09):主流框架对比——Prompt-based、LangGraph、Temporal、n8n 如何选
四种工作流方案的本质差异:Prompt-based(Markdown + JSON 状态文件)、LangGraph(Python 图结构状态机)、Temporal(企业级 Durable Execution)、n8n(可视化低代码)。不是哪个更好,而是不同场景下的最优解不同。LangGraph 的 State/Node/Edge 概念与 Prompt-based 方案一一对应。
Workflow 系列(05):评测体系——三层测试结构与 Trace 追踪
Workflow 的质量不能靠感觉跑通了来判断。本文建立三层评测体系:单元测试(Step 级契约验证)、集成测试(Phase 间数据流)、端到端测试(完整链路 + 指标基线)。重点讲 Trace 追踪如何让工作流卡在哪里从排查变成可观测。
Workflow 系列(06):安全——跨步骤注入传播与四层防御
Workflow 安全与 Skill 安全的核心区别:Skill 安全关注单次调用,Workflow 安全关注跨 Step 的攻击传播。一个从 Jira 输入的恶意内容,可以在工作流里经过 3-4 个 Phase 后,在代码执行层造成数据外泄。四个防御原则:数据净化边界、Phase 级权限最小化、高影响操作确认、子 Agent 沙箱。
AI 原生组织不是买工具,而是让等待消失
大多数公司的 AI 转型都走错了方向。真正的 AI 原生不是看你用了多少模型,而是 AI 进来之后组织里的等待有没有变少。本文拆解四个阶段、两种角色、五步路径,帮你搞清楚组织怎么真正变轻。
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
工作流的状态持久化不是可选项,而是中断续接能力的基础。本文讲三个层次:用 JSON 状态文件实现 Durable Execution(可中断可续接)、为每个 Step 设计幂等性(防止重复执行产生副作用)、在状态文件里绑定工作流版本(防止版本不匹配导致的续接错误)。
Workflow 系列(04):Multi-Agent 协调——编排器边界、并发控制与上下文隔离
Multi-Agent 工作流的核心工程问题不是'让 Agent 协作',而是三个具体问题:Orchestrator 和 Subagent 的职责边界在哪里、Fan-out/Fan-in 的并发失败用 fail-fast 还是 collect-all、子 Agent 为什么必须用隔离会话。三个问题各有明确答案。
Workflow 系列(02):设计范式——四层架构、三种 Context 传递模式与确认门设计
从单一 Markdown 文件到可维护的工作流工程,关键是四层架构的分离:Policy / Workflow / TaskSpec / Tool。本文重点讲三个设计缺口:Context 传递模式(accumulate / last_only / explicit)如何选择、确认门的 5 个必填字段、串行重试 vs 并行候选的选择原则。
Workflow 系列(01):基础理论——三种执行模型与 Anthropic 5 种模式
AI Workflow 不是传统工作流的升级版,而是本质不同的执行模型。从 DAG / 状态机 / 事件驱动三种模型的对比出发,掌握 Anthropic 官方定义的 5 种基本模式:Prompt Chaining、Routing、Parallelization、Orchestrator-Subagents、Evaluator-Optimizer,以及它们如何组合成真实的生产工作流。
Skill 系列(06):Skill 工程化与治理——路由准确率 38%、压缩节省 76%、月成本 $0.67
6 个 Skill 的 Embedding 路由实测:准确率 38%,Skill 描述太相似是根因。Prompt 压缩节省 76% Token 但 Redis 文章质量从 4.0 降到 3.0,压缩不是免费的。成本报告揭示输出 Token 主导成本:rnd-technical-writer 比 meeting-summarizer 贵 9 倍,原因是输出长度而不是 Prompt 长度。
Skill 系列(03):Skill 设计范式——5 个模式让输出从混沌到可预测
用 competitor-analyzer 跑 4 个场景 + 设计质量审查,对比反模式 Skill(5/12 运行时命中)和范式驱动 Skill(11/12)。设计审查分:14/25 vs 24/25。最大差距在渐进增强——只有公司名时,反模式版本 0/2 通过,范式版本 2/2。
Skill 系列(04):Skill 指标体系——L1/L2/L3 三层监控,让质量下降有据可查
对 rnd-technical-writer 跑 6 次调用,采集真实 L3 数据(时延、Token),L2 格式检查 + LLM-as-Judge 质量评分,加入模拟 L1 用户反馈,输出完整健康看板。3 条告警真实触发:P90 时延 50.6s(阈值 30s)、格式合规率 66.7%(阈值 95%)、用户评分 3.5/5(阈值 4.0)。
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
实现并测量 4 种 Skill 串联模式:顺序链(35.1s)、并发 fan-out(加速 1.5x,不是理论的 3x)、条件路由(3/3 正确分类)、反馈循环(首轮得 8/10 直接通过)。并发加速比低于预期的原因是 Amdahl 定律——顺序的 merge 步骤限制了整体加速效果。
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
对 contract-analyzer Skill 跑 9 个攻击用例(Prompt Injection × 3、权限越界 × 3、信息泄露 × 3),对比无防护版本和加固版本的结果。高危版本 3/9 安全,加固后 6/9。LEAK-03 把真实 API Key 和数据库连接串完整输出出来——这是生产环境的致命漏洞。
Skill 系列(01):Skill 评测体系——如何量化一个 AI Skill 的质量
用 20 个测试用例跑 Trigger 评测(F1=0.96),再用 LLM-as-Judge 对两个任务打分,最后做 A/B Prompt 对比。数据揭示三个工程发现:1个 FP 暴露 Skill 描述的边界模糊、中文字数检查的隐蔽 Bug、LLM 评委在细粒度差异上的局限。
Agent 的自进化把我的 Skill 删了,它还觉得做得不错
HermesAgent 在一次自主进化中,把我用了很久的科技播客制作 Skill 静默删除,同时把媒体分类下六七个 Skill 合并成一个质量极差的版本。整个过程没有提示,直接 rm -rf。备份找回了内容,但这件事把一个工程问题暴露得很清楚:没有评测体系,Agent 的自进化和随机破坏没有区别。
Agent 系列(22):Context Engineering 深度——三种上下文管理策略的量化对比
用 30 轮合成对话 + 4 个早期决策召回测试,量化对比三种上下文管理策略:Naive(全量历史)/ Sliding Window(截断)/ Rolling Summary(滚动摘要)。数据揭示三个反直觉发现:截断的代价远超预期、摘要偶尔比原始更准、压缩损失是真实 bug 而非统计误差。
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
从零搭建一个能真正浏览网页的 Web Agent:DuckDuckGo 搜索 + 页面抓取 + LangGraph 执行图。重点讲三个工程 Guard:Token Budget 截断、Step Limit 防死循环、URL 错误处理——数据来自真实运行输出。
Agent 系列(20):Harness 实战——从单文件到生产级模块包
把 Article 19 的单文件 Harness 拆成可复用的 Python 包:registry / budget / sandbox / audit / rollback / harness 六个模块。重点介绍三个 API 设计决策:execute() 统一入口、IRREVERSIBLE 拦截时退还预算、approve_and_execute() 人工审批通道。配合 LangGraph 集成示例和 45 个测试全覆盖验证。
Agent 系列(21):Harness 测试工程——45 个测试怎么设计,以及它发现了什么 bug
用三类测试(功能测试 19 个 / 对抗测试 17 个 / 混沌测试 9 个)验证第 20 篇的 Harness 包。重点分享两个测试驱动发现的真实 bug——两个注入检测正则漏洞——以及 conftest 共享夹具、参数化对抗测试、autouse 状态重置三个关键设计模式。
AI Agent 找代码:多仓库多技术栈下的代码定位工程
企业级软件系统往往横跨十几个独立仓库、多种技术栈。当 AI Agent 收到一个任务时,第一步"找到正确的代码"就已经是个工程难题。本文系统梳理三个递进层次的挑战,以及结构化 Repo Registry、跨仓库依赖图、全量预置工作区、代码知识图谱等解法的利弊权衡。
让 AI Skill 越用越好:评测、调优与自主进化体系设计
LLM 自评准确率只有 46.4%,等同随机猜测——这是微软研究院和复旦大学的实证结论。真正影响 Skill 质量的只有三个维度:失败路径编码、可执行具体性、高危操作黑名单。本文介绍如何基于最新研究(SkillLens/SkillOpt)为企业 Agent 平台设计 Skill 生命周期管理体系。
真正的 AI-Native Workflow 是什么?——四个判断测试
大多数企业在推进 AI 提效时,本质上只是在用 AI 替代人做每一个步骤。这不是 AI-Native,这是 AI 平移。本文提出四个判断测试,帮你识别真正的 AI-Native Workflow,并给出发现和定义它的正确方法论。
Skill 平台的五个深坑:企业 AI 能力体系的质量治理
当企业 AI 平台积累了几十上百个 Skill 之后,真正的问题才开始暴露:质量无保障、边界模糊、接口混乱、Token 管理各自为政、大量重复开发。本文剖析五个系统性问题的根因,以及对应的治理方向。
如何让 AI Skill 质量有据可查?Benchmark 驱动的评测体系设计
AI Skill 的质量管理,本质上和 ML 模型评估是同一个问题——需要固定基准、可比较的数字、执行与评分的严格分离。本文从概念设计层面完整梳理 Skill 与 Workflow 的评测体系,包括数据集设计、指标体系、评分机制、版本管理与发布门禁。
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
在企业 AI 平台的实践中,Workflow 定义方式经历了四个技术阶段,每次遇到的瓶颈都揭示了 AI Workflow 工程的本质复杂度。本文梳理这四个阶段的经验,分析 AI Workflow 面临的核心矛盾,以及分布式多 Agent 场景下的架构选择。
Agent 系列(19):Harness 完整体系——8 层防护框架全景
从入门的五要素到完整的 8 层框架:最小权限、动作注册表、权限预算、执行沙箱、人工检查点、不可篡改审计日志、回滚协调器、威胁模型。四个对抗场景揭示三个反直觉结论:工具范围限制是软防御、预算在审批前扣除是设计陷阱、注入检测不等于注入阻止。
Agent 系列(17):Harness Engineering——给自主 Agent 装上安全护栏
Agent 越自主,越需要可控执行框架。本文用实验覆盖 Harness Engineering 五要素:Action Space(动作空间注册表)、Human Checkpoint(LangGraph interrupt 人工检查点)、Execution Boundary(执行边界)、Audit Log(审计日志)、Rollback(回滚)。包含三个反直觉结论:Harness 阻止的是动作,不是模型的谎言;执行边界必须在图级实现而非 wrapper;模型能力仍是可靠性的底层决定因素。
Agent 系列(18):成本与性能优化——省钱且更快
Agent 的成本大头在哪里?本文用四个对比实验覆盖核心优化策略:系统提示 Token 成本拆解(含 Prompt Caching 原理)、模型路由(直接 LLM vs 完整 Agent)、并行工具调用(实测 3.0x 加速)、工具结果缓存(0ms vs 100ms)。附反直觉结论:延迟优化别只看 2 次采样,模型路由有隐藏开销,测量先于优化。
Agent 系列(15):Agent 记忆系统进阶——短期、长期、压缩,三层记忆架构
Agent 的记忆不只是"存对话历史"。本文拆解三层记忆架构:短期记忆(MemorySaver 保持会话内上下文)、长期记忆(跨会话用户事实存储与注入)、历史压缩(token 守卫)。附真实跑分,包括一个反直觉的发现:MemorySaver 基础设施正常,但模型能力决定能否真正利用上下文。
Agent 系列(16):工具链设计——让 LLM 用对工具的五个原则
工具设计不是给人看的,是给 LLM 看的。本文用三个对比实验覆盖工具设计的核心原则:描述质量影响工具选择(但有反直觉的前提条件)、raise 异常 vs 返回错误字符串的实测差异、以及粗粒度 omnibus 工具 vs 细粒度专用工具的对比。附五条设计黄金规则。
Agent 系列(12):Agent 评估框架——怎么知道你的 Agent 到底好不好
Agent 不是普通函数,传统软件测试不够用。本文拆解 Agent 评估的三个维度:能力(工具调用准确率 + 任务完成率)、效率(步骤数 + Token 消耗 + 延迟)、鲁棒性(边缘用例 + 对抗输入)。附 13 个可运行测试用例和真实跑分结果,包括两个反直觉的 failure 分析。
Agent 系列(13):Agent 安全与防护——提示词注入、工具滥用、数据泄露怎么防
Agent 的攻击面比普通 LLM 大得多:提示词注入可以绕过角色限制,工具参数可以注入代码,输出可以意外泄露敏感数据。本文用三个可运行 Demo 覆盖三条攻击链,并实测 Naive vs Hardened Agent 的回答差异、工具字符白名单的拦截效果、以及三层防护管道的联合工作方式。
Agent 系列(14):Agent 可观测性——追踪每一步决策,让黑盒变透明
Agent 的决策过程天然不透明:为什么它调了三次工具?延迟来自哪里?生产环境里它出错了怎么复现?本文用 LangChain BaseCallbackHandler 实现三种可观测性模式:实时 Trace 打印、延迟分解时间线、结构化 JSON 审计日志。附真实跑分——LLM 占 99.9% 延迟,工具调用仅 2ms。
Agent 系列(10):MCP 协议——工具生态的标准化接入
深入解析 Model Context Protocol(MCP)解决的核心问题:工具生态的标准化。包含三个可运行 Demo——传统 Function Calling 的痛点、MCP Server 的动态工具发现、LLM Agent 通过 MCP 调用工具——以及 Host/Client/Server 三层架构详解和 MCP vs Function Calling 完整对比。
Agent 系列(11):A2A 协议——Agent 与 Agent 如何协作
深入解析 A2A(Agent-to-Agent)协议的定位与实现——它解决的不是 Agent 调工具,而是 Agent 委托给 Agent。包含三个可运行 Demo:直接调用的硬耦合问题、AgentCard 注册表实现动态发现、LLM 驱动的 Agent 路由。附 MCP vs A2A vs ANP 完整协议选型矩阵。
微软双论文深度剖析:Agent Skill 的评测体系与自进化优化
从微软两篇最新研究论文出发,系统梳理 Agent Skill 的完整生命周期评测框架与 SkillOpt 文本空间优化方法,揭示"技巧好看不代表好用"的本质原因,以及如何像训练神经网络一样训练一个 Skill 文档。
Agent 系列(9):多 Agent 架构设计模式——Supervisor 与 Pipeline
深度解析多 Agent 的两种核心架构模式:Supervisor(LLM 分类 + 确定性路由)与 Pipeline(固定线性链)。包含三个可运行的 LangGraph Demo,实测对比同一张图在不同任务下的执行路径差异,以及完整的模式选择矩阵和设计 Checklist。
Agent系列(八):上下文工程——让每个 Token 都用在刀刃上
深入讲解上下文工程(Context Engineering)的核心:上下文的五个来源及其 Token 成本剖析、预算约束下的动态上下文组装、以及上下文溢出时截断/摘要/检索三种策略的真实对比。附 Token 计数实测数据、ContextBudgetManager 实现、以及三策略在"找到第 1 轮内容"场景下的答案质量对比。
Agent系列(七):知识库集成——Agent 调用 RAG 的正确姿势
深入拆解 Agentic RAG 与 Pipeline RAG 的本质区别:Agent 如何自主决定是否检索、查哪个知识库、以及检索质量不足时如何自我修正。通过三个可运行的 LangGraph Demo,逐一演示检索决策、多知识库路由、质量门控+查询重写 Fallback 三大核心能力,附完整代码和真实运行结果。
Agent系列(四):工具调用深度解析——Agent 的手和眼
深入拆解 Tool Calling 的核心机制:工具设计三要素(接口/验证/安全)、Pydantic 参数校验、并行调用的真实表现、三大安全威胁防护,以及错误分类如何影响 Agent 的重试行为。附完整可运行 Demo 代码。
Agent系列(五):意图识别与路由——让 Agent 听懂用户在说什么
深入拆解 Agent 意图识别层的必要性:关键词方案为何在生产中失效、LLM 分类器如何处理自然语言歧义、LangGraph 如何把不同意图路由到专项 Agent,以及多轮对话历史如何让"优化一下"这类模糊指令也能被正确理解。附完整可运行 Demo 代码和真实运行结果分析。
Agent系列(六):记忆管理——让 Agent 记住重要的事
深入讲解 Agent 的四种记忆类型(感觉/工作/情景/语义)与 LangGraph 实现的对应关系,三种上下文管理策略(截断/摘要/检索)的实测对比,checkpointer 与 InMemoryStore 的区别与应用场景,以及如何用 RemoveMessage + 自动摘要让 Agent 在无限长对话中保持清醒。附完整可运行 Demo 代码和真实运行结果分析。
Agent系列(二):ReAct——Agent 的「思考-行动」循环
深入解析 ReAct(Reasoning + Acting)范式:Thought → Action → Observation 三元组循环如何让 Agent 真正"思考"。附完整可运行示例代码,展示 5 个真实场景的执行追踪,以及如何用 recursion_limit 防止 Agent 失控。
Agent系列(三):Plan-and-Solve——先想清楚,再动手
深入解析 Plan-and-Solve 范式:当 ReAct 的贪心策略在复杂任务上撞墙,如何引入显式规划层突破瓶颈。附完整 LangGraph 实现代码,展示 Plan → Execute → Replan → Finalize 四阶段架构,以及真实运行中的 5 个有趣发现。
Agent 系列(一):Agent 是什么——不只是「会调工具的 LLM」
Agent 系列第一篇。厘清 LLM、Chatbot、Agent 三者的本质区别,理解 Agent 的四要素,以及流程驱动 vs AI Native 两种范型——帮你搞清楚什么时候该用 Agent,什么时候 LLM 直接调用就够了。
让 AI Agent 更可靠:Harness Engineering 与多 Agent 系统工程实践
本文从实际项目痛点出发,系统介绍 Harness Engineering 框架、5 种多 Agent 协作模式、Claude Code 长期记忆方案和持续学习机制,帮助你构建稳定、高效的 AI Agent 系统。
RAG 系列(二十三):多模态 RAG——图片、表格也能检索
RAG 系列第二十三篇。真实文档里 30%–50% 的信息藏在图片和表格里,文本 RAG 完全看不到。三条处理路线:OCR/解析提取后文本化(最成熟)、CLIP 多模态 Embedding(图文同一向量空间)、ColPali 直接把 PDF 页面当图像处理(2024 年最新方法,绕开文本提取)。每条路线各自的适用场景和局限。
RAG 系列(二十四):代码 RAG——让 AI 理解你的代码库
RAG 系列最终篇。代码不是文档,它有结构(函数/类)、语义(docstring)和调用关系(call graph)——普通文本分块会把这些全部丢掉。本文用 AST 解析 llm-in-action 代码库(22 个 Python 文件、225 个代码单元),构建调用图(168 条边),实现语义代码搜索和调用链查询。代码运行结果:`build_self_rag_graph` 的完整下游调用链、`main` 的 54 个直接调用、`build_index` 的调用树全部被正确找出。
RAG 系列(二十):企业级 RAG 架构设计
RAG 系列第二十篇。Demo 级 RAG 对所有用户共享同一个向量库,任何人都能检索到任何内容。企业场景需要三件事:多租户隔离(不同公司/部门的知识库互不可见)、权限控制(工程师看不到 HR 文档,HR 看不到财务数据)、服务化(缓存重复问题 + 限流防止滥用)。本文用 Qdrant Collection 实现多租户,用元数据过滤器做权限控制,用滑动窗口实现限流,5 个场景验证全部通过。
RAG 系列(二十一):性能优化——又快又省钱
RAG 系列第二十一篇。一次 RAG 请求涉及两种 API 调用:Embedding 和 LLM,都是按量计费且有延迟。四种优化:LLM 响应缓存(相同问题 0ms 返回,5057ms→0.8ms)、Embedding 缓存(重复文本零 API 调用)、Semantic Cache(相似问题复用答案,但阈值校准是难点)、异步批量 Embedding(12 条文本 2.87x 加速)。每种优化独立测量,数据说话。
RAG 系列(二十二):长上下文 vs RAG——要不要 RAG
RAG 系列第二十二篇。Gemini 1.5 Pro 和 Claude 的百万 token 上下文窗口,让一部分人觉得 RAG 要过时了。这篇文章拆解两条路的实际代价:长上下文在成本和延迟上不是免费午餐;RAG 的检索会出错,召回不全。最后给出一个决策框架:文档量、更新频率、查询次数、延迟要求四个维度定位你的场景,再加一种两者兼用的混合策略。
理发师会被 AI 取代吗?这可能是 AI 时代最有意思的一个社会学问题
本文以理发师行业为切口,深度探讨 AI 时代下职业替代的边界。从手艺、审美、身体接触到人际关系,思考为什么越是虚拟化的时代,那些站在“技术”和“人味”交界处的职业反而越具有稀缺价值。
RAG 系列(十六):Graph RAG——用知识图谱解决多跳关系问题
RAG 系列第十六篇。向量检索找的是"相似文档",对实体间的关系网络是盲的。Graph RAG 把文档构建成知识图谱,用图遍历代替相似度搜索。12篇文档提取出 176节点/139条边,实测 context_precision 从 0.729 提升到 0.948(+0.219),但 context_recall 略降 0.062——图谱检索精准度与召回率的真实权衡。
RAG 系列(十七):Agentic RAG——让 Agent 主导检索过程
RAG 系列第十七篇。Pipeline RAG 把检索结果原封不动传给 LLM,好坏都将就。Agentic RAG 把检索变成工具:先分类问题选策略,检索后打质量分,不合格就换策略重试。8条问题中 2条直接生成跳过检索,4条触发了 re-route——Agent 在真实地做决策,而不是走过场。
RAG 系列(十八):Conversational RAG——多轮对话中的代词陷阱
RAG 系列第十八篇。单轮 RAG 每次都把原始问题直接送检索,但"它有哪四个指标""其中哪个最难提升"这类追问在没有上下文时检索会完全失效。History-Aware Retriever 在检索前先把当前问题改写成独立完整的问题,让追问也能拿到正确上下文。实验也揭示了一个有趣的反转:RAGAS 指标在这个测试里没有体现出优势,但定性对比明白无误地展示了问题改写的价值。
RAG 系列(十九):增量更新——知识库如何保持新鲜
RAG 系列第十九篇。知识库每天都在变:文档更新、新增、下线。Naive RAG 的做法是全量重建索引,把所有文档重新 embed 一遍。LangChain Indexing API 通过内容哈希追踪每篇文档,只 embed 真正发生变化的部分。实验中 7 篇文档、3 篇未变——增量更新只触发了 4 次 embed 调用,而不是 7 次,节省 42.9%。这个比例在规模增大后会更显著。
RAG 系列(十五):CRAG——检索结果不好时自动纠偏
RAG 系列第十五篇。传统 RAG 盲目信任检索结果,知识库覆盖不到时照样生成。CRAG 的思路:先给检索结果打分,不合格就触发网络搜索兜底。用 LangGraph 实现完整流程,实测 context_precision 从 0.444 提升到 0.875(+0.431),是本系列单项提升最大的一次。
RAG 系列(十四):Self-RAG——让模型决定要不要检索
RAG 系列第十四篇。传统 RAG 每次都检索,即使问题根本不需要外部知识。Self-RAG 用四个反思 token 让模型自主决策。用 LangGraph 实现完整流程:Retrieve 决策→相关性过滤→生成→Support 评估。实测:context_precision +0.104,但 token 消耗反增 2.4x——深挖这个反直觉结果背后的原因。
企业引入 AI 之后,为什么提效不明显?
Token 消耗越来越多,每个员工能干的活也越来越多,但整体业务却纹丝不动——这不是 AI 不够强,而是组织的协调基础设施成了新的瓶颈。本文梳理 8 大痛点与 7 条优化路径,帮你把"感觉 AI 没用上"变成"知道哪里卡住了"。
RAG 系列(十三):查询优化——让问题问得更好
RAG 系列第十三篇。为什么向量检索会因为问法不同而大幅波动?Multi-Query 如何用多角度问法扩大召回面?HyDE 为什么用"假答案"检索比用问题检索更准?Query Decomposition 如何拆解复杂问题?用 RAGAS 实测四种策略:context_recall 从 0.625 提升到 0.875。附完整代码。
RAG 系列(十一):Rerank——让检索结果按重要性排队
RAG 系列第十一篇。向量检索召回的文档,排序质量到底有多差?Cross-Encoder 和 Bi-Encoder 的本质区别是什么?如何用 ContextualCompressionRetriever 接入 Reranker?用 RAGAS 实测:context_precision 从 0.552 提升到 0.792。附完整 LangChain 实现代码。
RAG 系列(十二):高级分块策略——Parent-Child 与 Contextual Retrieval
RAG 系列第十二篇。Naive 分块有什么根本缺陷?Parent-Child 如何用小块检索、大块返回?Anthropic 的 Contextual Retrieval 给每个 Chunk 加上什么?用 RAGAS 实测三种策略:context_recall 从 0.625 提升到 0.875,context_precision 从 0.583 提升到 0.938。附完整 LangChain 实现代码。
RAG 系列(十):混合检索——让召回更全面
RAG 系列第十篇。纯向量检索遇到精确关键词时为什么会失效?BM25 和向量检索各自擅长什么?RRF 融合算法怎么工作?用代码实测 6 组查询,用 MRR 指标量化三种检索策略的差异,附 LangChain EnsembleRetriever 完整实现。
RAG 系列(九):效果不好怎么定位——用 RAGAS 做根因诊断
RAG 系列第九篇。RAG 回答质量差,是检索问题还是生成问题?本文构建一套诊断决策树,通过故意制造 3 种典型问题(检索召回不足、生成幻觉、答案偏题),用 RAGAS 指标精准定位根因,附完整可运行代码。
RAG 系列(八):RAG 评估体系——用数据说话
RAG 系列第八篇。RAG 系统怎么知道好不好?"感觉不错"不是标准。用 RAGAS 四个核心指标(Faithfulness、Answer Relevancy、Context Precision、Context Recall)量化评估 RAG 质量,从构建测试集到输出评估报告的完整实战。
RAG 系列(三):调对这 4 个参数,让你的 RAG 从「能用」变「好用」
RAG 系列第三篇。Chunk Size、Chunk Overlap、Top-K、Embedding Model 这四个参数怎么选?用控制变量实验对比不同参数组合的效果,附参数选择决策树和 5 个最常踩的坑。
RAG 系列(四):文档处理——从原始文件到高质量 Chunk
RAG 系列第四篇。4 种分块策略深度对比:固定大小、递归字符、语义分块、文档结构分块。用同一份 Markdown 文档实测每种策略的效果差异,附可视化对比和选型决策表。
RAG 系列(五):Embedding 模型——语义理解的核心
RAG 系列第五篇。Embedding 是什么?为什么它能表示语义?OpenAI、BGE、Cohere 等主流模型怎么选?用 MTEB 榜单看懂模型排名,用同一批中文文档实测 OpenAI vs BGE 的检索差异。
RAG 系列(六):向量数据库——存储与检索的基础设施
RAG 系列第六篇。向量数据库的核心能力是什么?Chroma、Qdrant、Weaviate、pgvector、Pinecone 怎么选?元数据过滤和相似度算法怎么用?用 Chroma 跑开发和 Qdrant 跑生产的完整代码。
RAG 系列(七):检索策略——如何找到最相关的内容
RAG 系列第七篇。相似度检索、MMR、阈值过滤、Self-Query 四种检索策略有什么区别?MMR 如何解决结果重复?Self-Query 怎么让 LLM 自动生成过滤条件?用代码实测对比四种策略的效果差异。
RAG 系列(二):用 LangChain 搭建你的第一个 RAG Pipeline
RAG 系列第二篇。用 LangChain 1.x + ChromaDB + SiliconFlow 拆解 RAG 六大组件,附完整可运行的 PDF 问答代码。所有源码可在 GitHub 获取。
RAG 系列(一):大模型为什么需要「外挂记忆」
RAG 系列第一篇。从 LLM 的两个根本局限出发,搞清楚 RAG 是什么、为什么需要它,以及它和微调、长上下文的本质区别。附 100 行手写最小 RAG 实现。
烧了数千美金 Token,我用 AI Agent 打通了企业级 Bug 修复全流程
在企业内部真实落地的 AI Bug 修复端到端自动化实践复盘。从 Jira 取单、日志分析、代码修复、Code Review、SonarQube 扫描、单元测试,到 Gerrit 提交、CI/CD 验证,12 个节点全程 AI 驱动。记录了 6 个真实测试场景,包括重试机制、会话续接、人工确认门等工程细节。
SubAgent 原理深度解析:AI 系统如何通过委托实现专业化分工
从上下文爆炸的工程痛点出发,深入解析 SubAgent 的核心模型、委托机制、三种执行模式与两种通信范式,结合 Claude Code 的完整实现,帮你真正搞懂 AI 系统的专业化分工原理。
Android 开发要变天了:Google 专为 Agent 重建工具链,Token 减少 70%、速度提升 3 倍
Google 发布了专为 AI Agent 设计的三大工具组件——Android CLI、Android Skills 与 Android Knowledge Base。这不是"IDE 里又加了个 AI 助手",而是在宣告移动开发的 Agent 时代正式到来。
你的 Skill 真的好用吗?用 Eval 系统化验证 Agent 技能
从四条 Skill 失效路径出发,介绍如何用 Eval 体系针对 Outcome、Process、Style、Efficiency 四个维度系统化验证 Agent Skill,让"感觉不错"变成"数据说话"。
AI Native 时代的 CI/CD:从“手工流水线”到“智能驾驶舱”的范式演进
借用企业从传统工厂到智能化无人工厂的进化过程,类比 CI/CD 如何从 Jenkins 时代的“手工组装”进化为 AI Native 时代的“自动驾驶”,深度剖析 Harness 等下一代 DevOps 平台的底层逻辑。
Claude Code 实战经验分享(上篇):从启动到并发协同
系统梳理 Claude Code 的进阶启动技巧、CLAUDE.md 配置、三种对话模式与典型工作流,以及多任务并发操作实践。帮你在日常开发中更高效地使用 Claude Code。
Claude Code 实战经验分享(下篇):记忆、规则、权限与快捷操作
深入 Claude Code 的记忆机制、规则约束体系、配置作用域与权限管理,并系统梳理日常高频快捷操作,帮你构建一套符合个人和团队习惯的 CC 使用方式。
大模型就是你雇的员工:从职场管理学看 AI 协作范式的三次进化
用企业从创业团队到成熟组织的进化过程,类比 Prompt Engineering → Context Engineering → Harness Engineering 的演进脉络,并预测下一步的两个方向。
5种来自谷歌的Agent Skill设计模式:减少Token浪费,精准触发正确行为
整理自Google ADK智能体工程专家Lavi Nigam的核心内容,总结5种可落地的SKILL.md设计模式,帮助开发者减少Token浪费、提升Skill编写质量。
2026 GDPS 大会洞见:企业级 Agent、AI Native 与一人公司
从全球开发者先锋大会(GDPS)观察 OpenClaw、Harness 工程、Skill 资产与 AI Native 开发范式,梳理企业级 Agent 平台的方向与落地要点。
从 Prompt 工程师到 Harness 工程师:AI 协作范式的三次进化
深入解析 Prompt Engineer、Context Engineer、Harness Engineer 三个概念的演变脉络,用人类世界的经典类比让你彻底搞懂什么是"驾驭 AI"的正确姿势
OpenClaw 实战:SKILL安装极简指南,让你的 Agent 真正干活
安装完 OpenClaw 只能聊天?本文带你攻克 SKILL 配置难点,教你通过 Clawhub 和 Vercel Semantic Search 快速寻找并安装 Agent 技能。
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
从"AI 怎么知道用哪个命令查天气"出发,推导 SKILL.md 的格式设计、多来源优先级发现、资格过滤、渐进式披露注入模式,以及用户可触发的 /命令 路径和确定性工具分发机制。
OpenClaw 深度解析(五):模型与提供商系统
从"同时配置 Claude 和 Kimi"的场景出发,推导 OpenClaw 的模型寻址机制、提供商自动发现、模型别名、回退链、认证档案轮转,以及第三方提供商如何通过 Plugin SDK 接入。
OpenClaw 深度解析(六):节点、Canvas 与子 Agent
从"AI 助手如何突破单进程边界"出发,推导 Node Host(远程执行沙盒)、Canvas(移动端交互 UI)、A2UI(原生桥接)和子 Agent(并行任务分解)的设计逻辑。
OpenClaw 深度解析(七):安全模型与沙盒
从"如何在多人服务器上安全部署 AI 助手"出发,系统梳理 Gateway 认证层、工具策略管道、Docker 沙盒隔离、密钥提供商体系、外部内容防注入,以及涵盖数十项检查的安全审计框架。
OpenClaw 深度解析(四):插件 SDK 与扩展开发机制
从"如何接入一个新的消息平台"出发,推导 Plugin SDK 的完整设计:稳定契约、通道扩展协议、生命周期钩子、服务注册,以及四级来源的安全发现机制。
OpenClaw 源码精读(3):Agent 执行引擎——AI 如何「思考」并与真实世界交互?
从一条消息触发 AI 开始,逐层剖析 OpenClaw 的 Agent 执行引擎:Lane 串行队列、单次执行的五个阶段、流式订阅的三层过滤、工具策略的四重防护、以及处理速率限制/上下文溢出的外层重试循环。
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
从用户真实使用场景出发,层层推导 OpenClaw Gateway 的设计:为什么需要它、为什么选 WebSocket、为什么设计三层认证、为什么用扁平 Handler Map。每一个设计决策都从具体问题出发,而不是凭空出现。
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
从一个具体难题出发,逐层推导 OpenClaw 的 Channel 插件接口、SessionKey 格式、七级路由优先级、dmScope 四种会话隔离模式,以及 identityLinks 跨平台身份合并机制。每一个设计都有明确的问题驱动它。
Anthropic 十大企业插件深度剖析:AI 正式进入白领工作腹地
深度解析 Anthropic 最新发布的 10 个 Claude Cowork 企业插件,从技术架构到行业影响,看 AI Agent 如何重塑金融、HR、设计和工程领域的工作方式
AI阅读法:如何借助大模型大幅提升阅读效率
分享使用AI辅助阅读的实战经验,通过结构化提问和迭代追问,快速掌握书籍核心内容,大幅提升阅读效率和学习效果
【Cursor进阶实战·07】OpenSpec实战:告别"凭感觉",用规格驱动AI编程
从Vibe Coding到Spec Coding的质量飞跃。通过OpenSpec实现规格驱动开发,让AI生成"对的代码"而不是"猜的代码",减少返工,提升代码质量30%以上。
AI时代的"工具自由":我是如何进入细糠时代的
AI不仅改变了我们写代码的方式,更改变了我们与工具的关系。从工具的囚徒到工具的主人,从粗放式使用到精细化定制,这是一场关于掌控感和创造力的革命。
物理AI:从理解语言到理解世界的跨越
深入解析英伟达在CES 2026发布的物理AI技术,探讨它与传统大模型的本质区别,揭秘如何让AI理解物理世界规律,以及这项技术将如何颠覆自动驾驶、机器人等领域
【Cursor进阶实战·06】MCP生态:让AI突破编辑器边界
告别工具孤岛!通过MCP协议连接数据库、GitHub、云服务等外部工具,让Cursor AI从"单机助手"升级为"生态中枢",实现真正的全栈AI协同开发。
【Cursor进阶实战·04】工作流革命:从"手动驾驶"到"自动驾驶"
告别重复劳动!通过Rules、Context、Hooks三大工具,让Cursor从被动响应升级为主动协同的AI编程伙伴。配置一次,终身受益。
【Cursor进阶实战·05】复述确认法:让AI先理解再执行,避免"瞎改"代码
解决AI编程中最常见的痛点——需求理解偏差。通过让AI先复述需求再执行,建立双向确认机制,大幅降低代码改错的返工成本。简单一招,让AI从"自以为是"变成"靠谱伙伴"。
Google工程师力作:《智能体设计模式》——从LLM到Agent的跃迁指南
Google CloudAI工程师Antonio Gulli倾力打造的实战宝典,21个设计模式带你掌握AI Agent核心架构,从模型调用到智能体系统的完整演进路径
【Cursor进阶实战·03】四大模式完全指南:Agent/Plan/Debug/Ask的正确打开方式
模式选对,效率翻倍!深度解析Cursor的Agent、Plan、Debug、Ask四种工作模式,掌握什么场景用什么模式,避免"AI乱改代码"的陷阱。
【Cursor进阶实战·02】告别丑陋界面!让AI当你的产品+UI专家,3步生成专业设计
无需设计师、无需学设计、无需限定技术栈!让Cursor扮演产品专家和UI专家,生成静态HTML设计稿,然后还原到任何技术栈(Web/Android/iOS)。一次设计,多端复用。
【Cursor进阶实战·01】Figma设计稿一键还原:Cursor + MCP让前端开发提速10倍
告别手工测量像素!通过Cursor + MCP技术直接读取Figma设计元数据,自动生成高质量前端代码,开发效率提升10倍。本文详细介绍配置方法、实战案例和进阶技巧。
思维链魔法:让AI从"算不对"到"步步为营"的提示技巧
深入解析Chain of Thought和Zero-shot CoT两种思维链提示技术,通过对比实验揭示如何让大语言模型展现逐步推理能力,大幅提升复杂任务准确率
链式提示:把复杂任务"化整为零"的AI编排艺术
深入讲解Prompt Chaining技术,学会将复杂任务拆解为子任务链条,通过实战案例演示如何提升LLM应用的可靠性、透明度和可控性
驯服AI的"白日梦":十大策略让大模型幻觉无所遁形
深度剖析大模型幻觉的成因与分类,系统讲解从提示工程到模型训练的十大实战策略,带你全面理解并有效减轻LLM的幻觉问题
RAG完全指南:从"死记硬背"到"开卷考试"的AI进化之路
深度解析检索增强生成(RAG)技术原理与实战,通过生动类比和完整代码示例,带你从零搭建基于LangChain+Weaviate的RAG系统
RAG调优实战:12个让检索增强生成从"能用"到"好用"的关键策略
从数据科学家的视角深度解析RAG系统的12种调优策略,涵盖数据索引和推理两大阶段,帮助你把RAG应用从原型推向生产环境
提示工程实战:用示例让AI更懂你
深入探讨Prompt工程中的示例技巧,通过1-shot和Few-shot方法让ChatGPT精准理解你的需求,告别低效沟通
OpenAI官方Prompt工程六大原则:从入门到精通
深度解读OpenAI官方发布的Prompt Engineering指南,系统讲解写清晰指令、提供参考文本、任务拆解、给予思考时间、使用外部工具、系统测试六大核心原则,助你掌握99%的Prompt优化技巧
Prompt工程进阶:用角色扮演让AI成为领域专家
深入探讨角色扮演(Role-Playing)在Prompt工程中的应用,通过三步法让ChatGPT化身专业面试官、写作导师、数学老师,掌握提升AI专业性的核心技巧
GPT 技术原理详解 - 从“顺口溜”到智能对话
用通俗易懂的方式拆解 GPT(生成式预训练转换器)的技术原理,包括 G、P、T 三个字母的含义、Transformer 的工作方式,以及 ChatGPT 背后的 RLHF 训练方法。
Prompt工程入门:如何让AI成为你的得力助手
从零开始学习Prompt提示语的艺术,掌握与ChatGPT高效沟通的技巧,让AI真正理解你的需求并提供精准答案
结构化Prompt:让ChatGPT从"听不懂"到"秒理解"的终极秘籍
深度解析结构化Prompt技术,从随意提问到系统化设计,掌握让AI精准响应的高级技巧,附完整实战模板
ChatGPT使用秘籍:10个让AI输出质量翻倍的实战策略
总结10个经过验证的ChatGPT使用技巧,从多种表述到引导词,从话题隔离到指令分隔,帮你避开常见误区,让AI成为真正的效率倍增器
揭秘大模型的“记忆力”:Token和上下文窗口完全指南
深入浅出地讲解什么是Token、上下文窗口以及它们如何影响AI的表现,带你理解大语言模型工作的底层机制
Cursor 2.2 新功能 - Browser 可视化编辑器,让前端开发“指哪打哪”
Cursor 2.2 版本引入了 Browser Visual Editor 功能,支持在浏览器中直接点选元素修改代码、拖拽调整布局,让设计与开发的距离前所未有地近。
一招让你的 Cursor 不再瞎改代码
借鉴职场沟通中的"复述确认"技巧,让 AI 编程助手在动手前先说清楚它要做什么,从根本上避免需求理解偏差导致的代码返工和破坏。
入门大模型必知的100个基础问题(附简明答案)
从大模型概念、Transformer与注意力、训练与优化到评估、部署与安全,整理100个入门常见问题与简明答案,便于快速查阅。
AI基础知识拆解:从概念到实践的完整指南
深入浅出地讲解人工智能、机器学习、深度学习的核心概念,通过生动的类比和实例帮助你理解AI训练过程、过拟合与欠拟合等关键知识点
阿里通义实验室大模型面试题汇总
整理阿里通义实验室(Qwen团队)大模型方向的三轮面试题目,涵盖模型架构、训练优化、推理加速、RAG等核心知识点