从 RAG 到 Agent学习笔记

发布时间:2026/9/22 6:17:53

从 RAG 到 Agent学习笔记
大模型LLM的能力正在逐渐趋同真正的技术壁垒正在向 Harness Engineering驾驭工程转移。本文将结合近期技术探讨系统梳理大模型应用开发中的核心工程化技术涵盖 RAG 结构化输出、约束解码原理、工具调用范式、Agent 编排框架以及沙箱环境构建。一、 RAG 结构化输出的“三道防线”在 RAG检索增强生成流程中将大模型从不可控的“文本生成器”改造为稳定的“结构化数据提取器”需要建立严密的质检与交付体系提示工程软引导在 Prompt 组装阶段通过角色设定、格式定义和 Few-Shot 示例在语义层面与模型达成“契约”诱导其输出目标格式。格式约束硬控制在模型推理Inference过程中实施硬性拦截。通过 RAG 框架调用底层推理引擎将 JSON Schema 注入在模型生成每一个 Token 时进行 Logits Masking概率屏蔽将不符合语法的 Token 概率强制设为负无穷从数学上剥夺模型犯错的可能性。后处理兜底修复在拿到模型返回值后执行闭环校验。包括自动解析捕获、自我修正循环将错误信息重新封装 Prompt 让模型修正以及业务逻辑校验确保最终数据逻辑有效。二、 约束解码的底层原理有限状态机与 Logits Masking在不修改大模型的前提下控制其输出的每一个 Token核心在于约束解码。其底层原理是将 JSON Schema 编译成有限状态机FSM在模型每生成一个 Token 时用状态机判断哪些 Token 语法合法把不合法的 Token 概率强制归零。1. 有限状态机FSMFSM 是一种描述系统行为的数学模型由有限个状态、状态之间的转移规则和输入事件组成。在结构化输出中FSM 用于实时校验每一步输出的合法性例如初始状态允许输出{若已输出key则下一状态只允许:。2. Logits Masking 机制大模型生成文本是自回归的。约束解码在模型计算出所有 Token 的 logit 分数后、Softmax 归一化之前插入一个“语法警察”合法 Token 的 mask 值为 0保留原始 logit非法 Token 的 mask 值为 -∞经过 Softmax 后概率变为 0。模型全程以为自己在自由生成但推理引擎只从中挑选合法的 Token实现了“不碰大脑只控制嘴巴”的物理隔离。三、 工具调用范式MCP 与 CLI 的抉择在 AI Agent 调用外部工具时MCP 与 CLI 代表了两条不同的技术路线两者并不互斥而是互补MCP标准化协议路线被称为“AI 的 USB-C 接口”本质是标准化的 Client-Server 协议。适用于跨系统、跨模型、企业级集成提供安全可控的鉴权与沙箱隔离但需要额外开发和维护 MCP Server。CLI环境控制路线模型直接生成并执行系统命令行指令。具有零开发成本、极其轻量、组合性强的优势适用于单机任务、脚本执行和快速原型但安全风险较高且缺乏标准化。当前业界的最佳实践是两者融合MCP 负责提供标准化的工具发现与调用框架而 CLI 负责在 MCP Server 内部执行具体的系统级操作。四、 Agent 编排LangChain 与 LangGraph 的定位在智能体编排中LangChain 与 LangGraph 承担着不同的工程角色LangChain作为 Agent Framework框架能实现基础的流程编排。通过 Chains 和 Agents 将多个步骤组合成工作流支持线性流水线、条件分支等标准化业务流程。LangGraph作为 Agent Runtime运行时专为复杂、有状态、多智能体协作的场景设计。提供基于有向图的编排能力支持 Supervisor 模式、Fan-out 扇出模式、Human-in-the-Loop人工审批以及 Checkpointing断点恢复与状态回溯。简而言之LangChain 是“零件”LangGraph 是“组装工厂”。构建复杂、可中断、可恢复的生产级智能体系统LangGraph 是更合适的选择。五、 智能体沙箱操控页面与软件部署在智能体沙箱中操控页面完成软件部署是通过“隔离沙箱容器 无头浏览器CDP协议 大模型 ReAct 决策循环”三者协同完成的沙箱层通过 Docker 容器或云沙箱提供完全隔离的执行环境确保智能体的操作不影响外部系统。浏览器层沙箱内启动无头浏览器通过 CDPChrome DevTools Protocol建立 WebSocket 连接赋予智能体“看”获取 DOM/截图和“做”点击/输入/执行 JS的能力。决策层大模型通过 ReAct 框架不断执行“感知→思考→行动→反馈”循环。为节省 Token通常对页面 DOM 进行精简表示仅提取可交互元素。若操作失败智能体还能进行自动重试、重新规划甚至现场编写新函数进行自我修复。大模型应用开发正在从“拼模型能力”走向“拼工程架构”。无论是通过约束解码实现 100% 格式正确的结构化输出还是通过 MCP/CLI 融合打通工具链亦或是利用 LangGraph 和沙箱构建复杂任务的执行环境其核心思想都是把不可控的大模型装进可控的工程框架里。掌握这套 Harness Engineering 体系是构建生产级 AI 应用的必经之路。

相关新闻

61-NIN(补充端侧部署和云端部署的概念)

61-NIN(补充端侧部署和云端部署的概念)

2026/9/21 19:44:32

基于架构图的 VGG Net 与 NiN Net 深度分析这张图清晰对比了VGG 网络和NiN 网络的核心架构、基础模块设计,直观展现了两种经典 CNN 的设计思路差异,核心围绕「卷积模块设计」「分类头架构」「核心创新点」三个维度展开,以下是完整分析&#x…

备份脚本,拉去ftp下所有文件

备份脚本,拉去ftp下所有文件

2026/9/9 18:53:11

备份脚本,拉去ftp下所有文件 #!/bin/bash # FTP参数 FTP_IP"192.168.2.22" FTP_PORT"6000" FTP_USER"admin" FTP_PASS"123456" LOCAL_DIR"/home/data-bak"# 创建本地备份目录 mkdir -p "${LOCAL_DIR}"…

AI 开源工具链评估:Star 数不能替代维护质量

AI 开源工具链评估:Star 数不能替代维护质量

2026/9/21 20:13:25

AI 开源工具链评估:Star 数不能替代维护质量 一、工具选型不能只看热度 AI 开源工具链更新很快。很多项目 Star 数很高,文档很热闹,但真正接入实验或生产后,才发现版本不稳定、接口频繁变化、issue 长期没人处理。热度不是维护质量…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/21 18:38:46

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/21 18:41:09

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/21 18:36:40

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/21 18:37:26

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/21 18:40:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/21 18:36:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/22 0:19:28

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/21 23:38:13

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/22 0:48:53

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…