自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 MAC Pychram开发外星人入侵小游戏填坑

MAC Pychram开发外星人入侵小游戏填坑最近自学python遇到一些坑,写下来供大家参考背景和飞船不展示mac下需要单独安装anaconda3,并且安装配置系统变量;下载anaconda3 可以自行在网上搜索下载,官网下载比较慢,可以去百度网盘下载,自行搜索;配置anaconda3系统变量echo 'export PATH="/Users/xxx/anaconda3/bin:$PATH"' >> ~/.zshrc```添加至系统变量并且source ~/.zshrc

2020-10-03 22:12:39 251

原创 我把Java多模态链路从0跑通了,结果先被4个坑狠狠干了一顿

我本来以为,今天这套 Java 多模态内容,最多就是照着文档把接口串一下:图片理解、图片生成、图文问答 API,两个小时差不多就能收工。结果一上手就发现,事情根本没这么简单。

2026-08-09 01:10:25 224

原创 为什么你的LLM服务慢到哭?vLLM三招让GPU利用率从24%飙到96%

文章摘要 vLLM已成为LLM生产部署的事实标准,通过三大核心技术解决传统推理框架的瓶颈问题:PagedAttention实现显存分页管理,将利用率从24%提升至96%;Continuous Batching支持请求动态进出,避免长请求阻塞;Tensor Parallelism实现多GPU模型切分。其四层架构(API Server、Engine、Worker、Hardware)各司其职,支持从单机Docker到K8s集群的灵活部署。与Ollama相比,vLLM专为生产环境设计,两者API兼容但适用场景不同。

2026-08-03 22:19:04 193

原创 M1 Pro跑LLM实测:Ollama+LangChain4j零成本本地大模型开发,比云端API快在哪?

本地大模型开发,听起来挺酷,但实际体验如何?今天在M1 Pro上把Ollama跑通,用LangChain4j

2026-08-01 00:35:21 377

原创 大模型应用测试,90%的人都在裸奔

摘要: 如何测试非确定性输出的LLM应用?作者分享了自研的Java测试体系,分为三层: Mock管道测试:通过预设响应模拟LLM调用,实现0 Token、毫秒级验证34条断言,覆盖安全、路由、输出等场景,发现正则匹配的语序敏感性问题。 LLM-as-a-Judge:用独立模型评估输出质量(准确性/完整性/安全性/格式),结合Mock测试确保逻辑与质量双达标,4条用例平均分4.94/5。 Badcase优化闭环:通过五步流程(注册→分析→修复→重测→对比)处理幻觉、工具调用错误等问题,修复后平均分从3.10提

2026-07-27 22:36:50 187

原创 LLM应用上线翻车记:5条badcase三轮回血,附线上真实打法

这篇文章讲述了大模型应用(LLM)质量管理的实战方法论。核心观点是质量问题需要闭环处理,通过"发现-分析-修复-验证-确认"的螺旋迭代提升质量。作者以5个典型badcase为例,展示如何分三步解决:1)结构化收集badcase;2)按优先级分析修复顺序;3)采用五步闭环(REGISTER-ANALYZE-FIX-RETEST-COMPARE)进行迭代优化。同时对比了教学版与生产环境的差异,强调线上需要工程化实现自动采集、定时分析、灰度验证等能力。文章最后指出,LLM质量管理不是追求初始完美,而是建立可持续改

2026-07-22 22:43:29 242

原创 两个大模型同时翻车了--LLM应用A/B测试避坑实战

本文通过对比测试GLM-5.1和Qwen3-8B模型,总结了四个关键发现:1)Prompt泄露是LLM通病,需依赖管道层防御而非模型自身;2)模型延迟与参数量无必然联系,推理基础设施影响更大;3)主流模型均已具备稳定输出JSON能力;4)83毫秒的回归测试套件是模型切换的安全网。文章详细介绍了A/B测试框架设计、自动评分机制和Mock驱动的回归测试方法,强调模型评估应基于数据而非直觉,并提供了应对面试常见问题的技术方案。最后指出Prompt注入防御需在管道层实现,不能依赖模型自身防护。

2026-07-18 21:56:05 240

原创 让AI给AI当法官:手敲LLM-as-a-Judge评估系统,25次调用跑出最弱维度

本文介绍了LLM-as-a-Judge(大模型评估大模型)的完整实现过程。作者从最小Demo入手,逐步构建了一个自动化评估系统,包含三种评估模式(单回答打分、答案对比、标准答案对齐)。文章详细拆解了Prompt设计、输出解析、评估维度和工程实现中的关键点,并分享了实际测试中发现的性能瓶颈(超时问题)和优化方案。通过Java+LangChain4j实现,该系统可对LLM应用的回答质量进行量化评估,解决了人工评估慢、贵、不一致的痛点,为AI应用开发提供了可靠的自动化测试方案。

2026-07-14 01:29:07 236

原创 Agent测试到底怎么测?手写ReAct循环+工具调用链验证+决策路径断言,一套全跑通

文章摘要:构建高效Agent测试体系的实践与思考 本文深入探讨了Agent测试的独特挑战与解决方案。作者指出Agent测试比传统单元测试和RAG测试更难,因其需要验证工具选择、参数生成和调用顺序三个不确定点。文章提出了"控制大脑,验证手脚"的测试策略,通过Mock预设LLM决策序列,用Recorder记录Agent行为,再验证两者一致性。 实践部分展示了四个关键步骤:搭建可录制工具体系(装饰器模式)、实现ReAct决策循环、多轮对话测试(指代消解与上下文累积)、决策路径断言(防止"结果对但路径错")。最终构

2026-07-11 20:41:48 194

原创 RAG系统上线前,我如何用三个指标把幻觉率从40%压到5%以下

这篇文章主要分享如何通过三个关键指标(召回率、精确率、幻觉率)评估和优化RAG系统,将幻觉率从40%降到5%以下。作者从传统单元测试的局限性出发,详细解释了这三个指标的计算方法和相互关系,并提供了Java实现的核心代码。文章重点介绍了幻觉检测的三种策略(关键信息匹配、NLI模型验证、LLM自检),以及如何构建评估pipeline和优化Top-K参数。最后还分享了线上监控方案,强调持续测试对RAG系统的重要性。全文以实战为导向,包含可直接运行的代码示例,适合开发者参考实施。

2026-07-09 00:34:36 315

原创 23个测试全绿,一个Token没花——LLM应用的单元测试该怎么写?

这篇文章探讨了LLM应用测试的困境与解决方案。传统单元测试因LLM输出的非确定性(如温度采样、模型更新)而失效,导致同一输入可能产生不同但均正确的输出。作者提出采用Mock LLM策略,在单元测试阶段隔离不确定性,通过预设响应队列、调用记录和异常模拟来验证业务逻辑(如Agent流程、路由决策),而无需调用真实API。文章还展示了如何用Java实现MockChatModel,并应用于7模块Agent管道的测试,覆盖正常对话、恶意输入等场景。该方案实现了快速、稳定、零成本的单元测试,同时明确了Mock LLM的

2026-07-07 23:28:29 234

原创 7个节点串成Agent管道,6个场景全过,但和线上的差距都在细节里

维度我的Demo线上系统差距评级安全防护关键词匹配分类模型+向量检索+红队🔴 P0缓存策略精确匹配语义缓存+多级缓存🟡 P1模型路由静态规则动态决策+闭环反馈🟡 P1上下文管理摘要压缩+向量检索🟡 P1可观测性事后统计实时流式+全链路追踪🟡 P1容错降级无重试+熔断+Fallback链🔴 P0两个P0是硬伤:安全防护和容错降级。这两个不解决,系统上不了线。四个P1是进阶:缓存、路由、上下文、可观测性。这些决定了系统"能用"和"好用"之间的距离。

2026-07-02 23:31:38 199

原创 你的Agent每次调用花了多少钱?我手写了一个Token追踪器,发现了3个意外

上周我的Agent跑了一整晚的任务链–5个模型轮番上阵,42次API调用,第二天醒来一看账单,懵了。花了多少钱?哪个模型最慢?输出质量有没有退化?全不知道。这不是我一个人的问题。踩完这些坑,我总结出一条铁律:生产级Agent必须有三层监控–Token追踪(花钱账本)+ 质量预警(健康体检)+ 调用链可视化(病历档案)。缺任何一层,你都是在盲人摸象。这篇文章从Week6的4个AtomicInteger计数器开始,一路走到Week7的生产级可观测性四件套。全Java手写,零依赖,控制台直接看。

2026-06-25 00:01:44 162

原创 正则过滤就能防Prompt注入?我复现了4种攻击,发现正则只是L1

本文通过复现四种Prompt注入攻击,揭示了仅依赖正则过滤的局限性,并对比真实生产系统的安全架构。要点如下: 攻击复现:测试客服Agent时发现间接注入最危险,可诱导模型泄露系统提示词中的敏感信息。其他攻击手法还包括越狱、多模态注入、编码绕过等,均利用模型无法区分指令与数据的缺陷。 防御方案: InputGuard(L1):正则规则能拦截已知攻击模式,但无法应对变体或编码绕过。 OutputGuard:通过敏感信息脱敏和内容检测兜底,防范间接注入泄露。 生产系统设计:Claude Code、OpenClaw

2026-06-23 00:34:07 200

原创 调一次大模型API花多少钱?三件套让成本砍掉80%

不是所有任务都需要最贵的模型。简单分类用大模型就是浪费,复杂推理用小模型就是翻车。怎么让每次调用都花在刀刃上?

2026-06-21 16:50:15 307

原创 你的AI在第4轮对话就失忆了——滑动窗口的致命缺陷与摘要压缩的救赎

摘要:本文揭示了滑动窗口记忆管理的致命缺陷——AI在4轮对话后就会遗忘关键信息,如用户姓名和偏好。通过对比实验,作者展示了摘要压缩技术的优势:通过LLM提炼核心实体并滚雪球式更新,确保关键信息不丢失。文章还对比了滑动窗口与摘要压缩在性能、成本和适用场景上的差异,指出滑动窗口仅适合短对话原型开发,而摘要压缩才是生产环境长对话的可行方案。最后提出Redis持久化方案,解决跨会话记忆问题,为工业级应用提供完整记忆管理路径。

2026-06-19 18:08:23 258

原创 LLM返回的JSON总是缺字段?一个required数组,治好了我的null恐惧症

文章摘要: 本文探讨了如何通过JSON Schema约束LLM的结构化输出,解决字段缺失和类型错误问题。作者对比了两种实现方式:LangChain4j的AiServices自动推断(简洁但控制力弱)和手动构建JsonSchema(复杂但精确)。文章重点分析了两个关键陷阱:必须使用@UserMessage注解和显式声明required字段,否则会导致解析失败。此外还介绍了流式输出的实现方案,强调JSON必须完整接收后才能解析。最后提供了不同场景下的技术选型建议,帮助开发者在便利性和控制力之间做出平衡。

2026-06-19 00:03:46 192

原创 LoRA微调到底省在哪?4GB显卡也能跑7B模型,全量微调反而大冤种

摘要: 本文深入解析了大模型微调的三种主要方法——全量微调、LoRA和QLoRA,帮助读者根据实际需求选择最合适的方案。全量微调效果最佳但成本高昂,适合拥有GPU集群的场景;LoRA通过仅训练0.2%参数实现高效微调,是8-24GB显存设备的首选;QLoRA进一步通过4bit量化降低显存需求,使4GB显存也能运行7B模型。文章通过比喻和表格对比,清晰阐述了各方法的优缺点及适用场景,并提供了决策树和面试常见问题解答,强调大多数情况下LoRA已足够满足需求,全量微调仅适用于极端资源充足的场景。

2026-06-17 01:12:06 313

原创 4个Agent审一段代码,效率反而更高?——LangChain4j多Agent协作代码审查实战

摘要: 在构建LangChain4j多Agent代码审查流水线时,通过4个专业Agent(CodeReader、CodeAnalyzer、CodeSuggester、CodeValidator)的分工协作,实现了高效代码审查。关键发现包括: 多Agent协作优势:通过条件分支设计(问题多时深度循环审查,问题少时快速单次审查),4个Agent分工处理不同阶段任务,比单Agent全流程处理效率更高。 踩坑经验: 参数声明陷阱:@V声明的参数必须在Agentic Scope中存在对应key,否则报MissingA

2026-06-14 23:49:08 195

原创 你的Agent上线了,但Token消耗是0——不是没花钱,是框架bug让你看不到

文章摘要 本文记录了开发Agent监控代码时遇到的Token统计为0的Bug及其解决方案。作者发现LangChain4j agentic beta版存在一个框架级Bug——AgentInvocationHandler.invokeStandaloneAgent()方法会传入null值,导致从AgentResponse获取的TokenUsage始终为0。虽然实际已扣费,但监控系统无法获取真实Token消耗数据。 为解决这个问题,作者通过以下步骤实现绕过方案: 首先开发TraceListener实现Agent执

2026-06-14 00:37:41 399

原创 Python手敲while循环,LangGraph4j用一条边就搞定了——Java Agent Workflow范式转换实录

本文介绍了Java版LangGraph4j框架的核心优势与应用场景。通过对比Python手写Agent Workflow的实现方式,作者发现LangGraph4j实现了从命令式编程到声明式图的范式转换,将复杂的流程控制逻辑转化为图结构中的边关系。文章重点解析了三大特性: 条件分支:通过addConditionalEdges替代if/else路由,实现动态路径选择 循环机制:用图的边表达循环逻辑,替代传统的while循环 高级功能:包括并行执行(需显式配置线程池)、Checkpoint暂停恢复和子图封装 每个

2026-06-12 02:09:09 351

原创 Agent路由该让LLM自己选还是代码说了算?三种模式实战对比

本文探讨了Agent路由决策的三种模式:确定性条件路由(Conditional)、LLM监督路由(Supervisor)和阈值循环迭代(Looping)。通过代码示例对比分析,得出核心结论:在业务流程固定的场景下应优先使用确定性路由,LLM自主决策仅适用于不确定任务类型的情况。确定性路由具备完全可控、可追溯的优势,而Looping模式通过代码判断阈值实现可靠迭代,避免了LLM自评的主观性。文章还分享了Python模块导入和JSON解析的实际开发经验,强调工程实践中可靠性和可维护性比单纯追求"智能"更重要。

2026-06-10 01:22:27 215

原创 你的AI Agent为什么每次对话都“失忆“?三层记忆模型彻底解决

文章摘要: 本文深入剖析了AI Agent的三层记忆系统设计。通过对比OpenClaw和Hermes两大生产级Agent的实现,作者指出仅依赖对话历史(短期记忆)会面临token爆炸、任务污染和跨session失忆三大痛点。解决方案是构建三级记忆体系:1)短期记忆采用滑动窗口+摘要压缩控制token增长;2)工作记忆通过AgenticScope隔离任务状态,避免key污染;3)长期记忆实现索引层与详情层级联检索,解决知识持久化问题。文中展示了完整Python实现代码,并揭示关键设计

2026-06-09 08:00:00 196

原创 手敲三Agent串行流水线,我发现了多Agent协作的隐形杀手

本文探讨了多AI Agent串行协作中的核心挑战——信息传递导致上下文膨胀问题,并提出了解决方案。作者通过实际案例(代码审查流水线)展示了自由文本传递导致的token爆炸问题(1800字报告导致504超时),进而分析四大生产级Agent架构(OpenClaw、Hermes、Claude Code、Codex)的处理策略,最终提出三个关键设计原则: 结构化传递:用JSON替代自由文本,token消耗可降低90% 上下文隔离:每个Agent只关注自己的输入,不继承历史对话 信息粒度匹配:传递"对方需要知道什么"

2026-06-08 00:41:29 166

原创 四大AI Agent架构拆解:我手敲了一个迷你版,发现了7条可迁移的设计原则

四大AI Agent架构拆解:我手敲了一个迷你版,发现了7条可迁移的设计原则

2026-06-06 14:13:44 409

原创 手敲500行Python Agent,再用LangChain4j重写——同一个Bug让我怀疑模型2小时

文章摘要 作者分享了开发一个5工具Agent的踩坑经历。使用Python从零实现时,因工具注册代码执行顺序问题导致LLM未走标准FC通道,花费2小时排查才定位到Bug。Python版共544行代码,包含大量手动维护的JSON Schema、Agent循环和兜底逻辑。改用LangChain4j重构后,通过@Tool注解自动生成Schema,用AiServices.builder()简化流程,代码缩减至354行,框架自动处理了75%的底层逻辑。对比显示,LangChain4j显著减少手动代码量,避免执行顺序等低

2026-06-04 00:19:16 227

原创 Day32:Agent想读/etc/passwd?我拦了它两次——3道锁看透Agent安全设计

这篇文章详细介绍了如何为AI Agent设计三道安全防线: 权限分级:通过字典配置每个工具的权限等级(自动执行/需确认/需确认+白名单),核心思路是将LLM的意图与执行权限分离。 人类确认:对敏感操作要求人工审批,参考Claude Code的权限管线设计,确保关键操作必须经过人类决策。 输入校验:在工具层面实施严格检查(SQL防注入、路径白名单等),作为防御prompt injection的最后屏障。 文章强调安全设计的核心原则是"不信任任何输入,实施纵深防御",这与传统Web安全思路一致。

2026-06-02 23:14:06 334

原创 Agent不会干活?我给它加了3个工具,从FC到MCP一条线看透工具链进化

摘要:本文通过实践三种工具(天气查询、MySQL查询、文件操作)的Agent开发,揭示了LLM本质只会生成"工单"而非执行操作。作者详细记录了从Function Calling(FC)到MCP协议的进化过程:首先用OpenAI SDK实现天气API的FC闭环;随后在数据库查询中因中文charset问题排查半小时,强调统一编码的重要性;最后通过FastMCP实现自描述服务,无需硬编码即可动态发现工具。文章指出工具链正从"单人干活"(FC本地调用)向"团队协作"(MCP分布式通信)演进

2026-06-02 00:59:27 235

原创 Day30:Java程序员的多Agent协作实战:我手敲了一个代码审查流水线,跑通了

LangChain4j的agentic模块确实把这事儿变成了几行Java代码的事

2026-05-31 22:01:03 372

原创 Day29:LLM不会调函数?Function Calling两轮对话真相+MCP/Skills/A2A四层进化全景

你以为LLM真的在'调用函数'?错。它只下了一张工单,你的代码才是干活的人。从FC到MCP到Skills到A2A,一条进化线看透AI工具系统的前世今生。

2026-05-29 01:14:14 405

原创 Day28:手敲了3种Agent范式代码后,我终于看懂了Anthropic那7个模式图

这篇文章深入解析了Anthropic提出的7种Agent模式,并将其归纳为三大核心范式:Plan-and-Execute、Reflection和ReAct。作者通过手写代码示例展示了每种范式的实现逻辑,揭示了主流Agent框架的设计思路。文章指出,Plan-and-Execute适用于流程明确的任务,Reflection适合需要迭代优化的场景,而ReAct则能处理开放性任务。特别强调Augmented LLM是所有Agent的基础,而真正的Autonomous agent需要LLM自主决策。

2026-05-28 01:51:10 377

原创 Day27:RAG优化7天实战:从纯向量到企业级,踩过的坑全在这了

RAG系统优化实验:Hybrid Search是关键基座配置 本文记录了一周RAG系统优化实验的核心发现。实验表明,Hybrid Search(向量+BM25)不是可选优化项,而是系统从"不可用"到"可用"的必要基础配置。纯向量检索在模糊问题上拒答率高达80%,加入BM25后降至0%。 关键结论: Hybrid Search通过RRF融合(k=60)实现语义与关键词检索优势互补 相似度阈值0.5最优,可过滤低质量检索但不能替代知识库外检测 Rerank能提升精确率但依赖外部API

2026-05-21 19:51:28 359

原创 Day26:多路召回加了第三路,结果跟两路一模一样——RAG检索不是路越多越好

摘要: 实验表明,在小知识库(<1000 chunks)场景下,多路召回中的第三路(精确匹配)并无实际增益。通过5类问题测试发现,hybrid_rerank(向量+BM25两路)与multi_route(三路)的top1结果完全一致。核心结论:①小知识库两路足够;②10万+规模多领域混合场景才需第三路;③精确匹配结果应保留原始权重而非依赖Rerank排序。优化建议:优先优化chunk划分和embedding模型,误召回控制用Rerank score阈值比向量阈值更有效。

2026-05-21 00:48:45 405

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除