- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 Agent 调用慢在哪?我用 Arthas 把一次调用拆成了 8 段
Arthas 帮我看清的是"Java 这一侧的每一毫秒"。看清之后你会发现,优化 Agent 性能的思路和优化普通服务没本质区别:找出最慢的那段,砍掉它。只是以前最慢的往往是 DB 或 RPC,现在多了一个要单独观测的"模型"和"上下文"。工具是老的,用法得换。连续几篇都挺"硬",下一篇轻松点,盘一盘后端转 Agent 该关注的那些 GitHub 项目。
2026-10-11 21:10:38
185
原创 Java 的 try-catch 在 Agent 里失效了,我用了 5 个模式才兜住
try-catch 是"事后兜底",Agent 需要的是"事前防御 + 事后兜底"一起上。try-catch 没死,只是从"唯一的兜底手段"降级成了"兜底的一部分"。真正兜住 Agent 的,是上面这一整套防御纵深。下一篇聊聊可观测性——真出了问题,你怎么看清 Agent 到底卡在哪一步。
2026-10-09 21:03:46
149
原创 Agent 的单测到底怎么写?我把 Java 测试金字塔搬过来,撞了三堵墙
Agent 里你能单测的,只有不依赖模型的部分;依赖模型的,只能评测,测不了"对错"。所以别再拿测试金字塔直接往 Agent 上套。真正值钱的是那条分界线——把"你的逻辑"从"模型的智能"里切出来。切得越干净,能单测的越多,质量越有底。这也是我在设计 Agent 时特别强调把 glue code 写薄、把工具写成可 mock 接口的原因——不是洁癖,是想测它。
2026-10-07 20:07:20
172
原创 23 种设计模式,在 Agent 里还活下几个?
数完了,我的结论是:23 个模式里,约 7 个活得更好,9 个基本死了,剩下 7 个变形后活下来。死掉的那些,恰恰是 Agent 框架替你干掉的。模板方法死了,是因为 LangGraph 把流程编排做成了图;命令模式死了,是因为工具调用成了框架原生能力。所以别急着说设计模式过时。那些"变形活下来"的模式,背后是同一个老手艺——在持续变化里保持结构清晰。手艺没过时,只是载体从类图换成了图、从继承换成了编排。
2026-10-05 20:01:30
163
原创 Agent 差点把我内部接口调乱了:Java 后端给 Tool Calling 兜底的 4 个套路
让 Agent 调用内部 RPC,这事一点也不神秘,别把它当成什么「AI 原生」的新玩意。说到底它还是个接入问题:一个会出错、会被注入的「调用方」,要接进你本来设计给可信服务之间的接口上。别把模型当可信代码,把它当不可信的外部输入。这四个套路——白名单、校验、分级留人、审计——就是想明白这一点之后,自然会长出来的防御。如果你也在让 Agent 碰内部接口,建议先从第一节和第三节开始:一个决定「能调什么」,一个决定「什么必须留人」。这两件做好了,剩下的是锦上添花。有踩过别的坑的,欢迎评论区交流。
2026-10-04 23:16:50
180
原创 多 Agent 工作流实践:从单打独斗到协同作战
把复杂任务拆解成可管理、可测试的小单元;用明确的角色和协议,取代含糊的巨型 Prompt;用结构化的交接和显式的终止条件,换取工程上的可控性。先从最简单的流水线开始,验证有效后再加并行和迭代;让交接结构化;给每个 Agent 划清边界;永远设置终止条件。多 Agent 不是银弹,但当你把「团队协作的思维方式」用在模型编排上时,很多原本做不动的复杂任务,会突然变得可拆、可做、可交付。
2026-10-04 00:00:09
189
原创 OpenClaw 实战:5类人群的效率提升指南
本文通过5个真实场景,详解如何用 OpenClaw 重构个人工作流。涵盖知识工作者、程序员、内容创作者、学生、超级个体5类人群,提供可落地的效率提升方案和实操配置指南。
2026-03-27 23:22:00
386
原创 Harness、Skills、MCP、GUI Agent——搞懂 AI Agent 控制外部软件的完整生态
方案成熟度适用场景推荐指数Skills高固定流程任务、能力扩展强烈推荐Harness高复杂编码任务、专业代理推荐MCP高有标准服务接入需求推荐GUI Agent低无 API 的桌面软件谨慎使用能用 API 的不走协议,能走协议的不走 GUI。这是 AI Agent 控制外部软件的最佳实践。写于 2026-03-25 | 基于 OpenClaw 架构研究整理。
2026-03-27 17:13:58
833
原创 AI Agent 技术栈全景:2026 年如何选型与落地
## 三层记忆架构| 记忆类型 | 作用 | 存储内容 | 持久化 ||---------|------|---------|--------|| 短期记忆 | 当前对话上下文 | 完整对话历史 | ❌ 会话结束清空 || 工作记忆 | 临时变量和状态 | 任务进度、用户偏好 | ❌ 任务结束清空 || 长期记忆 | 跨会话知识 | 用户画像、历史记录 | ✅ 持久化存储 |### 记忆检索:MIPS 技术长期记忆的核心是。:只解决"开发"问题,不解决"生产运行"问题,无原生的集群调度、高可用容灾能力。
2026-03-24 14:02:59
536
原创 架构选型深度分析:Spring AI vs Python(Flask + React + Milvus + MongoDB)
多维度对比Spring AI与Python/Flask架构选型:Spring AI吞吐量42000 QPS,是Python/Flask的4.4倍,延迟<10ms、有10倍优势,还具备完整ACID事务和类型安全;Python/Flask的Agent能力更丰富。企业级应用优选Spring AI 1.0,其高性能支撑电商高并发,有开箱即用的企业级特性、适配RAG/Agent的AI能力,且维护成本低。Python/Flask适配快速原型验证、复杂多Agent系统,架构决策需结合业务,优先考量性能与企业级功能。
2026-02-09 01:23:52
340
原创 为什么Java工程师更适合做企业级Agent开发?
企业级AI Agent开发为何更青睐Java工程师?本文从OpenClaw、Nanobot等本地部署工具切入,剖析企业级Agent面临的万级并发、分布式事务、遗留系统集成等隐藏复杂性。对比Python的快速原型优势,Java凭借类型安全、JVM企业级运行时(Project Loom虚拟线程、ZGC低延迟GC)及Spring生态的渐进式增强能力,在确定性输出、可观测性、安全架构等维度展现独特价值。通过LangChain4j与Spring AI的实战案例,揭示Java工程师在领域建模、集成模式、数据一致性等"
2026-02-07 22:17:34
766
原创 ArrayList -- 使用ensureCapacity()在不知道数据多少的情况 提高扩容效率
ensureCapacity()方法是什么?ensureCapacity()是 ArrayList 源码中的方法,是提供给用户调用的ensureCapacity()方法能做什么?在 ArrayList.add操作 大量元素之前用 ensureCapacity 方法,以减少 增量重新分配1的次数。自定义扩容倍数(默认是1.5倍),这是我推理出的作用(仅供讨论)分析推理过程首先减少增量重新分配的方法我所知的有两种:new ArrayList(初始化容量)初始化容量ensureCapacit
2021-05-31 22:44:35
625
原创 (java基础)代码块的使用场景
1、单例模式场景:当一个类需要new()很多次的时候 ,我们往往使用单例模式减少JVM内存的使用,而当单例中的数据需要初始化最开始我的写法:private static RestTemplate restTemplate = new RestTemplate();private static HttpHeaders headers = new HttpHeaders(); public...
2020-05-01 17:54:05
878
原创 webSocket连接错误原因
1、在SSM架构中正常使用的代码,迁移到Spring Boot中出现错误我是@ServerEndpoint注解方式实现报错:这绝对是个坑!!!错误原因:要注入ServerEndpointExporter,这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint。要注意,如果使用独立的servlet容器,而不是直接使...
2018-06-05 17:48:00
40463
6
原创 java.lang.NoSuchMethodError 错误的原因及解决办法
不多说,先贴上错误=========== 详细: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.Sta
2017-11-01 11:48:58
56255
1
原创 第三方jar包导入maven项目问题
使用maven走过的坑导入第三方jar包dos窗口输入mvn install:install-file -DgroupId=com.timevale.esign.sdk -DartifactId=tech-sdk -Dversion=2.0.7.GA -Dpackaging=jar -Dfile=D:\MyRepertory\tech-sdk-2.0.7-jar-with-dependencies
2017-10-10 15:30:58
1999
转载 解决maven3.5.0项目报错“JavaServer Faces 2.2 can not be installed : One or more constraints”问题
springboot+maven框架搭建
2017-09-29 17:14:37
4521
rocketmq-console.war
2017-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅