W2D7 学习手册 1.收尾2.三件套3.Server/Client4.知识库 5.三者差异6.普通API7.决策8.ChatClient 9.ToolCalling10.权限11.演练12.表达 达标①达标②自测速记

FDE W2D7 学习手册 · 整合与面试准备(W2 收尾)

W2 Day7 · 整合收尾 · 4h(含 Java 恢复 2h)· 学完能把 W2 全部产出串成"基础保险知识库",并讲清 Function Calling / MCP / 普通 API 的差异

本日定位:W2 前六天分别讲了 Function Calling(D1)、采样与结构化(D2)、Agent 编排(D3)、MCP 核心(D4)、MCP Server(D5)、基础 RAG(D6)。今天是整合日:把 OCR/Database/Rule 三类 Tool 整合进 MCP Server,把 Server 与 Client 串成端到端系统,融合 RAG 形成"基础保险知识库",并厘清三种接入方式(Function Calling / MCP / 普通 API)的差异。最后 2h 恢复 Java:Spring AI ChatClient 与 Tool Calling。
学完能回答:① Function Calling / MCP / 普通 API 三者差异与各自适用;② W2 整体产出如何串成"基础保险知识库"。
使用方法:先回顾 D1–D6 脉络 → 重点看「工程含义」「面试话术」「易错点」→ 做自测清单 → 配合《W2D7 评测题.md》。选中不熟的词可标注(左下★重要 / 右下📌待查)。

一、W2 收尾:从单点到系统

W2 是一条主线:让 LLM "接上企业能力与知识"。回顾:

主题产出
D1Function Calling模型调函数的能力
D2采样与结构化稳定可解析的输出
D3Agent 编排多步工具调度
D4MCP 核心标准协议模型与握手
D5MCP Server医保场景 Tool/Resource/Prompt
D6基础 RAG文档→检索→带引用答案
D7整合收尾串成"基础保险知识库"
权威资源(中文/官方,非 OpenAI):
W2 主线是"LLM 接企业能力与知识":D1–D3 是能力与编排基础,D4–D5 是标准化接入(MCP),D6 是知识接入(RAG),D7 把三者融成"基础保险知识库"。面试要能画出这条演进线。
① 别把每天当孤立知识点——面试官看的是"你能不能串起来讲一个系统"。② 整合日不是学新概念,是把已有拼图拼成图。③ 三种接入方式(FC/MCP/API)常被混为一谈,务必要分清(见 s5)。

二、三件套整合:OCR Tool / Database Tool / Rule Tool

特药理赔需要三类能力,分别做成 MCP Tool 整合进同一 Server(或分 Server 由 Host 连):

Tool职责输入输出性质
OCR Tool病历/发票识别图片/PDF 路径结构化文本+字段readOnly(只识别)
Database Tool查保单库/理赔记录保单号/条件记录/状态读为主,受权限约束
Rule Tool特药规则校验诊断+药品+保单是否报销+理由+上限readOnly(只查算)
工程整合要点:① 三者可同 Server(按模块分组)或分 Server(按团队/部署边界),取决于 ownership;② Database Tool 是敏感点——必须有真实权限(D4 s10),不能看 Annotation;③ Rule Tool 规则外置(D5 s5);④ 输出都结构化、带引用/来源,供下游拼接与审计。
理赔三件套:OCR(识别病历,readOnly)、Database(查保单,受权限约束)、Rule(校验报销,外置规则)。整合进 MCP Server,输出统一结构化、带来源,供 Agent 编排与 RAG 拼接。Database 是安全重点,必须真实鉴权。
① 别把 Database Tool 写成"任意 SQL 执行"——要封装成受控查询,防注入与越权。② 三者输出格式要统一(错误结构化、字段命名一致),否则 Agent 难消费。③ OCR 与 Rule 都标 readOnly,但真实权限仍由 Host 判定(D4 结论)。

三、MCP Server 与 Client 整合(端到端架构)

Host(理赔Agent) ⇄ Client₁ ⇄ OCR/DB/Rule MCP Server(stdio/HTTP) ⇄ Client₂ ⇄ RAG 检索 Server(ES 知识库) ⇄ Client₃ ⇄ 政策 MCP Server(Remote, OAuth)

一个 Host 内多个 Client,各连一个 Server;Host 负责把工具发现结果汇成"工具集"交给模型,模型在多轮里编排调用,最终结合 RAG 检索结果生成带引用的理赔结论。

端到端整合注意:① 多 Server 的 tools/list 要合并去重,相似 Tool 命名清晰;② Session/超时统一管理(D4 s8);③ 远程 Server(政策)走 OAuth 门禁+能力审查(D4 s11/s12);④ 全链路日志串联(同 traceId)便于理赔审计。
Server/Client 整合 = Host 内多个 Client 各连一个 Server(OCR/DB/Rule、RAG、政策),Host 把工具集汇给模型做编排,结合 RAG 生成带引用结论。要点:工具合并去重、会话统一、远程 OAuth、全链路 trace。
① 多 Server 同名 Tool 会冲突——合并时要命名空间化(如 policy.query / rule.check)。② 别让 Host 自动连未知 Server(D4 s12 信任)。③ 链路 trace 不贯通,理赔出问题无法定位是哪个 Tool 出错。

四、基础保险知识库:RAG + MCP 融合

"基础保险知识库"= RAG 检索(静态知识:条款/目录/政策)+ MCP 工具(动态能力:查库/OCR/校验) 的融合体:

这是企业知识库的成熟形态:静态知识用 RAG(便宜、可更新),动态/实时数据用 MCP Tool(精确、可控)。医保里"条款"走 RAG,"某客户当前保单状态"走 Database Tool——各取所长。
基础保险知识库 = RAG(静态条款/目录/政策,检索+引用)+ MCP 工具(动态查库/OCR/校验)融合。生成时同时拼入检索资料与工具结果,模型基于"资料+实时数据"作答。静态用 RAG、动态用 MCP。
① 别把"实时保单状态"也塞进 RAG 索引——会变陈旧且不安全,该用 Database Tool 实时查。② RAG 与 MCP 返回要统一进同一上下文并都带引用,否则溯源断链。③ 融合后"谁说了算"要明确:实时工具结果优先于可能过期的检索资料。

五、Function Calling / MCP / 普通 API 的差异(达标线①)

维度普通 APIFunction CallingMCP
本质程序间固定接口调用模型调函数的能力(单点)工具/数据接入的标准协议(生态)
谁决策调用代码(硬编码流程)模型(推理中决定)模型(经 Client 发现后)
集成方式手写请求/解析各家模型私有 schema统一协议,Server 一次实现多 Client 通用
发现无(看文档)硬编码/手动tools/list 动态发现
能力范围任意(看接口)通常仅函数Tools+Resources+Prompts
适用确定流程、系统对接模型需调函数(快速原型)多工具/多模型标准化接入
三者差异一句话:普通 API=代码硬编码调接口(确定流程);Function Calling=模型自己决定调函数(单点、各家私有);MCP=工具接入的标准协议(生态、动态发现、三类原语)。不是替代关系,是层次不同。
工程选型:① 内部确定流程(如"定时跑批对账")用普通 API,没必要让模型参与;② 单个模型要"临时调个函数"用 Function Calling 最快;③ 多工具/多模型/要动态发现与标准化,用 MCP。医保生产里三者并存:批处理用 API,Agent 用 MCP,快速试验用 FC。
① 别以为 MCP 取代普通 API——内部服务间调用还是普通 API 最高效,MCP 是"给 LLM 接"的。② Function Calling 与 MCP 不矛盾:MCP 之上仍可承载 FC 式调用,MCP 解决的是"怎么标准化接"。③ 面试若说"三者选一个"是错问法,应"按场景选"。

六、普通 API 的定位与适用

普通 API(REST/gRPC)是代码对代码的接口,调用方、参数、流程都是确定的,与 LLM 无关。

医保落地:保单核心库对外是普通 API(Java Spring 服务),MCP 的 Database Tool 只是把这 API 包一层给模型用。内部批处理(如每日理赔汇总)直接普通 API,不走 LLM,省成本保稳定。
普通 API=代码对代码的确定接口,与 LLM 无关,适合确定流程/服务集成/批处理。它常是 MCP Tool 的"底层实现"——Tool 调普通 API 取数给模型。别为"接 LLM"而把内部批处理也改 MCP。
① 别把"模型要调"和"代码要调"混为一谈——后者普通 API 足矣,硬上 MCP 是多此一举。② MCP Server 底层调普通 API 时,原有权限/审计不能丢(D5 s12)。③ 普通 API 的稳定性/性能通常优于经 LLM 的路径,确定流程优先用 API。

七、三者选型决策树

需要模型"临场决策调不调/调哪个"吗? ├ 否 → 普通 API(确定流程/服务集成/批处理) └ 是 → 要"标准化/多工具/多模型/动态发现"吗? ├ 否 → Function Calling(快速让单模型调函数) └ 是 → MCP(统一协议,Server 一次实现多 Client 通用)
医保实战决策:① 定时理赔对账 → 普通 API;② 单模型原型"让模型查个保单"→ Function Calling 最快;③ 生产理赔 Agent 要连 OCR/DB/Rule/政策多源 → MCP。三者在同一系统里共存,各管一段。
选型决策:模型不需临场决策→普通 API;需要但只单模型快速调→Function Calling;需要标准化/多源/多模型→MCP。医保里对账用 API、原型用 FC、生产多源 Agent 用 MCP,三者共存。
① 不是"上了 MCP 就全用 MCP"——确定流程仍用普通 API 更高效。② 原型直接 FC 没问题,但生产要多源标准化时再迁 MCP,别过度设计也别欠设计。③ 面试要展现"按场景选"的思维,而非背定义。

八、Java 恢复 2h:Spring AI ChatClient

候选人是 Java 背景,用 Spring AI 落地最顺。ChatClient 是与 LLM 对话的统一入口,屏蔽不同模型厂商差异。

ChatClient client = ChatClient.builder(chatModel).build();
String answer = client.prompt()
    .user("这张保单能报销奥希美替尼吗?")
    .call()
    .content();
Java 恢复重点:用 ChatClient 把"对话"标准化,再叠加 tools(Function Calling)或 MCP 工具。医保团队复用 Spring 生态,ChatClient + @Tool + McpToolCallback 即可把 D1/D4/D5 的能力在 Java 里落地。
Spring AI 的 ChatClient 是与 LLM 对话的统一入口,链式组装 prompt,屏蔽模型厂商差异。它可挂 Function Calling 工具或 MCP 工具回调,是 Java 落地 W2 能力的核心。换模型只换 ChatModel 实现。
① ChatClient 是"对话入口"不是"模型"——真正模型是注入的 ChatModel。② 别在 prompt 里硬编码模型私有格式,保持厂商无关。③ 恢复 2h 重点在跑通"ChatClient + 一个 Tool",而非通读全部 API。

九、Spring AI Tool Calling

Spring AI 的 Tool Calling 把 Java 方法包成模型可调工具,与 D1/D5 概念一致:

@Tool(description = "按保单号查询保单状态与额度")
public Map<String,Object> queryPolicy(@ToolParam("保单号") String policyNo) {
    return policyService.query(policyNo);
}

// 注册给 ChatClient
ChatClient client = ChatClient.builder(model)
    .defaultTools(queryPolicyTool)   // 或 McpToolCallback 接 MCP Server
    .build();
官方文档:docs.spring.io/spring-ai/reference/api/tools.html;B站 Spring AI 第 36–44 集讲 Tools+权限(BV1GfyGBqEm6)。
Tool Calling 在 Java 里 = @Tool 注解 + 注册到 ChatClient。要接 MCP Server 则用 McpToolCallback(把远程 Server 的工具转成本地回调)。权限见 s10:敏感 Tool 在方法内做真实鉴权,不靠描述。
Spring AI Tool Calling:@Tool 把 Java 方法包成模型工具,注册到 ChatClient 即可。接 MCP 用 McpToolCallback。与 D1 Function Calling、D5 MCP Server 一脉相承——Java 侧落地方式。
① @Tool 的 description 同样决定模型调不调,别空着。② 接 MCP 时 McpToolCallback 负责协议,业务方法仍要保留原权限/审计。③ 别把"工具定义"和"权限判断"混在描述里——权限靠代码不在描述(D4 s10)。

十、权限与安全串联(结合 D4/D5)

整合后安全要贯通三层:

  1. 传输/端点:Remote Server 用 OAuth 门禁(D4 s11)。
  2. Tool 级业务授权:Host/Server 真实权限(用户角色、保单状态),不看 Tool Annotation(D4 s10)。
  3. 来源信任:Server 白名单/沙箱/能力审查(D4 s12)。
  4. 数据合规:审计留痕、隐私脱敏(D5 s11)。
医保生产:理赔 Agent 调 Database Tool 查客户保单,先由 Host 按当前用户角色判定是否有权;远程政策 Server 走 OAuth;所有调用同 traceId 审计。Annotation 只作 UX 提示(弹确认框),绝不作安全边界。
整合安全串联:传输 OAuth(门禁)+ Tool 级真实鉴权(不看 Annotation)+ Server 来源信任(白名单/沙箱)+ 数据合规(审计/脱敏)。Annotation 仅 UX 提示,安全边界靠真实权限系统。
① 整合后最容易"某层漏了鉴权"——要逐层核对,别只信一层。② 多 Server 合并后,高危 Tool 要在 Host 层统一拦截。③ 审计 trace 必通,否则合规不达标。

十一、端到端理赔流程演练

用户提交病历图 → OCR Tool 识别 → Database Tool 查保单状态 → RAG 检索特药目录(带引用) → Rule Tool 校验报销 → 模型综合生成结论(附引用+should_refuse) → 审计留痕
  1. 用户上传病历图片 → Host 调 OCR Tool 得结构化文本(readOnly,保原文引用)。
  2. 模型从 OCR 结果抽保单号 → 调 Database Tool 查状态/额度(受权限约束)。
  3. 模型问"该药是否报销" → RAG 检索特药目录与条款(BM25+向量,带 [n] 引用)。
  4. 模型调 Rule Tool 跑规则 → 得 covered/reason/max_amount(低随机、可解释)。
  5. 模型综合生成理赔结论,每条标引用;信息不足则 should_refuse
  6. 全链路同 traceId,落审计。
这是 W2 全部能力的"阅兵式":D2 低 T 结构化、D3 编排、D4/D5 MCP、D6 RAG 引用与拒答,全部串起来。面试能流畅讲一遍这个流程,W2 就过关了。
端到端演练:OCR 识别 → DB 查保单(鉴权)→ RAG 检索目录(引用) → Rule 校验 → 模型综合生成(引用+拒答) → 审计。它把 W2 的采样/编排/MCP/RAG 全部串起,是面试讲系统的主线索。
① 演练时别漏"权限判定"和"拒答"环节——这是生产必需,也是面试扣分点。② 引用要贯通 OCR 原文、RAG 资料、Rule 理由,断了就溯源失败。③ 每一步失败要有降级(如 OCR 失败转人工),不能卡死。

十二、面试表达:如何讲清 W2 整体产出

面试讲系统的话术框架(背熟): "W2 我围绕'让 LLM 接上企业能力与知识'展开。先用 Function Calling 让模型调函数(D1),用低 T+结构化保证输出稳定(D2),用 Agent 编排多步调用(D3);进而用 MCP 把工具/数据接入标准化——讲清了 Host/Client/Server 模型、初始化握手、三类原语与安全边界(D4),并实现了医保场景的 MCP Server(D5);知识侧用 RAG 做文档解析→切分→向量化→混合检索→带引用生成,并强调引用溯源与无答案拒答(D6);最后整合 OCR/DB/Rule 三件套与 RAG,形成'基础保险知识库',并厘清 Function Calling/MCP/普通 API 三者差异与选型(D7)。"
表达技巧:① 先给"主线一句话"再展开;② 每个概念都有"医保例子"落地;③ 主动点出"易错点"(如 Annotation 不鉴权、BM25 vs 向量)展示深度;④ 用一句话话术收尾达标线。
① 别堆概念不讲主线——面试官要的是"你能否串成系统"。② 别只背定义,缺"医保例子"会显得没落地。③ 主动暴露易错点(比被动被问更能加分)。

十三、面试达标线①:Function Calling / MCP / 普通 API 三者差异与适用

维度普通 APIFunction CallingMCP
本质代码对代码确定接口模型调函数(单点)工具接入标准协议(生态)
调用决策代码硬编码模型临场决定模型经 Client 发现后决定
适用确定流程/集成/批处理单模型快速调函数多工具/多模型标准化接入
达标线①核心:能说清三者层次不同、不是替代——普通 API 是确定流程、Function Calling 是单模型调函数、MCP 是标准化接入生态;并能按"是否需模型临场决策、是否需标准化多源"做选型。三者在同一系统共存。

十四、面试达标线②:W2 整体产出如何串成"基础保险知识库"

静态知识(RAG: 条款/目录/政策, 检索+引用) + 动态能力(MCP: OCR/DB/Rule Tool) → Host 编排 → 带引用理赔结论 + 审计
达标线②核心:能讲清"基础保险知识库"= RAG(静态知识)+ MCP(动态能力)融合,并用端到端理赔流程串起 W2 全部能力。这是 W2 的"总收口",能流畅讲一遍即过关。

十五、W2D7 自测清单

十六、高频面试题速记卡

Q:Function Calling、MCP、普通 API 什么关系?
普通 API=代码确定接口;Function Calling=单模型调函数(单点);MCP=工具接入标准协议(生态)。层次不同、共存,按场景选。
Q:三者怎么选型?
不需模型临场决策→普通 API;需要但单模型快速→FC;需标准化/多源/多模型→MCP。医保:对账用API、原型用FC、生产多源Agent用MCP。
Q:基础保险知识库怎么构成的?
RAG(静态条款/目录/政策,检索+引用)+ MCP 工具(动态查库/OCR/校验)融合,生成时拼资料+实时数据,带引用作答。
Q:Spring AI ChatClient 是什么?
与 LLM 对话的统一入口,链式组装 prompt,屏蔽模型厂商差异;可挂 Function Calling 工具或 MCP 回调。换模型只换 ChatModel。
Q:Spring AI 怎么做 Tool Calling?
@Tool 注解把 Java 方法包成工具,注册到 ChatClient;接 MCP 用 McpToolCallback。description 决定模型调不调。
Q:整合后安全怎么贯通?
传输 OAuth(门禁)+Tool 级真实鉴权(不看 Annotation)+Server 来源信任(白名单/沙箱)+数据合规(审计/脱敏)。Annotation 仅 UX 提示。
Q:端到端理赔流程?
OCR 识别→DB 查保单(鉴权)→RAG 检索目录(引用)→Rule 校验→模型综合生成(引用+拒答)→审计。串起 W2 全部能力。
Q:Database Tool 为何是安全重点?
涉及客户隐私与权限,必须封装成受控查询(防注入/越权),真实鉴权在方法内,不靠描述或 Annotation。
Q:静态知识和动态能力为何分开接?
静态(条款)用 RAG 便宜可更新;动态(实时保单状态)用 MCP Tool 精确可控。各取所长,避免陈旧与不安全。
Q:面试怎么讲 W2 产出?
先给主线一句"让 LLM 接企业能力与知识",再按天展开+医保例子,主动点易错点(Annotation不鉴权/BM25 vs 向量)收尾达标线。
FDE W2D7 学习手册 · 整合与面试准备(W2 收尾)(面试级)· 配合《W2D7 评测题.md》自测
📌 待查★ 重要