从今天起开一个固定栏目:每天读一本书,把里面的东西压缩到 20 分钟内读完,再写点自己的看法。方向是金融、AI、历史这三块——前两块是饭碗,最后一块是让人不至于把今年发生的事都看成世界末日。 这个栏目不打算做成读书笔记的搬运。我做了八年 Java 和 AI,又自己跑过出海盘子、也清零过两次,读这些书
「能不能不装 Python」 起因是运维同事的一个要求。我们的一个内部 Agent 需要在客户机房部署,而客户的环境管控很严:不能装 Python,不能连外网,只能给一个 JAR 包和一个 JDK 21。 我第一反应是这个需求没法满足——跑模型怎么可能不用 Python。然后我想起去年在技术雷达里标
「我们的知识库问答准确率只有 71%,要不要做微调」 去年 11 月,业务方拿着一份评测报告来找我:客服问答准确率 71%,离可用的 85% 差得远。他们的结论是「做微调,把行业知识训进模型」。 我说先别急,让我把两条路都跑一遍再决定。这篇是三个月实测的结果,包括所有成本数字。结论先放:我们最后选了
给 AI 服务调 JVM,我原来的经验全部失效了 我做 JVM 调优大概六年,给订单、支付、库存这些服务调过不下三十次,形成了一套肌肉记忆:Young 区给 1/3,MaxGCPauseMillis 设 100,开字符串去重,老年代增长超过 50 MB/min 就要警惕。 2025 年下半年开始接
凌晨两点的告警:Old 区 12 分钟涨满 2 月 18 号凌晨 2 点 07 分,值班电话响了。监控看板上,我们的智能问答服务实例 qa-svc-7d9f 的老年代曲线是一条近乎垂直的直线:从 1.2 GB 到 5.8 GB 用了 12 分钟,然后 Full GC,STW 4.7 秒,接着又是一条
从 2023 年 9 月到今天,虚拟线程我们用了两年半 JDK 21 发布是 2023 年 9 月,我们当年 11 月就把一个内部服务切到了虚拟线程,算是比较早的一批。到今天两年半,虚拟线程跑在我们 14 个服务上,处理过峰值 4.7 万 QPS 的流量,也引发过两次 P2 故障。 这篇不写原理,只
「为什么 Agent 调我们的接口总是调错」 去年 12 月,业务方提了个需求:让客服 Agent 能直接查订单、查物流、发起退款。我当时的反应是「这不简单吗,把现有的订单服务接口包一层给 Agent 调就行了」。 两周后我收回这句话。Agent 调用我们接口的失败率是 37%,其中大部分不是超时或
年初做技术盘点:Java 的启动性能和 AOT,现在到哪一步了 每年一月我会花几天时间把 Java 生态的重点项目过一遍,看看有哪些东西从「观望」变成了「可以用」。今年重点看了三块:Leyden 的进展、AOT 生态的成熟度、以及启动性能的现状。 结论先说:JDK 25 这一代,启动性能有了不需要改
多智能体上线两周,成本涨了 6 倍 十一月份我们把合同审查从单 Agent 改成了多智能体——一个主管 Agent 负责任务分解,下面挂了四个专职 Agent(条款抽取、风险识别、合规比对、历史案例检索)。理由是单 Agent 的表现遇到瓶颈:一份 40 页的合同要塞进一次上下文,模型经常顾此失彼,
向量检索选型:我们算了一笔账,最后没上专业向量库 十月份做知识库检索重构,团队里争论要不要上 Milvus 或者 Qdrant。我们已经在用 PostgreSQL(存业务数据 + 元数据),pgvector 扩展是顺手的选择,但大家都担心性能不行。 最后我们做了完整的压测和成本核算,结论是继续用 p
把工作流改成 Agent 三个月后,我们又改回去了一部分 去年我们的运维平台是一套硬编码的工作流:告警触发 → 按告警类型走固定的排查步骤 → 生成结论 → 通知。今年八月我们把它改造成了自主 Agent,让它自己决定调用什么工具、走几步。 跑了三个月,结论比较复杂:有些场景效果好得出乎意料,有些场
同事问:MCP 不就是 Function Calling 换了个名字吗 上个月内部分享会,我讲完 MCP 之后有同事问了这个问题。当时我答得不太好,说了些「更标准化」「生态更好」之类的空话。后来我认真想了想,也去读了规范原文,这篇算是个正经的回答。 结论是:不是换名字,是两个层次的东西。Functi
流式对话服务 OOM,堆转储里有 47 万个 ByteBuffer 十一月中旬的一个周一早上,告警炸了:智能客服服务的三个实例在 20 分钟内相继 OOM 重启。这个服务上线两个月一直很稳,堆 8 GB,平时使用率 40% 左右。 这篇是完整的排查过程。结论不复杂——流式响应没有正确关闭,但排查过程
新项目选了 LangChain4j,而不是继续用 Spring AI 我们团队的运维 Agent 一直是 Spring AI 写的,跑了半年挺稳。上个月开新项目——一个面向业务部门的合同审查 Agent,我评估了一圈,最后选了 LangChain4j。 这个决定在组内有争议,有人认为「统一技术栈」更
把 AI 塞进研发流程半年,哪些卡点活下来了 四月份我们开始在研发流程里加 AI 卡点,到这个月正好半年。团队 14 人,一共试过九个卡点,活下来五个。先说总体结论:AI 卡点的价值不在「生成了多少内容」,而在「拦截了多少问题」——纯生成类的(写文档、写注释)普遍活不下来。 我们试过的九个卡点 卡点
客服转来一条投诉:AI 给用户编了个退款政策 十月底,客服同学转来一条用户投诉,附了聊天截图: 用户:我这个订单上周下的,还能退吗? 机器人:可以的,我们支持 15 天内无理由退款,您直接在订单页面点击申请退款即可。 用户:我看到页面上写的是 7 天? 机器人:抱歉造成困扰,7 天是普通商品的标准,