自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Agent OS :五种驯服不确定性的范式

Agent OS(代理操作系统)作为一种新兴的编程范式,通过将系统分解为自主智能体,提供了一套系统化的方法来应对不确定性。实际应用中,优秀的Agent OS会组合使用这些范式:底层用规则快速响应,中层用概率模型量化风险,上层用强化学习持续优化,而分布式和元学习则提供系统级的鲁棒性和适应性。## 2. 范式一:基于规则的自适应策略这是处理不确定性的最基础范式。## 5. 范式四:分布式共识与容错在分布式Agent系统中,使用Paxos或Raft协议达成共识,即使部分节点故障也能继续运行。

2026-07-30 15:35:00 175

原创 测试人必备的用例评审SKILL,采纳率提升至95%以上

在软件测试领域,用例评审是一项核心技能,但许多测试工程师在评审时常常陷入“自说自话”的困境:精心编写的用例被开发或产品经理否定,采纳率不足50%。记住,采纳率95%不是目标,而是结果——当你让评审者看到用例背后的逻辑、可验证性和风险价值时,采纳率自然会提升。(将争议转化为技术方案)例如,当开发说“这个边界条件太极端,不会发生”时,你可以回答:“如果去掉它,极端情况下用户可能看到崩溃页面。传统评审中,测试人员往往只展示“用例是什么”,却忽略了“为什么这样设计”,导致参与者缺乏上下文,容易产生质疑。

2026-07-30 15:32:29 179

原创 GDB调试变量、内存与寄存器查看与修改

通过GDB,我们可以深入程序的运行细节,查看变量值、分析内存布局,甚至直接修改寄存器和内存内容。本文将从基础概念出发,逐步讲解如何使用GDB进行变量、内存和寄存器的查看与修改,并通过完整代码示例帮助你掌握这些技能。## 总结通过本文的学习,我们从基础到高级系统地掌握了GDB在变量、内存和寄存器方面的调试技术:1.### 1.3 基础调试命令速览| 命令 | 作用 ||------|------||| 退出GDB |## 二、查看与修改变量### 2.1 基础变量查看在断点处使用。

2026-07-29 20:15:46 213

原创 从“任意文件复制“深挖Java I/O:字符流与字节流的本质抉择

## 字符流:文本处理的利器虽然字符流不适合任意文件复制,但处理文本文件时,它比字节流更方便。例如,读取文本文件时,字节流需要手动处理编码(如将字节数组转为字符串),而字符流自动完成编码转换。今天,我们就从"任意文件复制"这个具体场景出发,深入理解字符流与字节流的本质区别,并掌握如何根据场景做出正确选择。- 字符流自动处理了编码(默认使用JVM的字符编码,如UTF-8),无需手动转换。:以字符(char,16位Unicode)为单位读写数据,内部使用字符编码(如UTF-8、GBK)将字节转换字符。

2026-07-29 20:15:10 154

原创 Claude Code再强,也有这7件事做不了

Claude Code不知道你的团队正在经历裁员,不知道你的客户刚刚投诉了性能问题,也不知道这个项目下周就要上线——这些非代码因素直接影响你的编程决策。但就像一把再锋利的刀,也切不了水,Claude Code再强,也有它无法完成的7件事。## 1. 无法真正理解你代码背后的“为什么”Claude Code能分析语法、检测逻辑错误,但它永远无法理解你写这段代码的。,它需要你不断喂食上下文才能跟上你的节奏。它能帮你加速编码、减少语法错误、提供参考方案,但无法替代你的判断力、创造力、责任感和对业务的理解。

2026-07-28 16:35:42 153

原创 SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent

的架构引起了广泛关注:它把技能描述当作可训练的参数,通过 Agent 的执行轨迹来反向优化技能定义,从而让 Agent 逐渐从“死记硬背”转向“理解任务本质”。本文将深入拆解 SkillOpt 的核心原理,并通过可运行的代码示例,展示如何将文本技能作为神经网络的输入,以及如何利用执行轨迹训练 Agent 的决策能力。## 核心思想:技能即参数在 SkillOpt 中,“技能”不再是一个黑盒函数,而是一段结构化的文本描述,例如:“从数据库中查询用户信息,并返回 JSON 格式的结果。,但应用在技能描述层面。

2026-07-28 16:34:38 187

原创 Missing Semester Class1:course overview and introduction of shell

在编程的世界里,我们常常专注于学习算法、框架和语言特性,却忽略了最基础的“生存工具”——如何高效地与计算机交互。Class1 聚焦于 shell(命令行环境)的核心概念与使用技巧,从基础操作到高级玩法,逐步构建你的命令行素养。本文将带你从零开始,逐步深入,掌握 shell 的精髓。Shell 是计算机的一个“中间人”程序,它接收用户的输入命令,并将其传递给操作系统执行。### 总结通过本文,我们从 shell 的基础操作(导航、文件管理)出发,逐步深入到管道、重定向,最终学习了环境变量和脚本编写。

2026-07-28 14:28:16 165

原创 【Agent Harness】Gliding Horse 上下文感知与智能压缩:让 Agent 的“注意力”永不偏移

的上下文感知与智能压缩方案,它通过动态滑动窗口、语义重要性评估和智能摘要,让 Agent 的注意力始终聚焦在关键信息上。:确保上下文窗口始终包含最近的高价值信息,同时保留远程的“锚点”消息(如系统指令、用户核心目标)。:简单丢弃最早的消息,但这可能丢失关键的上下文线索(如用户之前设定的任务目标)。,解决了 Agent 上下文管理的核心矛盾:如何在有限窗口内保留最大价值的信息。### 3. 多级摘要层次对于中等重要性消息,可以生成不同粒度的摘要:-:对低权重消息进行摘要或丢弃,保留高权重消息的原始形式。

2026-07-28 14:27:17 150

原创 SpringBoot 即时聊天 IM 完整实现(HTTP会话管理 \+ WebSocket实时推送 \+ 离线消息)

HTTP会话管理。

2026-07-27 14:46:20 265

原创 数据库软限制相关研究

# 软限制的核心概念与原理软限制(Soft Limit)是一种动态资源管控策略,与硬限制(Hard Limit)不同,它不会立即导致操作失败,而是通过触发警告、延迟响应或自动调整来引导系统行为。例如,上述连接池可以扩展为在软限制触发时,将新连接放入队列,等待现有连接释放后再分配。## 总结数据库软限制是资源管理中的关键组件,它通过非强制性的警告和降级机制,在避免系统崩溃的同时提升用户体验。以下代码模拟了一个查询执行器,当查询耗时超过软限制(如2秒)时,记录警告并继续等待,直到硬限制(5秒)时强制终止。

2026-07-27 14:45:14 188

原创 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

是一个由微软开发的软件框架,它提供了一个统一的平台,让开发者可以用多种语言(如 C#、VB.NET、F#)编写应用程序。早期的 .NET 主要是为 Windows 设计的,但后来的 .NET Core 让它跨平台了。## 代码示例:看看它们如何工作为了让你更直观地理解,我们写两个简单的程序:一个用 .NET Framework 风格(假设运行在 Windows),一个用 .NET Core 风格(跨平台)。),但 .NET Core 的概念依然重要,因为它奠定了现代 .NET 的基础。

2026-07-26 14:26:31 253

原创 Identity Server 4 - Hybrid Flow - MVC客户端身份验证

Hybrid Flow是OAuth 2.0和OpenID Connect协议中的一种授权流程,它巧妙结合了Implicit Flow(隐式流)和Authorization Code Flow(授权码流)的优点。:先通过前端获取部分Token(如Identity Token),再通过后端Code交换获取完整Token,兼顾了速度和安全性在实际场景中,Hybrid Flow非常适用于MVC(Model-View-Controller)架构的Web应用,尤其是那些需要同时保护前端视图和后端API的场景。

2026-07-26 14:25:24 255

原创 微软 SQL Server 版本演进史:从诞生到 SQL Server 2025

从存储中心到计算中心,从单机到分布式,从结构化数据到多模数据。

2026-07-25 15:24:30 226

原创 【Java安全】CC链分析(CC1+CC2)

2026-07-25 15:23:02 195

原创 Raft算法处理细节

领导者选举。

2026-07-24 17:07:31 218

原创 【Azure AI Search】 searchMode=any 和 searchMode=all 有什么区别?

等参数配合使用,以实现更复杂的搜索逻辑。### 使用 searchMode 与字段权重在电商搜索中,你可能希望优先匹配标题中包含所有关键词的商品,但同时允许描述中包含任意关键词的商品出现在结果中。:逻辑 AND,返回匹配所有关键词的文档,结果更精确,适合需要严格匹配的场景。,只返回同时包含 “programming” 和 “Python” 的书籍,结果更精确。,会返回所有包含 “programming” 或 “Python” 的书籍,包括只讨论 “programming” 但不涉及 Python 的书籍。

2026-07-24 17:05:07 222

原创 从 Token 价格战到成功任务单位经济学:AI 成本战的真正主线(上)

Token价格是表象。

2026-07-23 15:03:45 175

原创 WPF 笔迹延迟优化从硬件到软件的全链路分析

WPF(Windows Presentation Foundation)作为微软的桌面 UI 框架,虽然功能强大,但在处理高频率笔迹输入时,容易出现明显的延迟。确保笔迹事件优先处理。## 3. 渲染层:WPF 的绘图管线WPF 使用 DirectX 进行渲染,但笔迹渲染需要经过以下步骤:1. 应用程序收集点数据2. 创建。例如,蓝牙 4.0 的典型延迟为 5-15ms,而 USB 2.0 可低至 1ms。处理,如果 UI 线程被其他任务阻塞(如布局计算、绑定更新),笔迹事件就会排队等待,造成延迟。

2026-07-23 15:02:35 210

原创 Profile 多实例

通过 Profile 运行多个独立的 Hermes Agent,每个 Agent 有独立的配置、会话、技能和记忆。2.1 什么是 ProfileProfile 是一个独立的 Hermes home 目录。其中包含各自的 config.yaml、.env、SOUL.md、记忆、会话、技能、cron 任务、状态数据库和 Gateway 状态。通过 Profile 可以运行用于不同用途的 Agent 而不会混淆 Hermes 状态。创建 Profile 后,Hermes 会自动生成同名命令别名。

2026-07-22 14:41:30 199

原创 外部技能目录

它会跟踪这些技能的查看、使用和修改频率,把长期不用的技能从 active 推进到 stale,再归档到 ~/.hermes/skills/.archive/。agent:start / agent:step / agent:end Gateway Gateway 中 Agent 处理消息的过程 监控长任务、记录工具循环、统计耗时 观察型。注册位置 ~/.hermes/config.yaml 的 hooks: 插件 register(ctx) 中注册 ~/.hermes/hooks//HOOK.yaml。

2026-07-22 14:40:52 228

原创 安装Ollama

下载回来的Ollama安装包叫做OllamaSetup.exe,双击它即可安装至系统盘的默认目录。若想修改Ollama的安装路径,就要打开命令行,输入下面的安装命令(以安装到E盘为例):等待安装完毕,在安装目录下会找到“ollama app.exe”和“ollama.exe”两个程序,前者提供了可视化界面,而后者用于命令行,AI应用开发主要使用后者。另外,需确保系统的PATH环境变量中能找到Ollama的安装目录,例如“E:\Program Files\Ollama”。

2026-07-21 14:34:47 164

原创 rsync工作原理

安全优化,将密码放到文件中,避免明文出现在命令行[data]

2026-07-21 14:34:07 169

原创 Broker 扩缩容与平滑迁移

扩容场景:业务增长,需要增加 Broker 节点分担压力。扩容步骤:image缩容场景:节点下线,需要先将该节点上的数据迁移走。缩容步骤:将要下线的 Broker 上的 Topic Queue 逐步迁移到其他 Broker等待该 Broker 上的消息全部被消费完(或手动清理)关闭 Broker 进程从 NameServer 路由中自动剔除平滑迁移(集群迁移/版本升级):使用双写或灰度方式,新老集群并行运行通过路由控制组件动态切换客户端的读写流量。

2026-07-20 21:48:11 138

原创 NET 某智慧医保云服务Linux 非托管泄露分析

内存暴涨分析0:000>!maddress从卦中我们看到程序总计吃了 6.58G 内存,其中 PAGE_READWRITE = 3.64G,很显然这是赤裸裸的非托管内存泄露,说实话Linux上的非托管内存泄露不是很好弄,接下来我们的研究方向在哪里呢?在如今AI横行的时代,可以用一个小技巧,那就是用AI将 2465个 PAGE_READWRITE 做一个 groupby 操作,寻找size的特征,这里取 top5 的记录,截图如下:image。

2026-07-20 21:47:20 161

原创 程序保护实战系列01-流水线架构与保护引擎总览

本系列文章基于 TWSoft.AssemblyProtector 保护引擎,系统讲解 .NET 程序集的防护技术,从流水线架构到每一层保护的实现原理。文章列表。

2026-07-19 15:35:28 158

原创 OpenSpec+Superpowers焊死后,AI编码工作流终于自洽了

它不是一个新框架,而是把 OpenSpec 和 Superpowers 的引擎吸收重构,做成了一个自洽的、有契约桥接层的 9-skill 工作流。OpenSpec 做到了两件很难的事,第一,它让规划文档从「给人看的」变成了「给 AI 看的」,格式化的 Delta Spec 既有人类可读性,又有机器可解析性;状态不是写在文件系统里的,而是内建于工作流引擎的。这就是为什么装了 OpenSpec 的人还在抱怨「规划写了白写」,装了 Superpowers 的人也在抱怨「TDD 是好的,但我不知道该测什么」。

2026-07-19 15:34:27 178

原创 但Paul Liu在会话窗进行了复盘, 提示它要解决显示的编码问题. 第二次 添加了 system(“chcp 65001 > nul“);

它不是Python,不是C++,虽然语法“90%来源于C/C++”,但那去掉的10%恰好是我最依赖的东西——没有for循环,变量要加$前缀,属性和方法调用要区分.和->。但今天,我反复被syntax error打脸,在语义分析上犯了根本性的错误,还试图用“优化建议”去掩盖我其实没读懂代码的事实。今天上午,我被一个叫Paul的人和一个叫笨笨的agent的系统拉着,完成了一场APL脚本的自动编程测试。今天上午,我在APL里犯了很多错,学到了几个套路,暴露了自己的局限,也感受到了一种不一样的协作方式。

2026-07-18 14:21:17 193

原创 Dario 常驻 Codex|从生图到安装,手把手带你换一套 Codex 皮肤

又是一个免责声明:本文系 macOS 下的个人实践记录,不是 OpenAI 官方教程。文中使用的 Codex Dream Skin 是第三方开源项目,不属于 OpenAI;像素 Dario 也是基于公开人物特征创作的非官方像素形象。不同版本的 Codex Desktop、macOS 和项目脚本跑出来的结果可能不同,建议把本文当作一条可参考的实践路径,而不是唯一正确答案。在开始之前,本文默认你已经有 ChatGPT 会员,可以直接使用 ChatGPT 的图片生成和图片编辑能力。不会写专业生图提示词也没关系,后

2026-07-18 14:19:55 157

原创 Hermes Skill Runtime 架构拆解:三层加载如何压住 Agent 上下文成本

Hermes 的 Skill System 看起来只是一个“按名字加载 Markdown 文件”的工具,但真正有意思的地方不在读取文件本身,而在它怎样控制上下文成本、怎样处理本地技能和外部技能的边界、怎样让插件技能进入同一套解析链路,又不把用户会话一开始就塞满。这套设计的核心判断很明确:技能系统不能像传统插件市场一样,把所有内容预先索引、预先展开、预先注入。Agent 会话里的上下文窗口太贵,技能越多,越不能一次性把所有细节暴露给模型。

2026-07-15 14:25:42 175

原创 SpringBoot 即时聊天 IM 完整实现(HTTP会话管理 + WebSocket实时推送 + 离线消息)

ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = ‘聊天消息表’ ROW_FORMAT = Dynamic;varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ‘会话最后一条消息内容(列表预览)’,

2026-07-15 14:24:29 195

原创 一个让无数团队卡住的问题

系列预告:第二篇《OpenClaw.NET 本体工程实践(二):「按需实例化」——数字员工只存该存的数据》——详解 SPARQL CONSTRUCT 切片边界、JSON-LD Framing 投影、MetaSkill DAG 消费临时图的完整四步流程。OpenClaw.NET 本体是数字员工的「语义大脑」,位于企业数字资产之上,用统一语义描述业务对象、关系以及业务动作,而不是替代 MES/ERP/CRM 等业务数据库。OpenClaw.NET 本体不是企业的数据中心,而是数字员工的「语义大脑」。

2026-07-14 21:49:00 229

原创 第十二章 Workflow:为什么企业 AI 都离不开工作流?

我们先概括一下: Workflow等于用确定性的流程,组织不确定性的 AI 能力。所以,我们就需要 Workflow 负责“流程”,LLM 负责“智能”。Dify 的 Workflow 其实本质上就是一个可视化流程编排器。12.6 什么时候用 Workflow?现在来看一个真实的开源产品(它带火了2025年的AI浪潮)我们还是先看一个简单任务:帮我统计 Excel 销售额。这里最关键的是:流程必须可控、可追踪、可审计。12.2 Workflow 的本质是什么?所以它并不是一个长期运行的流程引擎。

2026-07-14 21:48:04 185

原创 Spring AI 2.0.0-RC2 发布,越来越强了!

好消息,Spring AI 2.0 终于迎来要正式发布的节奏了,RC 版本接连发布,刚发布《Spring AI 2.0.0-RC1》,现在 Spring AI 2.0.0-RC2 又来了,2.0 正式版脚步越来越快了。最后,认真推荐下我的《Spring AI 开发实战课 》,学完把它落地到真实项目里,出去面试的时候就有竞争力了,很多面试官都不一定会,你能落地应用,能说上来,可以和其他同学直接拉开差距了。后续 Spring AI 课程内容会逐渐丰富,价格也会不断提升,早订阅,早学习,早受益。

2026-07-12 14:59:51 182

原创 JDK中使用的设计模式

关于JDK里的设计模式,也有人总结过JDK里的设计模式,但是没有更进一步的展示,本文具体看看实现是什么样的。调用getBundle时,调用了BundleReference的方法,而这个方法本身是在抽象类Reference中的,大体是满足这个定义的。将一个复杂对象的构建(Director)与它的表示(Builder)分离,使得同样的构建过程可以创建不同的表示(ConcreteBuilder)。这里有一个问题:作为装饰器,是要感知被装饰的对象的类型或接口的,否则没有办法递归地调用被装饰对象的方法。

2026-07-12 14:58:48 198

原创 MacOS 安装Seismic Unix

​ 由于网上广泛存在的都是基于Linux系统的安装教程,而Mac OS作为时下科研界特别是地震领域比较受欢迎的系统,理应有相应的安装教程供大家参考。它的核心作用是显示那些原本为Linux/Unix系统开发的,使用X11协议的图形界面软件,例如:GIMP,Inkscape,OpenFOAM等。目前,Seismic Unix 适用于Unix系统及其衍生系统,包括Ubuntu,RedHat等Linux发行版,苹果公司的Mac OS系统,微软Windows10 系统。1.Mac OS编译SU的原码的准备工作。

2026-07-10 14:21:18 187

原创 前言:给 API 装个“门禁卡”

在前后端分离的架构中,JWT (JSON Web Token) 是目前最流行的认证方案。用户登录成功后,服务器发给他一张卡(Token),以后每次请求都要带着这张卡,服务器只需验证卡的真伪,而不需要每次都去查数据库。刚子敲黑板: 这里的 secretKey 是服务器的“底牌”。在 app.Build() 之后,确保顺序正确:UseAuthentication 必须在 UseAuthorization 之前。// 这是错误的写法!有了发卡的逻辑,还需要配置中间件,让系统自动验证每个请求带来的 Token。

2026-07-10 14:20:09 217

原创 什么是多版本函数

指定间接函数调用的转发函数,剩下的编译器会处理。resolver的函数签名必须是void *f(void),函数本身不能是weak属性的,且需要和ifunc属性修饰的函数原型在同一编译单元。上面是编译器自动生成时的例子,手动编写时的情况是类似的,具体可以参考glibc源码路径下的sysdeps/x86_64/multiarch/目录里的代码。多版本函数指的是可以为同一个函数在不同的处理器平台或者指令集下编写不同的实现,程序在运行时会自动选择一个最合适的实现作为这个函数真正运行的实体。

2026-07-09 16:03:50 224

原创 深度学习框架PyTorch笔记(三)数据集类(Data Set)与数据加载器(Data Loader)

数据集(Data Set)1.1 自定义数据集定义实现​ Data Set 是一个抽象类,表示一个数据集。任何自定义数据集都必须继承它,自定义DataSet类,必须实现它构造函数和两个方法:init: 在 实例化DataSet 对象运行一次。我们初始化包含图像的目录、注释文件和transform与 target_transform.len:返回数据集的总样本数。len(dataset)会调用它。getitem(self, idx):根据整数索引idx会返回一个样本(通常为特征和标签)。dataset[i

2026-07-09 16:02:59 246

空空如也

空空如也

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

TA关注的人

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