自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CMake Presets + vcpkg 仍然不够:把“这次构建从哪里来”写进产物证据

CMake Presets 统一调用入口,vcpkg 清单锁定依赖意图,受控工具链约束机器环境,三者共同减少漂移。真正可靠的构建还需要干净 CI、解析清单、日志证据和产物身份证。目标不是让所有电脑看起来一样,而是让任何一次成功或失败都能沿输入链解释,并能在下一台机器上被验证。

2026-09-24 23:16:40 159

原创 KingbaseES 接上 MCP 之后:先用语义契约解决“SQL 正确,答案却不对

KingbaseES 接入 MCP 后,生成可执行 SQL 只是起点。指标目录约束词义,关系图约束连接,显式时间边界保证复现,证据包说明答案依据,语义回归防止升级漂移。把这些能力放在模型之外,数据库助手才能从“会写 SQL 的演示”变成能够解释每个数字为何成立的业务工具。

2026-09-24 23:16:05 144

原创 QQ 机器人“偶尔不回”最难查:为 AstrBot + NapCat 建一条可回放的消息链路

一条群消息至少会跨过五段边界:QQ 客户端把事件交给 NapCat,NapCat 通过协议适配层投递给 AstrBot,AstrBot 解析命令并组织上下文,模型服务生成结果,最后回复再次穿过适配层回到群聊。任何一段都可能成功接收但失败发送,也可能因重连而重复投递。因此“机器人没回”不是一个故障类型。它可能是事件根本没进入容器、被过滤规则忽略、排队超时、模型调用失败、输出触发安全策略,或者回包已生成但发送失败。只有先把链路拆成阶段,日志才有诊断价值。为每个入站事件生成统一的trace_id。

2026-09-24 23:15:29 196

原创 AI 会不会做原创科研:先用证据阶梯拆开“原创”这个词

为关键指标保存基线、中位数和长尾值,配置、依赖或数据变化后使用同一批固定样本回放,再补一组新鲜样本,防止流程只适配旧案例。每次变更写明假设、影响范围、观察窗口和回退触发器,结果不符合预期时恢复到已知状态,并核对临时文件、后台任务与权限是否一并清理。若提出未被测试的组合,也只能称候选,不应提前写成发现。自动化平台可以调度仿真、代码、仪器或数据分析,但每次运行都要绑定环境、依赖、输入哈希、随机种子和原始输出。评估时必须保存检索范围、时间截点、查询式和实际引用,检查引用是否存在、是否支持对应陈述、是否遗漏反例。

2026-09-15 21:21:42 184

原创 NAS 装上 Netdata 还不够:用四本账把监控变成可行动告警

家庭实验室和小团队存储常同时承担文件共享、容器、备份、媒体索引等任务,同一条尖峰可能是正常扫描,也可能是磁盘退化的前兆。要让图表真正推动处置,可以建立资源、存储、告警、变更四本账,把每个信号绑定到上下文、阈值和责任动作。为关键指标保存基线、中位数和长尾值,配置、依赖或数据变化后使用同一批固定样本回放,再补一组新鲜样本,防止流程只适配旧案例。每次变更写明假设、影响范围、观察窗口和回退触发器,结果不符合预期时恢复到已知状态,并核对临时文件、后台任务与权限是否一并清理。对机械盘和固态盘要设置不同预期。

2026-09-15 21:20:59 84

原创 整数替换为何遇到 3 要例外:位贪心的反直觉辟谣

这道题反直觉之处在于目标函数不是“下一步数值最小”,而是“未来需要的总步数最少”。观察末尾两位,把一次选择转换成能消掉多少低位,贪心才有了可检查的依据;数字 3 的例外也由完整路径而非口诀得到。

2026-09-15 21:20:04 148

原创 AI Agent 成本核算与模型路由:从调用账单到真实 ROI 的工程闭环

一次 Agent 任务的总成本可以抽象为:C_model:输入、输出 token 或图像、音频等模态产生的费用;C_tool:搜索、数据库、第三方 API 等工具调用成本;C_retry:超时、格式错误、限流后产生的重复请求成本;C_infra:网关、队列、日志、缓存和计算资源成本;C_review:需要人工确认时的审核时间成本。并不是所有项目都能精确得到每一项价格,因此可以先采用“可观测字段 + 可配置单价”的方式。

2026-09-02 12:38:39 187

原创 把 RAG 检索做成可替换管线:向量索引、证据拼装与 MCP 边界实践

"title_path": ["运维手册", "备份策略"],chunk_id应保持稳定,便于引用、删除和重新索引。version用于处理文档更新,status则可区分草稿、已发布和已废弃内容。切分时不要只按固定字符数截断:应优先在标题、段落和列表边界切分;当单段过长时再使用带重叠的窗口。重叠并非越大越好,过大的重叠会增加索引规模,也会让相同事实重复出现在上下文中。RAG 的工程重点不是堆叠更多组件,而是把“数据、权限、检索、上下文、模型和工具”连接成可验证的边界。

2026-09-02 12:38:01 324

原创 少量寄存器怎样估算海量事件:HyperLogLog反直觉辟谣

HyperLogLog基数估计的价值不在于背出步骤,而在于把问题的约束变成可持续检查的状态。先让小规模测试说明答案正确,再根据数据分布和资源预算决定是否采用它。

2026-08-27 14:57:20 183

原创 区间查询别急着上树:根号分块的代码审查

根号分块的价值不在于背出步骤,而在于把问题的约束变成可持续检查的状态。先让小规模测试说明答案正确,再根据数据分布和资源预算决定是否采用它。

2026-08-27 14:56:47 210

原创 让 AI Agent 在权限边界内工作:工具调用的最小授权与审计实践

AI Agent 的执行安全依赖一组可验证的边界:用工具契约限制输入,用服务端策略落实最小权限,用审批闸门拦截高风险写操作,用超时、预算和幂等控制运行范围,再用完整但不过度暴露数据的审计记录还原事实。模型可以帮助判断和规划,但最终的授权必须由确定性的系统组件完成。先把工具做成小而明确的接口,再逐步增加自动化范围,通常比直接开放通用数据库、Shell 或管理员 API 更容易测试、回滚和合规评估。

2026-08-24 12:59:03 208

原创 让 AI Agent 在权限边界内工作:工具调用的最小授权与审计实践

AI Agent 的执行安全依赖一组可验证的边界:用工具契约限制输入,用服务端策略落实最小权限,用审批闸门拦截高风险写操作,用超时、预算和幂等控制运行范围,再用完整但不过度暴露数据的审计记录还原事实。模型可以帮助判断和规划,但最终的授权必须由确定性的系统组件完成。先把工具做成小而明确的接口,再逐步增加自动化范围,通常比直接开放通用数据库、Shell 或管理员 API 更容易测试、回滚和合规评估。

2026-08-24 12:58:31 198

原创 退火不是随机乱试:路线优化如何慢慢降温h

模拟退火用可控的偶尔变差换取更广探索。它不保证最优,却能通过种子、温度曲线和精确小样本把随机性变成可复核实验。

2026-08-19 14:28:44 151

原创 六十四位指纹相差三位,怎样用 BK 树找到近似图片

案件的关键不是 64 位有多短,而是汉明距离提供了可证明的三角不等式。BK 树用距离标签组织证据,用半径区间排除整棵子树;同时也要承认它在大半径和低熵数据上的退化边界。

2026-08-19 14:28:13 217

原创 列表更新为何跳错位置:用最长递增子序列审查 Keyed Diffh

这次审查的结论不是“列表 diff 等于 LIS”,而是 key 先建立身份映射,LIS 再找出最大稳定骨架。把新节点、删除节点和移动节点分开处理,才能让复杂度、正确性与真实补丁行为对齐。

2026-08-19 14:26:32 224

原创 拣货点只有十几个也会绕远:位压动态规划逐格还原最短路线h

位压动态规划的价值不只是把排列降成指数,而是识别“未来只由已访问集合和最后位置决定”的可合并前缀。先把距离矩阵做对,再明确闭环、出口和容量约束,恢复出的路线才真正可执行。

2026-08-19 14:25:47 212

原创 帕累托前沿不是挑一个最高分:多目标解的支配关系

方案为空返回空前沿。目标数量必须一致,方向数组长度也必须匹配。完全相同的目标点互不支配,重复记录需要稳定去重策略。浮点比较应定义 epsilon,否则微小噪声会改变前沿层。

2026-08-18 13:49:57 227

原创 距离相同也不能随便投票:加权 KNN 的尺度校准

KNN 选题在当前机器学习榜单中持续出现,但多数实现只按最近邻多数投票。本文用加权投票处理“近邻更可信”的直觉,加入特征尺度归一化、平票规则和零距离短路,给出 JavaScript 实现与可复制测试,避免把距离单位误当成概率。

2026-08-18 13:49:21 225

原创 Loop Engineering 落地:用检查点把 Agent 循环变成可审计流水线

Loop Engineering 的价值不在于让 Agent 无限运行,而在于让每一轮都小、可验证、可暂停。有限状态机约束权限,检查点保存证据,独立验收决定停止,提供方适配器保证可替换。做到这些,循环才是工程系统,而不是更长的提示词。

2026-08-17 13:53:31 520

原创 AI 编程焦虑的工程解法:从会用工具到可交付能力矩阵

AI 编程能力的核心不是提示词数量,而是把任务变成合同,把上下文变成资产,把执行变成受控流程,把质量变成证据。用能力矩阵和真实产物衡量进步,焦虑会从“工具会不会被淘汰”转成“我能否稳定交付并对结果负责”。

2026-08-17 13:52:51 272

原创 树上最远两点为何能搜两次:直径算法的生活类比

在无环道路网中寻找相距最远的两个站点,看似要从每个点出发做搜索,其实两次遍历就够。本文用“先走到走廊尽头,再从尽头量全程”的生活类比推导树直径,给出 Python 带权树实现、路径恢复、复杂度分析和非法输入检查。

2026-08-16 11:46:06 218

原创 启发式越聪明路径就越短吗:A星搜索的反直觉辟谣

A* 搜索常被描述成“带方向感的 Dijkstra”,于是有人误以为启发式估计越大胆越好。本文用网格寻路拆解g+h的含义,说明可采纳性与一致性如何守住最短路,给出 Python 完整实现,并用 BFS 对拍验证路径长度和不可达边界。

2026-08-16 11:45:22 396

原创 数组走到末尾为什么还能继续:环形队列的生活类比

环形队列复用的是已经出队的数组槽位。head 管读取,tail 管写入,size 区分空满,取模负责绕回;扩容时按逻辑顺序重新排直。把这四件事分开,代码就不会被下标绕晕。

2026-08-14 14:21:35 256

原创 欠定方程里藏着哪几个非零项:OMP 稀疏恢复侦探笔记

OMP 的推理链只有三步:相关性找候选、支撑集上重估全部系数、用新残差继续。它用稀疏先验把欠定问题变得可解,但前提是字典列足够可区分,数值求解也足够稳定。

2026-08-14 14:21:00 427

原创 离线查询为何要排序:莫队算法的指针移动账本

算法的价值不在变量名,而在可复述的不变量。先写直接基线,再找重复状态;每一步说明输入、输出、终止条件和恢复动作。边界不是附录,空输入、单元素、重复值、极端规模和非法参数都必须有明确契约。时间复杂度、空间复杂度和常数项需要分开讨论,预处理换查询速度,动态更新则增加维护成本。最容易出错的是闭开区间、重复值规则、整数溢出和空容器。测试既要有最小失败反例,也要有固定种子的随机对拍;失败时记录输入、期望、实际结果和关键状态。工程落地还应记录输入规模、核心循环次数、峰值内存和错误分类,让性能变化可以解释。

2026-08-13 14:39:47 507

原创 卷积为何能加速字符串计数:FFT 的复数旋转因子实验

算法的价值不在变量名,而在可复述的不变量。先写直接基线,再找重复状态;每一步说明输入、输出、终止条件和恢复动作。边界不是附录,空输入、单元素、重复值、极端规模和非法参数都必须有明确契约。时间复杂度、空间复杂度和常数项需要分开讨论,预处理换查询速度,动态更新则增加维护成本。最容易出错的是闭开区间、重复值规则、整数溢出和空容器。测试既要有最小失败反例,也要有固定种子的随机对拍;失败时记录输入、期望、实际结果和关键状态。工程落地还应记录输入规模、核心循环次数、峰值内存和错误分类,让性能变化可以解释。

2026-08-13 14:39:09 169

原创 面向模型能力的三层业务 API 设计:同步响应、异步任务与受控执行

以下示例使用 FastAPI 展示接口形态。示例中的内存存储仅用于说明流程,生产环境应换成具备持久化和并发控制能力的数据库或队列。return jobrequest_id是调用方提供的幂等键。在真实系统中,它应与用户或租户标识建立唯一约束,而不能只依赖进程内遍历。对于网络超时,客户端使用相同request_id重试;服务端返回已创建的作业,而非再次入队。面向模型能力的 API 设计,重点不在于把一次对话调用包装成 HTTP 路由,而在于区分响应、任务与执行三种责任。

2026-08-10 16:27:18 189

原创 把 MySQL 权限审计做成可回归的策略测试:最小权限、证据快照与受控修复

权限治理的关键不在于积累更多授权命令,而在于建立“期望策略—实际证据—差异判定—审批修复—复测确认”的闭环。以角色压缩授权面,以保存可复核事实,以脚本将策略变成可回归检查,并把自动检测与人工修复隔离,能够让最小权限原则进入日常工程流程。开始时只覆盖最关键的应用账户和高风险权限,待输出稳定后再逐步扩展范围,通常比一次性追求全量自动化更可靠。

2026-08-10 16:26:43 207

原创 Tarjan 强连通分量的栈:一张依赖图如何拆出环

Tarjan 的洞察是“正在处理”本身就是图的信息。栈把路径上下文保存下来,lowlink 则把回到祖先的证据压缩成一个数字;识别环因此不需要反复做全图搜索。Tarjan强连通分量图算法Python。

2026-08-09 17:28:54 149

原创 KMP 不是魔法:一次失配如何跳过不可能的前缀

KMP 的价值在于把失败也变成信息。只要保留最长可复用边界,文本指针就不必倒退;这是一种可以迁移到日志、协议和编辑器搜索的思维方式。KMP字符串匹配前缀函数Java。

2026-08-09 17:28:21 161

原创 红黑树插入后哪里失衡:三种修复路径逐层展开

红黑树插入修复可以归结为一个问题:红红冲突的叔叔是什么颜色,当前节点又在内侧还是外侧。用不变量解释变色和旋转,再让验证器逐次检查,远比背一段分支密集的模板可靠。

2026-08-08 18:30:13 143

原创 负数编码为何先折叠再压缩:ZigZag 与 Varint 实验h

ZigZag 与 Varint 分工清楚:前者重排有符号整数,让绝对值小的数靠近零;后者用七位分组省去高位零。把两层分别证明、分别测试,才能在遇到损坏字节或跨语言边界时知道错误发生在哪里。

2026-08-08 18:28:08 449

原创 矩阵走不丢的秘诀:四条边界写出螺旋遍历h

螺旋遍历看似是方向切换题,真正容易错的是每圈收缩后的边界。本文以货架盘点路径做逐步可视化,推导四个指针的收缩条件,并给出 Python 完整测试。文中同步标出复杂度、边界条件和可复制测试,方便把思路带进真实项目验证。把仓库货位拍成二维表后,盘点程序需要从最外圈开始绕行。第一次实现只在四个方向上轮流移动,样例三乘三毫无问题,遇到单行和奇数中心却重复登记。实验记录显示,方向变量并不是根因;根因是每走完一条边,剩余可走区域已经变了,却仍按旧的矩形假设继续执行。

2026-08-07 14:44:46 618

原创 传感器数字跳来跳去:一维卡尔曼滤波的追踪账本

测距值抖动不等于设备坏了,直接做均值也可能滞后。本文从一段噪声读数出发,拆开预测、增益和校正三笔账,给出 Java 一维卡尔曼滤波实现与断言。文中同步标出复杂度、边界条件和可复制测试,方便把思路带进真实项目验证。“把读数平均一下就行”是传感器程序里最常见也最危险的建议。平均确实能压掉部分高频波动,却没有表达我们对系统变化速度的信心。车轮突然加速时,长窗口平均还沉在过去;短窗口平均又接近原始抖动。一维卡尔曼滤波并不神奇,它只是把预测和测量各自有多可信写成可计算的权重。

2026-08-07 14:43:59 225

原创 语音不断流却越播越晚:去抖动缓冲的故障复盘h

去抖动缓冲不是越大越安全。最小堆负责恢复顺序,延迟估计负责给出等待预算,播放时钟负责在完整性与实时性之间作出截止决策。把三层状态分开,并同时约束迟到率和延迟上限,才能避免“零丢包、不可对话”这种监控漂亮而体验失败的结果。

2026-08-06 13:57:10 312

原创 首尾相接后 Kadane 还够用吗:环形最大子段和算法擂台

普通 Kadane 负责不跨边界候选,总和减最小子段负责跨边界候选,全负分支阻止空补集冒充答案。这个解法胜在把环形问题转回两次线性状态;暴力枚举虽败在规模,却作为测试裁判保留价值。理解补集关系比记住一行公式更可靠。

2026-08-06 13:56:34 199

原创 库存 SQL 忽快忽慢,别先怪索引:把 WHERE 函数冲突拆成可复现实验

查询忽快忽慢时,最可靠的方法是保存参数化现场,把两个函数拆成独立变量,用实际计划证明扫描发生在哪里。先让列保持可搜索、让参数匹配类型、让时间使用明确区间,再处理统计与索引。这样得到的不只是一次提速,而是一条能够解释、复现和回退的优化结论。

2026-08-05 14:30:04 202

原创 ZooKeeper 三节点集群别只看“都启动了”:用故障矩阵验证选举与数据同步

ZooKeeper 高可用不是“三台都亮绿灯”,而是多数派规则在真实故障下仍按预期工作。把身份、端口、角色、复制、会话和恢复写成故障矩阵,逐项保存观察证据,才能知道集群究竟容忍了什么。一次主动演练发现的问题,通常比生产中的一次被动选举便宜得多。

2026-08-05 14:29:25 217

原创 Claude Code + Superpowers 项目实战:把“让 AI 改代码”变成证据驱动的交付闭环

Claude Code + Superpowers 的有效用法不是把“写代码”整段外包,而是把工作拆成可审查的状态迁移:先把需求写成事实,只读探索修改面,制定带验证的计划,小步实现,保存证据,再通过风险审查和回退设计完成交付。工具负责加速搜索与执行,团队仍要掌握权限、契约和最终判断。速度只有落在可重复的闭环里,才会积累成工程能力。

2026-08-04 14:35:23 238

原创 MySQL 事务别只背 ACID:用三次中断实验看懂原子性与持久性

原子性解决“本地事务不能只完成一半”,持久性解决“已提交结果在故障后能恢复”,幂等与状态查询解决“客户端不知道提交结果”。把三者分开,才能正确处理超时、崩溃与重试。与其背四个字母,不如亲手做三次中断实验,记录每次故障前后数据库真正留下了什么。

2026-08-04 14:34:17 240

空空如也

空空如也

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

TA关注的人

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