Java 工程师 AI 智能体学习路线 · 阶段 8:工程化落地 详解
Java 工程师 AI 智能体学习路线 · 阶段 8工程化落地 详解本阶段目标让智能体可上线、可观测、可评测、可治理——覆盖可观测性、评测体系、安全护栏、提示词管理、成本控制、部署运维与合规审计。注博客https://blog.csdn.net/badao_liumang_qizhi8.1 可观测性Observability讲解LLM 调用是概率黑盒必须埋点看清每次请求的链路、Token、延迟、成本、成败。指标Metrics用 Micrometer 记录 Token 数、调用次数、耗时、错误率。链路Tracing用 Langfuse / OpenTelemetry 追踪一次请求经过哪些 Agent/工具、各步耗时与输入/输出。日志Logging结构化记录 Prompt/Response注意脱敏。示例Micrometer 记录 TokenSpring AI 风格AutowiredMeterRegistryregistry;publicStringask(Stringq){ChatResponserespchatClient.prompt().user(q).call();varusageresp.getMetadata().getUsage();registry.counter(llm.tokens,type,prompt).increment(usage.promptTokens());registry.counter(llm.tokens,type,completion).increment(usage.completionTokens());returnresp.getResult().getOutput().getText();}示例Langfuse 追踪为每个会话/任务创建trace把每次 LLM 调用、工具调用作为span上报便于回放与排查。常见场景线上答非所问时回放 trace 看是哪一步工具返回异常。按业务/用户维度统计成本发现异常调用。面试知识点QLLM 应用为什么特别需要可观测A模型输出概率性、链路长多 Agent/工具、成本高且易出错没有链路与指标就无法定位哪步错了、花了多少、是否超预算。8.2 评测体系Evaluation讲解提示词/模型的改动必须可回归验证不能凭感觉。评测数据集维护输入 → 期望输出/评分标准的用例集覆盖典型与边界。指标准确率、幻觉率、工具调用成功率、格式合规率、用户满意度。回归测试每次 Prompt/模型升级跑全量用例对比前后指标。自动化CI 中集成评测不达标则阻断发布。示例最小回归测试示意TestvoidpromptV2_regression(){for(Casec:evalSet){Stringoutagent.run(c.input());assertTrue(scorer.pass(c,out),用例失败: c.id());}}常见场景提示词 A/B同一数据集对比新旧版本指标。模型替换升级模型前先跑回归确认不劣化。面试知识点Q如何判断一次 Prompt 改版变好了A用固定评测集对比准确率/合规率/人工评分等量化指标而非单次主观感受并做回归确保原有好用例不退化。8.3 安全护栏Guardrails讲解在输入与输出两端加防护防止越权、泄露与违规。输入过滤拦截 Prompt Injection、敏感词、越权指令。输出过滤拦截泄露密钥/隐私、违规内容。工具权限最小化Agent 只拥有必要工具权限。敏感操作二次确认HITL发消息、删数据、扣款前人工审批。越权防护校验调用者身份与数据归属。示例Advisor 拦截Spring AI 风格// 自定义 Advisor调用前做输入安全校验调用后做输出脱敏publicclassGuardrailAdvisorimplementsAdvisor{publicAdvisedResponseadvise(AdvisedRequestreq){securityFilter.checkInput(req.userText());// 输入护栏AdvisedResponsernext.advise(req);rr.withOutput(piiRedactor.redact(r.output()));// 输出脱敏returnr;}}常见场景客服 Agent 不能泄露其他用户订单越权防护 输出过滤。运维 Agent 执行重启前必须人工确认。面试知识点Q如何防范 Prompt Injection**ASystem 强调安全边界与优先级隔离标记用户输入输出过滤敏感信息关键动作人工确认加护栏规则/模型二次校验。8.4 提示词与配置管理讲解版本化提示词纳入 Git每次改动有记录、可回滚。A/B 对比新旧提示词在评测集/灰度流量上对比。灰度发布先对小比例流量生效观察指标无碍再全量。集中配置提示词/参数放配置中心Nacos/Apollo热更新不重启。常见场景大促前对营销话术 Prompt做灰度避免全量翻车。回滚到上周效果更好的提示词版本。面试知识点Q为什么提示词也要版本化和灰度A提示词直接影响输出质量与合规改动风险高版本化便于回滚与审计灰度能在小流量验证后再全量降低线上事故。8.5 成本控制讲解模型分级路由简单任务用小/便宜模型复杂任务才用大模型如路由层判断意图。缓存系统提示前缀复用命中 prompt cache相同问答结果缓存。批处理离线任务用 batch API 享折扣。预算上限按用户/业务设 Token 预算超限降级或限流。示例按复杂度路由示意ChatModelmodelisSimple(task)?cheapModel:strongModel;returnchatClient.mutate().chatModel(model).prompt().user(task).call().content();常见场景分类/摘要用轻量模型深度推理才上推理模型。高频 FAQ 命中缓存几乎零成本。面试知识点Q如何降低高频问答系统的成本APrompt 缓存复用前缀RAG 只取相关片段按任务难度模型路由限制输出长度批量调用结果缓存。8.6 部署与运维讲解容器化Docker K8s统一运行环境。原生镜像Spring Boot 原生镜像GraalVM降低冷启动、内存占用。限流保护下游模型 API防止突发打满配额。灰度 / 回滚新版本先小流量异常一键回滚。弹性结合队列削峰长任务异步化。常见场景夜间批处理任务量大用队列异步执行避免阻塞在线服务。模型 API 抖动时自动降级到备用模型/兜底文案。面试知识点QLLM 服务上线要考虑哪些运维要点A容器化与弹性伸缩、限流保护模型配额、灰度发布与回滚、异步削峰、降级兜底、可观测与告警。8.7 合规治理讲解数据隐私用户 PII姓名/手机号在日志与 Prompt 中脱敏。日志脱敏落盘前过滤密钥、隐私字段。审计留痕关键动作调用了什么工具、谁发起、结果如何可追溯。合规国内需注意数据出境、内容安全与备案要求。示例PII 脱敏示意StringsafeLogpiiRedactor.redact(rawPrompt);// 手机号/身份证打码auditLogger.info(task{} input{},taskId,safeLog);常见场景金融/医疗行业对日志脱敏与审计有强监管要求。跨境业务需评估数据出境合规。面试知识点QLLM 日志里常见哪些合规风险怎么处理A风险泄露用户隐私PII、密钥、内部规则。处理落盘前脱敏、访问控制、最小化存储、审计留痕、按合规要求评估出境与备案。8.8 阶段 8 自测清单能为 Agent 调用接入可观测链路指标追踪能设计一份最小评测数据集做回归能描述敏感工具的人工确认机制能说明提示词版本化与灰度的价值能说出成本控制与合规审计的关键手段8.9 阶段 8 面试题与参考答案1. LLM 应用为什么特别需要可观测模型输出概率性、链路长多 Agent/工具、成本高且易错没有指标与链路就无法定位哪步出错、花了多少、是否超预算。2. 如何判断一次 Prompt 改版变好了用固定评测集对比准确率/合规率/人工评分等量化指标并做回归确保原有好用例不退化而非凭单次主观感受。3. 如何防范 Prompt InjectionSystem 强调安全边界与优先级隔离标记用户输入输出过滤敏感信息关键动作人工确认加护栏规则/模型二次校验。4. 什么是 HITL哪些操作必须人工确认Human-in-the-Loop关键节点暂停等人工审批并回流反馈。必须确认发消息、删数据、扣款、对外发布等不可逆/高风险/强合规动作。5. 为什么提示词也要版本化和灰度提示词直接决定输出质量与合规改动风险高版本化便于回滚审计灰度可在小流量验证后再全量降低事故。6. 如何降低高频问答系统的成本Prompt 缓存复用前缀RAG 只取相关片段按任务难度模型路由限制输出长度批量调用结果缓存。7. LLM 服务上线要考虑哪些运维要点容器化与弹性伸缩、限流保护模型配额、灰度与回滚、异步削峰、降级兜底、可观测与告警。8. LLM 日志有哪些合规风险如何处理风险泄露 PII、密钥、内部规则。处理落盘前脱敏、访问控制、最小化存储、审计留痕、按合规评估出境与备案。9. 模型分级路由有什么价值按任务复杂度选模型简单任务用便宜/轻量模型降本提速复杂任务才用强模型保质量整体在成本与效果间取平衡。10. 如何对 Agent 做评测回归构建评测数据集输入期望/评分标准每次提示词或模型升级在 CI 中全量跑用例对比准确率、幻觉率、工具成功率等指标不达标阻断发布。