自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AI人工智能--DeepSeek Harness 选择哪种模式?

*做日常的项目开发、日常多文件重构、日常写代码和 Bug 排查,直接选 Standard 模式。**它是最均衡、最全能的日常开发搭档。加载了最完整的全套工具链。包括文件读写、Shell 终端、网络检索、子智能体(Sub-agents)、计划(Plans)和工作流等。) 中,官方自带了几种不同的预设运行模式,它们加载的插件组合和使用场景各有侧重。在 DeepSeek Harness (

2026-08-18 23:56:26 267

原创 AI人工智能--DeepSeek Harness的安装

是深度求索(DeepSeek AI)开源的本地优先、基于插件架构的 Agent 运行/开发环境(Coding Agent Harness)。之后就可以在本地的 DeepSeek Harness 中引入项目,让 Agent 写代码、读写文件、执行 Shell 命令、进行多文件重构了。它的核心特色是允许开发者把模型、工具、沙箱、会话存储、甚至是整个智能体的循环逻辑(Agent Loop)全部拆卸、替换或重新组装。上面的命令,通过 npx 每次动态拉取,如果每次都要执行,还是有点麻烦,可以使用全局安装命令。

2026-08-18 23:45:00 349

原创 AI人工智能--DeepSeek Harness

之后就可以在本地的 DeepSeek Harness 中引入项目,让 Agent 写代码、读写文件、执行 Shell 命令、进行多文件重构了。它的核心特色是允许开发者把模型、工具、沙箱、会话存储、甚至是整个智能体的循环逻辑(Agent Loop)全部拆卸、替换或重新组装。在安装前,请确保你的电脑上已经安装了 Node.js(官方推荐较新版本,如 Node.js v22 及以上)。上面的命令,通过 npx 每次动态拉取,如果每次都要执行,还是有点麻烦,可以使用全局安装命令。直接拉起 Web UI 界面。

2026-08-18 23:42:51 348

原创 AI人工智能的基础概念

模型可以根据用户意图,自动识别出需要调用的外部 API 参数(如查询天气、订机票、执行 SQL),并输出结构化的 JSON 数据,交由后端程序执行。为了解决大模型“知识滞后”和“幻觉”问题,RAG 在模型回答前,先去外部企业知识库中检索相关文档,将检索到的内容作为背景补充送给大模型,让大模型“开卷考试”,大幅提升回答的准确性。指大模型在缺乏事实依据的情况下,一本正经地编造错误或不存在的信息。编写自动化评估流水线,对 RAG 的召回率、Agent 的成功率、回答的准确性进行打分,充当 AI 的“单元测试”。

2026-08-18 16:04:23 338

原创 AI大模型--Function Calling是什么?

Spring AI 可以使用@Tool声明一个工具,并用@ToolParam描述参数。/*** 查询指定地区的天气。*/ @Tool(name = "getWeather" , description = "查询指定中国城市或省份的天气。用户询问天气、温度或是否适合出行时调用。") public WeatherResult getWeather(@ToolParam(description = "需要查询天气的中国城市或省份名称") String city) {

2026-08-17 20:59:14 357

原创 AI大模型-- RAG(检索增强生成)的简单理解

一个完整的企业级或个人级,包含的完整闭环系统。

2026-08-14 11:43:55 402

原创 AI大模型--RAG 返回一大堆不相关内容,怎么解决?

如果一个文件被粗暴地切成了三块,说明块的粒度可能太粗或切分点不对,导致一块里包含了多个不同模块的内容。RAG “单文件拆分块数多、检索返回一堆不相关内容、信噪比低”的问题,这在 RAG 开发中非常经典。如果当前只用了纯向量检索(Cosine / L2),很容易因为“语义模糊”把不相关的块拉进来。既然你的文件包含“很多模块的内容”,可以在入库时让解析器识别出每个 Chunk 属于哪个模块。要让检索结果从“返回一大堆”变成“精准高相关”,

2026-08-13 20:14:28 363

原创 RAG Rerank(重排)框架 -- Cohere Rerank

Cohere Rerank 在商业化 RAG 架构中非常成熟、效果非常稳健,是各大主流 AI 框架(LangChain、LlamaIndex 等)默认首选的重排(Rerank)方案。免费的 Key ,Rerank 接口的每分钟请求限制(RPM)是 10 次 / 分钟。Cohere 免费的 Key 有每分钟请求次数(Rate Limit)的限制,适合个人开发、RAG 测试。如果是企业级别的,需要付费。点击该 Key 旁边的复制按钮,保存到你的本地配置文件(如 Spring Boot 的。

2026-08-13 17:40:04 214

原创 AI大模型--RAG Rerank(重排)

RAG(检索增强生成) 系统中,Rerank(重排) 解决了 RAG 中最痛的一个痛点:返回一大堆内容,很多都是不相关的。或者说,答案找出来了,但排在十几名开外,被一堆无关的噪音淹没,导致大模型看不见或选错。Rerank(重排)能够让 RAG 系统的精度更高和相关性更高。1.商业 API 方案(开箱即用、免运维)2.开源方案(数据安全、零 API 成本)

2026-08-13 17:26:23 295

原创 SpringAI的简单理解

确保本地已经存在模型,模型下载详情见:https://blog.csdn.net/sinat_32502451/article/details/163534744。它的核心宗旨是将 Spring 开发者熟悉的“依赖注入、统一抽象、声明式配置、面向接口编程”等生态优势,完美复刻到 AI 和大模型开发领域。Java 业务代码本身是供应商无关的。spring-ai官方文档: https://docs.spring.io/spring-ai/reference/index.html。的调用代码可以保持不变。

2026-08-06 14:40:19 207

原创 本地大模型管理框架 Ollama及模型

个人电脑 16G的,可以使用 qwen3:8b ,或者 qwen2.5:7b, 如果还想用来写代码,可以选择 qwen2.5-coder:7b。免费,不用花钱买云端 API,不需要联网把数据发送到云端大厂的服务器上,让大模型在你的电脑上离线运行。打开电脑的命令行,输入以下命令,下载大语言模型(LLM),比如阿里的 qwen 系列。下载好模型后,后续如果想要运行模型,通过 ollama run 命令即可运行。在success 的后面,就可以直接向模型提问问题了。开源模型:免费,阿里的 qwen 系列。

2026-08-06 14:04:00 296

原创 AI编程-- Codex ,要用哪些模型和推理强度

例如:常规功能开发、接口联调、一般 SQL/Java 修改、普通排障。官方将 Sol 定位为复杂开放任务、Terra 为日常全能、Luna 为明确可重复任务。例如:批量生成 DTO、提取/分类数据、格式转换、按规则改文件、结构化总结。例如:大型重构、疑难 Bug、架构设计、代码审查、复杂需求实现。对大部分的项目,用 Sol + Medium 就够了;批量、规则明确的代码生成用 Luna + Low。模型:Sol、 Terra、Luna,:复杂、模糊、需要判断和打磨的任务。:目标明确、可重复、量大的任务。

2026-08-03 15:46:26 509

原创 AI编程-- 软件开发,AI 可以做什么?

每开发完一个需求,最好问一下AI,不然有可能连具体流程和怎么实现的都不清楚。将页面截图发给 AI, 让 AI 分析具体是哪些接口,使用的是哪些字段。“文件中的这个页面,是哪些接口,使用了哪些字段?“xx这个功能是哪个接口?通过 AI 查找页面接口。

2026-07-30 21:11:51 239

原创 大批量数据,增删改查,要注意什么?

利用大数据或调度框架(如 XXL-JOB等),在夜间或业务低峰期,把大批量数据的统计结果提前计算好,存入统计表中,最后在请求时查询统计表的数据。如果真的必须得删除,可以先新建一张新的表,将数据导入新的表,全量迁移,并将新的表修改表名,观察几天平稳运行后,最后再删除旧表。避免长事务: 更新涉及大量数据时,不要在一个大事务里完成,否则Undo Log 暴增,且长时间占用连接池和锁资源。尤其是千万级别的大表,不能直接删字段,可以Rename字段,视为废弃字段。假设没有大数据相关的组件,那么有很多的要点需要注意。

2026-07-29 21:16:43 211

原创 阿里云--数据库性能监控及查看慢sql

响应时间大于阈值的 SQL 会被定义为 Slow SQL。表格仅展示查询时段内,响应时间大于当前设定阈值(500ms)的 Slow SQL。TopSQL 是指在指定时间范围内,按照 SQL 的总响应时间进行倒序排序,排名靠前的 SQL。常用的一般是 云数据库 RDS(Relational Database Service),是关系型数据库,包含最常用的 mysql。也可以点击 TopSQL 查看最耗时的sql。阿里云-- 产品与服务-- 数据库,再点击数据库实例,就可以进入数据库。即可查看查慢sql。

2026-07-26 10:20:55 199

原创 AI编程 -- Agents.md 的简单示例

甚至可以把 阿里巴巴java开发规范写到 Agents.md 中。可以注明是所有,这样就不用反复地在新的工作区中声明。以下是一个 非常简单的 Agents.md 示例。可以让 AI 编码工具添加新的规范。

2026-07-22 21:14:31 93

原创 AI编程-- Spec Coding 模板

简要描述实现思路。

2026-06-27 10:15:26 229

原创 AI编程--自动化处理

数据库链接可以写到 agent.md 文档里面,这样可以让 AI 自己去查数据库,自己去分析。AI生成的代码,最好要有单元测试,让AI每次都去跑一下单元测试。确保修改的代码是可控的。如果能提供Bug的链接,让AI 去读取链接中的Bug,让AI自己读,让AI自己修改。再把接口的 curl 或者入参出参给 ai , 让它自己去分析,去改 bug。在用 AI编程时,尽量减少手动介入,能自动化的全让AI自动化。如果能通过Mcp授权,还可以让AI自己去找日志,自己分析。比如 数据库、日志,让 AI自己去分析处理。

2026-06-13 22:04:56 96

原创 地图技术后端开发的知识点

高德地图的坐标会有偏移(使用火星坐标系),所以会导致两个问题: (1)在地图上标记位置,高德直接返回的经纬度会与真实经纬度有偏差。(2)输入正确的WGS84坐标,在高德地图上标记后,会发现位置不正确,但其实经纬度本身是正确的,只是背后的图层有偏移。GCJ02坐标系:火星坐标系,WGS84坐标系加密后的坐标系;WGS84坐标系、GCJ02坐标系、BD09坐标系、CGCS坐标系,各个坐标系的转换。WGS84坐标系:地球坐标系,国际通用坐标系;BD09坐标系:百度坐标系,GCJ02坐标系加密后的坐标系。

2026-06-10 21:23:31 208

原创 AI编码--codex账号怎么解决电话号码是必填项

最近openAi的 codex,针对某些账号,要求填写电话号码才能正常使用。claude code,这种需要注册号码或短信的,也都可以使用接码平台。OpenAI 对美国、英国等热门地区的号码风控极其严格。尝试冷门地区:可以在接码平台尝试一些非主流国家的号码。添加您的电话号码以继续。网上的接码平台非常多,找AI搜索一个就行。可以使用接码平台,提供的虚拟号码。一次性验证码进行验证。换个“国家/地区”。

2026-06-07 11:10:35 5725 2

原创 StopWatch工具类

【代码】StopWatch工具类。

2026-06-06 00:09:44 37

原创 AI编程--AI账号管理工具Cockpit Tools

Cockpit Tools 是一个 AI账号管理工具,可以管理 codex、 claude code 等账号。点击 “Open In Browser”,然后授权即可。

2026-05-25 22:57:02 355 1

原创 AI编程 --常用的 Skill

对应文件: 寻找 instructions/java-refactor-expert.md 或 skills/clean-code.json。仓库地址:https://github.com/sickn33/antigravity-awesome-skills。仓库地址:https://github.com/decebals/claude-code-java。仓库地址: github.com/decebals/claude-code-java。适应场景:review代码。适用场景:调试,修复问题。

2026-05-12 23:41:07 468

原创 AI编程 -- codex

详情见: https://blog.csdn.net/sinat_32502451/article/details/160869062。可以写个 .md (也就是 markdown) 文档,放到项目里面,让 AI 遵循文档内的规则去运行,这就是 Spec coding。:/代码审查,让 AI 对当前的代码变更进行自检,寻找潜在的 Bug 或性能瓶颈。在这个场景下,输入参数xx,结果会出现yy,处理一下,让输出结果变成 zz。AI 生成的代码,一分钟可以有几千行,人是不可能看得过来的。

2026-05-12 23:39:19 1430

原创 AI编程 -- codex 计划模式

问清楚需求后,codex 会生成一份计划,包括各种技术实现的细节,并询问用户是否实施计划,用户如果选择是,就会根据计划生成代码。codex 会问几个跟需求相关的问题,用户选择对应的选项。AI会先问好几个问题,等搞清楚了细节,做好了计划,计划模式,就是输入需求后,不会直接生成代码,进入计划模式后,就会出现 计划 这个图标。接下来,跟平常的 AI 编程一样,输入需求。用户确认实施计划,AI 再生成代码。通过 /计划,或者是 /plan,

2026-05-07 22:40:57 547

原创 Kafka 跨服数据同步

本文档描述一种基于 Kafka 的跨区域(多机房/多地域)数据同步方案,重点讲解技术原理、实现细节与工程实践。Kafka 跨服同步的本质是“事件驱动 + 幂等消费 + 补偿治理”。具备上述能力后,可在保证可扩展性的同时,实现跨区域数据的高可用同步。,非分布式强一致事务。

2026-05-07 22:31:37 377

原创 AI编程 -- codex添加代码,在intellij Idea中没有显示,如何处理?

选择 Add silently, 并勾选 Apply to files created outside IntelliJ IDEA。就在 Confirmation 第一行的选项。

2026-05-06 22:25:30 196

原创 AI编程-- codex并行开发需求

打开后就可以右键这个类,通过点击 Open In ,在 Windows/Mac 显示该文件。代码生成后,将鼠标放在 codex 相关类的上面,可以看到 代码对应的工作树的路径。AI 在那个隐藏路径下写的代码,现在就出现在主项目里了。右键codex 聊天的窗口,选择 “派生到新工作树”。就切换到B工作树的聊天窗口,给AI提另一个需求。B工作树,对应另一个 git分支,开发B需求。A工作树,对应一个 git分支,开发A需求。可以看到,会有一个新工作树的聊天窗口出现。打开后就可以看到 新工作树里面的代码了。

2026-04-23 23:09:23 853

原创 游标分批查询,提高查询性能

利用主键(或唯一索引)的有序性,每次记住上一次查询的最后一条 ID,下一批只取 ID 更大的记录,直到取完。如果使用 LIMIT 分批查询,查到最后几页时,由于偏移量越来越大,查询会越来越慢。数据表,在查找大批量数据,或者滚动查询页面时,可以使用游标分批查询。这种方式可以避免使用 OFFSET 导致的大偏移量性能问题。如果使用全量查询,可能会因为查询时间过久,触发超时。数据表,在查找大批量数据,或者滚动查询页面时,游标分批查询,也就是根据id 分批查找。

2026-04-23 22:39:15 63

原创 @PostConstruct的使用

那么在启动服务之后,新增的配置项,PostConstruct无法获取,只能重启服务才能获取到最新的配置。可见在 @PostConstruct 注解的方法中已经赋值成功,其他普通方法可以获取到值并使用了。@PostConstruct 是在项目启动时,构造方法之后运行的,因此新增的配置项不会生效。比如,在 @PostConstruct 修饰的方法中,查询数据表的配置,写入到Map中。毕竟是放到内存里面的,数据量过大,会占用大量的内存,严重时还会导致OOM。但是,如果数据量比较大,最好不要全部预加载。

2026-04-23 22:09:00 84

原创 common二方包太大,如何处理?

很多项目,都会有一个基础的 common 模块,也就是个二方包。用来放置一些实体类,Dto,Vo这些。比如与user 相关的,新增的实体类放到 user-api 下面,service方法在 user 里。user-api : 放实体类entity 和 service ,以及 rpc 相关的方法。user : 放业务逻辑。user 服务依赖 user-api。新增的实体类,放到各自的api模块里,编译时间会比较久,影响效率。

2026-04-23 21:59:04 47

原创 查询数据库,一次性全量查询会超时,如何优化

优化逻辑:利用主键(如 uuid 或自增 id)的有序性,记录上一批次最后一条数据的“位置”。当 OFFSET 很大时,数据库需要扫描并丢弃大量行,性能会急剧下降。优点:每次查询都走索引定位,执行效率恒定在毫秒级。适用场景: 大批量数据查询、 APP 无限滚动。不要使用 LIMIT OFFSET。能加索引的字段,都加上索引。

2026-04-16 00:11:58 68

原创 20多个表,每个都有userId 和其他几个属性,要根据userId把他们全部汇总,如何处理?

如果直接用 JOIN 拼 20 张表,上百万行数据在执行时会产生巨大的笛卡尔积风险,且极易触发 MySQL 的溢出或者超时。面对 20多张表 的全量字段合并(宽表化),这是一个 ETL(抽取、转换、加载) 过程。每张表单独更新到宽表中,这样即使某张表数据有问题,也不会影响整体流程。这 20 张表参与关联的 user_id 必须全部建有索引。按 userId 汇总关联 20 张表。的方式,分步写入一张中间宽表。先创建一个包含所有字段的宽表。

2026-04-14 22:57:30 232

原创 Dbeaver 报错 Access denied for user ‘root@null‘@‘xx.xx.xx.xx‘ (using password: YES)

检查是否有 allowPublicKeyRetrieval 选项,将其设置为 TRUE。DBeaver 在连接某些国产数据库或云数据库时,可能需要开启特定的驱动属性。在连接上点右键 -> 编辑 连接 (Edit Connection)。进入 驱动属性 (Driver properties) 标签页。检查 useSSL,如果是内网连接,尝试将其设为 FALSE。二、设置好 dataBase的名称。DBeaver 连接属性配置。

2026-04-14 22:43:19 116

原创 Dbeaver导入导出

它会将 INSERT 语句变成 INSERT INTO table VALUES (…的形式,这是提升速度的关键。这个值建议设为 1,000 ~ 2,000。注意:Commit after row insert 必须大于等于 Batch Size。csv导入,速度会比大批量的 insert/update sql语句更快一些。从一个数据表导入到另一个数据表,这种导入方式,比csv 还快。可以选择 csv 导入,或者从一个数据表导入到另一个数据表。这种方式的导入速度是最快的,也不容易有格式兼容的问题。

2026-04-14 00:08:23 748

原创 java接口参数为空,没有显示参数

【代码】java接口参数为空,没有显示参数。

2026-04-13 23:51:53 36

原创 统计数据时,sql执行超时,如何处理

在工作中,除了开发,有时还需要做一些数据统计。统计数据时,sql执行超时。可以通过以下手段处理。

2026-04-03 00:09:13 138

原创 mysql 的查询条件放在 join on 和 Where 的区别:

当你在使用 LEFT JOIN 却发现查出来的数量比预期少时,应该检查 WHERE 子句里是不是引用了右表的字段。在连接时进行筛选,不符合条件的右表记录会被当作不存在,但左表记录依然保留。连接完成后,对整个结果集进行大扫除,不符合条件的行直接整行删掉。

2026-03-30 23:57:48 85

原创 DataGrip数据导入导出

如果通过 Insert 的sql语句,或者excel 导入,会慢很多。进入DataGrip 的数据库,找到 tables 数据表。导入选择 Import Data from File(s)。导出选择 Export Data to File。点击 Import/Export ,

2026-03-30 23:54:49 325

原创 multipartFile 或者 inputStream 每次通过 dubbo传输就会报错,怎么处理?

InputStream 通过 Dubbo 传输确实会有问题,因为 InputStream 是不可序列化的。

2026-03-16 23:42:03 77

空空如也

空空如也

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

TA关注的人

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