- 博客(64)
- 收藏
- 关注
原创 Agent 设计模式
模式核心特点一句话通俗理解Supervisor中央管控、被动执行“老板分配任务,员工只干活,结果老板审核”Handoff去中心化、主动接力“员工 A 做完自己的活,主动交给员工 B,全程无老板”Magnetic-One 核心是,融合 Planning Pattern;Agent 设计模式可分为 “单智能体基础执行” 和 “多智能体复杂协作” 两大类,前者聚焦 “单个智能体怎么做事”,后者聚焦 “多个智能体怎么协作”;
2025-12-08 22:47:33
815
原创 4 大主流思考框架:CoT、ReAct 、Plan-Act 与 Plan-and-Execute
ReAct 通过迭代的“思考-行动-观察”循环赋予了 Agent 灵活性和适应性,而 Plan-and-Execute 则通过“先规划后执行”的模式提供了更高的结构性和可预测性。Prompt 控制 / 模块化设计、规划策略、工具调度 / 使用、记忆机制、控制流与反馈、Agent 协同架构、以及工具库可扩展性 / 安全性,这些共同决定了一个 agent 表现的好坏,也诞生了现在各种各样的 agent 应用。
2025-12-08 14:28:29
999
原创 DDD 架构模式:原理、实战、防腐策略及优劣势分析
DDD 提供了处理复杂业务系统的系统化方法论,通过聚合、领域服务、限界上下文及防腐层实现业务逻辑集中管理和外部系统隔离。虽然初期学习成本高、开发复杂,但对中大型系统,DDD 能带来高可维护性、高可扩展性和业务一致性。
2025-12-07 15:30:42
1000
原创 示例代码详解DDD中常用的架构
领域驱动设计,即Domain Driven Design(DDD)。DDD是一套完整而系统的设计理论与方法,使得你的设计思路能够更加清晰,设计过程更加规范。DDD 善于处理与领域相关的拥有高复杂度业务的产品开发总之,DDD是专门为解决复杂性而诞生一套完整的理论方法DDD落地实现离不开Clean架构、六边形架构、CQRS、Event Source等思想。六边形架构的优势在于它的灵活性和可测试性。通过将领域模型与外部系统隔离开来,我们可以独立地测试领域逻辑,并对外部系统进行模拟或替代。
2025-12-07 15:30:34
1213
原创 DeepResearch、Deep Search 与 RAG 的深度解析
在获取了大量相关结果后,Deep Search系统会通过多种信号对结果进行重新排序和筛选,以确保最相关、最可靠的信息排在前面。这些信号包括:内容与查询主题的匹配度、信息的详尽程度、来源的可信度和权威性、内容的时效性,以及受欢迎程度等。经过深度排序后,系统可能将结果以精炼的列表或直接答案的形式呈现给用户。例如,在必应Deep Search中,用户会看到一个精心挑选的结果列表,其中每个结果都高度契合查询需求,甚至可能附有AI生成的摘要或对比分析,以帮助用户快速获取答案。
2025-12-05 23:59:28
845
原创 C++ 算法基础知识
上面这些基础知识就够你开始刷题了。当然,C++ 还提供很多其他数据结构,它们还有很多其他方法和 API,本文都没有介绍。因为一些高级数据结构会在后面逐步介绍,而每个结构的 API 也是可以在需要的时候查文档的,没必要一开始就全部记住。
2025-12-05 23:58:44
611
原创 Claude Code VS Cursor
语义上下文建模:claude.md是项目的符号表指令编译优化:结构化指令减少解析复杂度分布式版本控制:原子化提交策略应对AI的批量修改多模态特征融合:视觉+文本的协同理解AST级别模式匹配:深度代码风格学习静态分析集成:内置的代码质量检查性能vs质量权衡:理解不同场景的最优选择工作流自动化:将AI能力集成到开发流程声明式编程范式:从指令式向描述式转变效率优先和质量优先。没有绝对的好坏,只有适合与否。建议大家都亲自体验这两款工具,找到最适合自己工作流程的使用方式。
2025-11-22 22:45:31
1101
原创 Claude Code 原理
这个系统的成功在于其平衡了功能性、安全性、性能和用户体验,创建了一个真正适合生产环境使用的AI编程助手。其设计理念和技术实现为未来AI工具的发展指明了方向。,它不仅提供了实用的开发辅助能力,更为AI代理系统的设计和实现提供了宝贵的技术洞察和工程经验。Claude Code代表了AI辅助编程工具的一个重要里程碑。// 第3层: 并发安全性检查。// 第1层: 任务类型匹配。// 第2层: 上下文相关性。// 第4层: 性能优化。现代AI Agent系统。// 并发安全工具列表。// 非并发安全工具。
2025-11-22 21:07:07
653
原创 Claude Code 功能+技巧
Claude Code 并不是简单的 AI 编程助手,而是一个全栈 AI 开发工作站。理解项目结构自动提交代码生成文档 / 创建 PR执行测试 / 修复 bug编写脚本 / 管理成本配合其他 AI 模型,实现混合编程。
2025-11-16 22:50:31
1371
原创 GitHub Actions 和 GitLab CI/CD
特性生态系统深度集成于GitHub深度集成于GitLab配置方式一个仓库可以有多个 Workflow 文件 (在下)一个仓库通常只有一个文件核心概念事件驱动),强调由事件触发工作流阶段驱动),强调构建、测试、部署的流水线运行环境使用 GitHub 托管的Runner或自托管 Runner需要配置和注册(共享或私有)关键优势- 与 GitHub 生态无缝集成Actions 市场极其丰富- 对开源项目非常友好一体化平台,从规划到部署环境管理和审查应用功能强大可以自动配置如何选择?
2025-11-16 22:49:45
961
原创 claude code 食用指南
ClaudeCode是一款革命性的智能编程工具,它将AI能力深度集成到本地开发环境中,实现从"对话式AI"到"执行式AI"的跨越。️自动化开发全流程:从需求描述到成品交付的全自动代码生成🔍智能项目分析:快速理解复杂项目结构和代码逻辑🧩可扩展架构:通过MCP机制接入各类开发工具和服务⚡效率提升:自动化处理调试、重构、文档生成等重复性工作适用场景:全栈开发快速原型构建、遗留代码维护、技术文档生成、自动化测试等。具体来说,claude code的工具有这些创建目录。
2025-11-15 22:53:01
1570
原创 Langchain4j笔记+总结 2
通常情况下LangChain4j是允许我们指定文本片段的字符容量的,假设我指定单个文本片段的字符容量为300,那么在组合文本片段的时候,第一部分的自然段和第二部分的自然段的字符总和不到300,可以放到同一个文本片段中,但是。,因为将来如果检索出来的片段太多,一并发送给大模型,token的消耗是比较大的,而且分数低的片段你发送给大模型还会影响生成的结果,这里通过maxResults方法设置最大的片段数量后,它会保留分数最高的前几个片段使用。,例如有embed、embedall等等方法用于把文本片段向量化。
2025-11-15 20:09:45
1083
原创 MCP指南
mcp协议规定的是mcp-client与mcp-server之间的交互,而大模型与mcp-client的交互是。,Function Call规定了交互的数据形式等,而具体api调用每个语言都不同,比如Java使用spring ai,其他的还有langchain,这都不属于mcp的范畴。之间可以实现通信、发现彼此的能力、协商任务并开展合作,企业可以通过专业的智能体团队处理复杂的工作流程。个人 AI 助手: 结合 MCP,AI 助手可以直接访问用户的本地文件系统、日历、笔记等资源,提供个性化服务。
2025-11-02 23:21:10
1305
原创 java后端学习经验分享(大三进大厂版)
大家好,我是西安邮电大学的2027届学生。和很多人一样,我只是一个双非,而在现在这样一个卷学历的时代,我想要找到一份好的实习必然是很困难的。我先说一下我自己的情况,我是软件工程专业,学的是Java后端开发,在今年10月找到了美团的一份后端开发实习,也是我大学的第一份实习。那就有人要问了,java现在不是卷爆了吗?没错。所以如果还有一次选择的机会,我一定学前端(懂的都懂,现在前端学的人没有后端多,而且很多大厂对于前端的岗位开放了很多,属于是需求量增加了,而我们后端依旧在卷来卷去,不推荐哈,起码就是如果要进大厂
2025-11-02 22:06:51
2928
2
原创 仿Claude Code!Java实现一个支持命令行的CLI编程工具,打造属于你的AI Agent~
一个基于LangChain的交互式代码助手CLI工具,支持流式输出、工具调用和智能对话。
2025-10-12 16:35:26
334
2
原创 医疗小智笔记
Tool(name="预约挂号", value = "根据参数,先执行工具方法queryDepartment查询是否可预约,并直接给用户回答是否可预约,并让用户确认所有预约信息,用户确认后再进行预约。@Tool(name="预约挂号", value = "根据参数,先执行工具方法queryDepartment查询是否可预约,并直接给用户回答是否可预约,并让用户确认所有预约信息,用户确认后再进行预约。//如果没有指定医生名字,则根据其他条件查询是否有可以预约的医生(有返回true,否则返回false);
2025-10-01 17:07:23
716
原创 Langchain4j笔记
LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程。AIService使用面向接口和动态代理的方式完成程序的编写,更灵活的实现高级功能。MongoDB 是一个基于文档的 NoSQL 数据库,由 MongoDB Inc. 开发。NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。MongoDB 的设计理念是为了应对。
2025-10-01 17:07:15
1062
原创 Spring Task 定时任务
在Bean的方法上使用@Scheduled注解,指定执行策略。@Service// 固定速率(每隔5秒执行一次,不考虑任务执行时间)// 逻辑代码// 固定延迟(任务结束后等待3秒再执行下一次)// 逻辑代码// Cron表达式(每天12点执行)")// 逻辑代码@Scheduled参数详解Cron表达式秒 分 时 日 月 周 年(可选)。示例0 0 10 * *?:每天 10:00 执行。:每天 14:00 至 14:55,每隔 5 分钟执行。0 15 10?* MON-FRI。
2025-09-09 22:25:41
374
原创 springboot使用kafka
消息中间件开发的模块。它基于 AMQP 协议,提供了一套高层抽象和模板类,帮助开发者更便捷地实现消息发送和接收,支持多种 AMQP 消息中间件(如 RabbitMQ、Apache Qpid 等)。不过,此时的实现并不完全,不建议在生产环境中使用。版本开始真正全面摒弃 Zookeeper,使用新的元数据管理方式 Kraft,提高了 Kafka 的可扩展性、可用性和性能4。Kafka的Producer和Consumer需要手动管理连接和资源的关闭,因此在使用完毕后需要调用。方法在Kafka中发送消息。
2025-06-16 21:59:15
1694
2
原创 RabbitMQ在idea使用(项目举例)
在访问量剧增的情况下, 应⽤仍然需要继续发挥作⽤, 但是是这样的突发流量并不常⻅. 如果以能处理这类峰值为标准⽽投⼊资源,⽆疑是巨⼤的浪费. 使⽤MQ能够使关键组件⽀撑突发访问压⼒, 不会因为突发流量⽽崩溃. ⽐如秒杀或者促销活动, 可以使⽤MQ来控制流量, 将请求排队, 然后系统根据⾃⼰的处理能⼒逐步处理这些请求.要注意的是,当项⽬启动时,死信队列会实时消费。: 在很多时候应⽤不需要⽴即处理消息, MQ提供了异步处理机制, 允许应⽤把⼀些消息放⼊MQ中, 但并不⽴即处理它,在需要的时候再慢慢处理.
2025-06-16 21:59:00
1325
原创 阿里云服务器安装nginx并配置前端资源路径(前后端部署到一台服务器并成功访问)
运行以下命令,。运行wget命令。您可以通过Nginx开源社区直接获取对应版本的安装包URL,然后通过wget URL的方式将Nginx安装包下载至ECS实例。例如,Nginx 1.21.6的下载命令如下:运行以下命令,,然后。make./nginx没有报错信息则代表nginx启动成功!启动防火墙服务放行80端口重加载防火墙使修改生效查看状态重启停止kill -9 端口号。
2025-06-05 16:04:16
1350
原创 Linux上多个JDK版本如何管理+Maven多模块项目打包:Unable to find main class
在对父工程使用Maven命令进行打包时,common模块出现找不到主类的错误。因为common模块和pojo模块都是为server服务模块提供支持,所以肯定是没有主类的。将pom.xml文件中的Maven打包插件注释掉,只有存在启动类的模块(server模块)保留,注意父工程中的Maven打包插件也要注释掉。需要注意的是打包过程中会对测试类中的方法进行测试,可能会出错。为是单体架构的项目,所以启动类有且只有一个,其他模块有启动类或者是测试类都是没有意义的。再选择你想要的那个jdk的编号。
2025-06-05 15:42:40
358
原创 《黑马点评》实战笔记
首先在数据库连接下新建一个数据库hmdp,然后右键hmdp下的表,选择运行SQL文件,然后指定运行文件hmdp.sql即可(建议MySQL的版本在5.7及以上):下面这个hm-dianping文件是项目源码。在IDEA中打开。记得要修改数据库连接和Redis连接的密码:进行简单测试:将nginx文件复制到一个没有中文路径的目录,然后点击nginx.exe运行:在nginx所在目录打开CMD窗口,输入命令:start nginx.exe。
2025-02-04 17:12:07
1806
原创 Redis使用Lua脚本
考虑到脚本比较长的情况下,如果每次调用都需要将整个脚本传递个redis会占用较多网络带宽,为了解决这个问题,redis提供了EVALSHA命令,可以先将脚本加载到redis中,然后再通过sha1值调用脚本。redis在执行EVAL命令时会计算脚本的sha1值,并将值保存在redis中,下次执行EVALSHA命令时,会先根据sha1值查找redis中是否有对应的脚本,如果有则直接执行,否则会报错。需要注意的是,redis执行lua脚本和普通命令一样,都是会写入AOF文件和发布至主从复制连接上的,有两种方式。
2025-02-04 17:11:52
1196
原创 Jmeter使用教程
百度百科对Jmeter的介绍是:Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。
2025-01-17 11:18:02
1900
原创 SpringcloudAlibaba黑马笔记(部分)
网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程。语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。微服务架构, 简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独。互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这。比如说一个电商系统,里面会包含很多用户管理,商品管理,订单管理,物流管理等等很多模块,在分布式架构下,当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加。
2025-01-05 15:52:29
1181
原创 Gateway黑马笔记
不管是yml中配置的filters、default-filters还是GlobalFilter,其。我们配置时候配置的路由断言就是由断言工厂解析的,我们配置的是字符串,路由工厂则取解析。实现GlobalFilter接口即可(有web Flux的感觉)改着玩,如果符合要求就能请求成功,如果不符合要求就404了。和上一种配置的过滤器一样,区别在于全局过滤器可以自定义逻辑。访问user-service的接口即可看到打印。访问user-service的接口即可看到打印。可对进入网关的请求和服务的响应作处理。
2024-12-24 09:42:20
773
原创 Elasticseach黑马笔记
elasticsearch 支持对搜索结果的排序,默认根据相关度算分(_score)来排序。geo_bounding_box:查询geo_point值落在某个矩形范围的所有文档。geo_distance:查询到指定中心点小于某个距离值的所有文档。算分函数查询,可以控制文档相关性算分,控制文档排名。高亮查询,默认情况下,ES搜索字段必须与高亮字段一致;文档(document):每条数据就是一个文档。方式一:全量修改,会删除旧文档,添加新文档。高亮:就是在搜索结果中把关键字突出显示。
2024-11-25 21:45:45
1138
原创 RabbitMQ黑马笔记
建立connection创建channel利用channel声明队列利用channel向队列发送消息建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列。
2024-11-17 14:35:33
1631
1
原创 Docker黑马笔记
项目部署的问题:大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:这些服务会依赖于各种各样的应用,Node.js、Redis、RabbitMQ、MySQL等等,每一个服务的应用它们需要的依赖和函数库有差异,也有可能版本不同,所以依赖关系复杂,容易出现兼容性问题。·依赖关系复杂,容易出现兼容性问题·开发、测试、生产环境有差异Docker如何解决依赖的兼容问题的?将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包将每个应用放到一个隔离容器去运行,避免互相干扰。
2024-11-16 23:50:06
921
原创 JDBC概述
JDBC(Javadatabaseconnectivity)Java连接数据库技术,是Sun公司提供了一套API(Application Programming Interface应用程序编程接口),它为Java应用程序提供了一系列的类,使其能够快速高效地访问数据库它允许Java程序员使用标准的SQL语句来访问和操作关系型数据库。JDBC提供了一种标准的方式来连接到不同数据库的驱动程序,并且是Java EE平台上进行数据访问的基础。
2024-11-14 20:07:59
777
原创 Nacos黑马笔记
在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/releases如图:课程采用1.4.1.版本的Nacoswindows版本使用包即可。将这个包解压到任意非中文目录下,如图:目录说明:Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。如
2024-11-14 20:06:24
1385
原创 Feign黑马笔记
Feign已经集成了ribbon,可以自动实现负载均衡一般我们需要配置的就是日志级别一般用basic或none,如果是找bug的话,用full。
2024-11-11 20:56:40
839
原创 【详细】springboot部署至阿里云服务器(哀嚎版)
接下来通过xshell将其上传到阿里云服务器,先cd到/root下,创建springboot文件夹,专门用来存放springboot项目,再将项目jar包webchat-0.0.1-SNAPSHOT.jar传过去。注意:如果配置没问题还是访问不了就去检查安全组是否加进去了,项目中用到的端口号都要加进去,mysql:3306,redis:6379,tomcat:默认8080(我设置为8091)这里有两个选项,购买和免费试用,新用户可以免费试用三个月,我这里选择的是免费使用。
2024-11-01 23:14:27
1759
2
原创 Nginx笔记
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的器Web 服务/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx 可以作为静态页面的 web 服务器。
2024-10-23 23:32:00
1166
原创 瑞吉外卖项目
1.移动端与管理后台展示2.项目上线后3.管理后台登录4.管理后台详细页面二)角色分工(三)软件环境两端应用重新启动后,一切都可以了——/*** 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象* 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象]* 从Java对象生成JSON的过程称为 [序列化Java对象到JSON]*/super();//收到未知属性时不报异常。
2024-10-23 10:45:51
2428
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅