<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dc6p3Swvf的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dc6p3Swvf</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dc6p3Swvf]]></copyright><item><title><![CDATA[上位机程序发布打包成安装包---Inno Setup]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163369913</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163369913</guid><author>dc6p3Swvf</author><pubDate>Fri, 31 Jul 2026 16:01:15 +0800</pubDate><description><![CDATA[市面上有 InstallShield、NSIS、Inno Setup 等主流打包工具，但 Inno Setup 在以下场景中优势明显：-#### 第四步：处理运行库依赖如果你的上位机程序是 C#/.NET 开发的，打包时通常需要包含 .NET Runtime。在工业自动化、设备监控等领域，上位机程序（通常基于 C#、Python、LabVIEW 等开发）开发完成后，交付给现场工程师或客户时，最头疼的问题莫过于。，支持 Pascal 脚本，能实现复杂的自定义安装逻辑（如检测依赖、修改配置文件）。]]></description><category></category></item><item><title><![CDATA[Dynamic Workflows 深度解析：Claude Code 为什么把多 Agent 编排写进可执行代码]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163369871</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163369871</guid><author>dc6p3Swvf</author><pubDate>Fri, 31 Jul 2026 16:00:06 +0800</pubDate><description><![CDATA[三个核心理由#### 理由 1：可编程的“决策能力”，而不是死板的规则在传统框架里，“测试失败后怎么办”是人写的规则。函数，你很难用 YAML 来表达“根据测试结果，决定是否创建修复任务，并且修复任务的输入是原代码加错误信息”。：当 Agent 数量越来越多，任务越来越复杂时，一个可编程、可序列化、可复用的工作流引擎，是支撑大规模 AI 协作的基石。复杂的软件开发任务，往往需要多个具备不同技能的“数字同事”协同工作——一个负责写代码，一个负责跑测试，一个负责审查安全漏洞，甚至还有一个负责写文档。]]></description><category></category></item><item><title><![CDATA[微调LLM前你需要了解的一些概念-- 反向传播解析]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163337487</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163337487</guid><author>dc6p3Swvf</author><pubDate>Thu, 30 Jul 2026 15:21:18 +0800</pubDate><description><![CDATA[然后你调整配方，再试一次，如果还是不对劲，就继续调整，直到味道完美。## 在LLM微调中的实际应用微调LLM时，我们通常使用像 PyTorch 这样的框架，它会自动处理反向传播。例如，在 LoRA 微调中，我们只更新低秩矩阵，而冻结预训练权重。注意，梯度是反向传播的关键，它指明了参数更新的方向和大小。在微调LLM时，我们通常冻结大部分参数，只调整一小部分（比如适配器层的参数），但反向传播机制仍然是训练的基础。## 总结反向传播是神经网络的“学习引擎”，它通过链式法则计算梯度，让模型能根据错误调整参数。]]></description><category></category></item><item><title><![CDATA[小米开源编程助手 MIMO Code 简介和简单使用测试]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163337456</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163337456</guid><author>dc6p3Swvf</author><pubDate>Thu, 30 Jul 2026 15:20:17 +0800</pubDate><description><![CDATA[# 实际体验感受在测试过程中，我主要关注了三个方面：### 1. 代码补全速度MIMO Code 的补全速度相当快，基本在 1-2 秒内就能给出建议。下面，我就用最通俗的语言，带你从零开始认识 MIMO Code，并上手跑几个例子。你可以把它想象成一个“会写代码的队友”，你只需要给它一个任务描述，它就能生成对应的代码片段。选中这段代码，右键选择“解释代码”（或者用快捷键），MIMO Code 会给出类似下面的解释（我整理成了文本）：> 这段代码实现了一个线性回归模型，主要用于预测连续值。]]></description><category></category></item><item><title><![CDATA[你的 Cursor 还在靠缘分猜你的代码规范？Rules 配置完，AI 像换了个人]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163276878</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163276878</guid><author>dc6p3Swvf</author><pubDate>Tue, 28 Jul 2026 16:19:21 +0800</pubDate><description><![CDATA[Cursor 作为 AI 编程助手，默认会尽量模仿常见的代码风格，但每个团队的规范千差万别。比如，不要只说“用好的命名”，而是说“所有变量使用 snake_case，类名使用 PascalCase”。配置规则后，AI 的输出会严格遵循你的要求，从变量命名到函数结构，甚至注释风格，都能统一。作为技术博主，我经常收到开发者们的吐槽：“Cursor 生成的代码风格太随机了，有时用单引号，有时用双引号；：只写核心规范（命名、注释、日志），避免过于复杂的规则（如“变量名必须包含类型前缀”），否则 AI 会变得僵硬。]]></description><category></category></item><item><title><![CDATA[团队落地 Agent 工程化 Loop 的一些必看小技巧！]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163273145</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163273145</guid><author>dc6p3Swvf</author><pubDate>Tue, 28 Jul 2026 14:11:00 +0800</pubDate><description><![CDATA[没有良好的 Loop 设计，你的 Agent 就像一台没有“心跳”的机器：要么一次对话就结束，要么陷入死循环疯狂烧钱。把 Loop 设计得健壮、可控、可观测，你的团队才能从“写 Demo”阶段，顺利进入“生产级 Agent”阶段。如果这个 Loop 设计不好，你的 Agent 要么像个“单细胞生物”（只会一次调用），要么像个“失控的机器人”（无限循环）。如果 Agent 执行了20步，Prompt 可能变成几万字，不仅响应变慢，大模型还会“迷失”在冗长的历史中。例如，结合上面的代码，你可以改造。]]></description><category></category></item><item><title><![CDATA[AutoMem：把 Agent Memory 变成可训练的记忆管理技能]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163273054</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163273054</guid><author>dc6p3Swvf</author><pubDate>Tue, 28 Jul 2026 14:08:28 +0800</pubDate><description><![CDATA[AutoMem 是一种新兴的框架，它将记忆管理从硬编码策略转变为一种可训练的“技能”，通过强化学习与神经网络记忆模块，让 Agent 学会自主记忆与遗忘。## 记忆管理的挑战与 AutoMem 的解决思路### 传统记忆的局限性LLM 的上下文窗口有限（例如 GPT-4 的 32K tokens）。本文通过原理剖析和两段可运行的代码示例，展示了如何构建一个简化的 AutoMem 系统：第一个示例演示了基于注意力的神经记忆模块，第二个示例用策略梯度训练记忆决策。的初始值，实现动态记忆管理。]]></description><category></category></item><item><title><![CDATA[Harness 效应：编排设计如何影响企业级 Agent 的 Token 成本]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163242869</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163242869</guid><author>dc6p3Swvf</author><pubDate>Mon, 27 Jul 2026 14:26:40 +0800</pubDate><description><![CDATA[同一个模型结构化输出在企业级 Agent 部署中，Token 成本的控制权并非完全掌握在模型提供商手中，而是更多在于工程师如何设计编排框架。]]></description><category></category></item><item><title><![CDATA[图的最短路径都会写，那么最长路径呢？]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163242823</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163242823</guid><author>dc6p3Swvf</author><pubDate>Mon, 27 Jul 2026 14:25:16 +0800</pubDate><description><![CDATA[最短路径问题，在正权图中可以用Dijkstra高效求解，负权图可以用Bellman-Ford，完全图可以用Floyd。如果图中有正权环，我们可以无限绕圈，路径长度可以无限大，因此问题就变得“不收敛”。因为取反后，正权环变成了负权环，而最短路径算法（如Bellman-Ford）能处理负权边，但遇到负权环时，最短路径也会变成负无穷。在特定的图中，最长路径是可解的。因此，在有环的一般图中，最长路径问题通常是NP难的。—## 最长路径的可解情况：有向无环图（DAG）在有向无环图中，没有环，所以不会出现无限长路径。]]></description><category></category></item><item><title><![CDATA[我是如何失去团队掌控的？]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163216071</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163216071</guid><author>dc6p3Swvf</author><pubDate>Sun, 26 Jul 2026 14:08:43 +0800</pubDate><description><![CDATA[我尝试引入微服务架构，却未建立清晰的接口规范，结果服务之间的调用变成了“意大利面条式”依赖。最致命的是，我允许前端和后端团队各自独立设计API，导致前后端数据格式不匹配。通过锁定依赖版本，我本可以避免“A成员用requests 2.28.0，B成员用2.29.0”的噩梦。但当时我允许团队“自由发挥”，结果接口文档变成了“建议书”，而不是“圣经”。起初，我自信满满，认为只要制定清晰规范，团队就能高效运转。希望我的故事能成为你的前车之鉴。我从基础规范、依赖管理到架构设计，每一步都犯了“我以为没问题”的错误。]]></description><category></category></item><item><title><![CDATA[CPU瞒着内存竟干出这种事]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163216057</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163216057</guid><author>dc6p3Swvf</author><pubDate>Sun, 26 Jul 2026 14:07:39 +0800</pubDate><description><![CDATA[这就是CPU瞒着内存偷偷重排指令的典型案例。## 3. 分支预测的“预判术”：猜对了就赚了CPU在执行条件分支指令（如if-else）时，会尝试预测分支结果，并提前执行预测路径上的指令。所以，下次当你看到CPU和内存“合作”时，请记住：CPU一直在背后搞小动作，而内存只是那个默默承受一切的“老实人”。：当分支模式可预测时，CPU的预测器几乎总是猜对，提前执行了正确的路径，内存访问也被预取；当分支随机时，预测器频繁猜错，CPU不得不丢弃已执行的结果，重新从正确路径加载指令——这导致内存访问变得混乱且低效。]]></description><category></category></item><item><title><![CDATA[大整数相乘的 Toom-Cook 算法]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163194113</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163194113</guid><author>dc6p3Swvf</author><pubDate>Sat, 25 Jul 2026 15:06:27 +0800</pubDate><description><![CDATA[以 Toom-3 为例，假设我们有两个数字：- A = a₂ * B² + a₁ * B + a₀- B = b₂ * B² + b₁ * B + b₀其中 B 是基数（通常为 2^m，m 是每部分的位数）。通过选择 5 个不同的点（例如 0, 1, -1, 2, ∞），我们可以：1. 在选定的点上求值 A 和 B2. 将对应点上的值相乘（这是递归调用）3. 使用插值法重构多项式系数这样，原本需要 9 次乘法（小学乘法）的问题被简化为 5 次乘法，加上一些加减法操作，从而降低了复杂度。]]></description><category></category></item><item><title><![CDATA[微信图片自动保存助手（dat图片解码转图保存）]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163194096</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163194096</guid><author>dc6p3Swvf</author><pubDate>Sat, 25 Jul 2026 15:05:02 +0800</pubDate><description><![CDATA[首次使用时，先在少量文件上测试密钥识别是否正确- 微信版本更新可能改变加密密钥，需要重新测试- 监控模式适合长期运行，建议设置为开机自启通过这个项目，你不仅能解决实际需求，还能深入理解文件格式、加密基础、自动化监控等全栈技术。图片的解码、转换和保存，涉及文件格式分析、位运算解码、自动化监控等实战技术。在日常使用微信的过程中，我们经常需要保存聊天记录中的图片。- 理解了 XOR 加密的简单实现与应用- 掌握了文件头特征识别的方法- 学会了使用。解码后，文件头会恢复为标准的 JPEG 或 PNG 格式。]]></description><category></category></item><item><title><![CDATA[Google AX 控制面拆解：分布式 Agent 如何把断点恢复、审计策略和执行调度收进同一条链路]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163165748</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163165748</guid><author>dc6p3Swvf</author><pubDate>Fri, 24 Jul 2026 16:34:18 +0800</pubDate><description><![CDATA[然而，Google 的 AX（Agent eXecution）控制面打破了这种割裂，通过一个统一的分布式 Agent 架构，将这三者收敛到同一条执行链路中。它的核心目标是：在 Agent 执行任务时，自动处理断点恢复（如网络中断、节点宕机）、执行审计策略（如权限验证、一致性检查），并动态调度任务到合适的工作节点。- 将审计作为执行步骤的钩子，而非独立模块，减少网络延迟。## 审计策略：在执行链路中动态注入检查审计策略在 AX 控制面中不是独立的模块，而是作为“钩子”嵌入到 Agent 的执行链路中。]]></description><category></category></item><item><title><![CDATA[Spring Cloud Gateway 的 SpEL 表达式注入漏洞（CVE-2022-22947）]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163165705</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163165705</guid><author>dc6p3Swvf</author><pubDate>Fri, 24 Jul 2026 16:33:06 +0800</pubDate><description><![CDATA[java// 自定义SpEL安全校验器@Componentpublic class SafeSpelParser { public Object parseExpression(String expression) { // 只允许简单的属性访问，禁止方法调用 if (expression.contains("T(") || expression.contains("exec(")) { throw new SecurityException("禁止的危险表达式: " + expression);}}]]></description><category></category></item><item><title><![CDATA[下面这个例子可以获取到最新的值吗？]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163105912</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163105912</guid><author>dc6p3Swvf</author><pubDate>Wed, 22 Jul 2026 14:28:50 +0800</pubDate><description><![CDATA[{startTime: 0, endTime: 0} 还是 {startTime: 1000, endTime: 10}?// 传递的是引用类型,重新赋值整个对象,函数内部的参数和外部的变量引用地址发生了变化，以后他们之间修改互不影响。data （地址 0x001） → { name: ‘changed’ } （还在指着老对象）这里不是修改原来的对象，而是给 obj 变量重新赋值了一个新的对象（新地址 0x002）obj （地址 0x002） → { name: ‘new’ } （换指了新对象）]]></description><category></category></item><item><title><![CDATA[介绍一下分库分表]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163105892</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163105892</guid><author>dc6p3Swvf</author><pubDate>Wed, 22 Jul 2026 14:28:08 +0800</pubDate><description><![CDATA[数据平滑迁移	业务不能停服，数据不能丢失	双写顺序错误导致数据不一致；这个问题其实很典型。热点数据问题	数据倾斜导致部分分片压力过大	某个用户 / 商家订单量占比超过 50%	1. 热点数据单独分片2. 读写分离3. 缓存热点数据	提前识别热点数据；看你简历里写了海量数据优化经验，那咱先聊个场景：假设现在有个电商订单表，数据量干到 2 亿了，查询越来越慢，数据库连接池动不动就满了。跨库关联查询	1. 字段冗余2. 数据同步到 ES 做聚合查询3. 应用层多次查询	避免跨库 JOIN，用 ES 做复杂查询。]]></description><category></category></item><item><title><![CDATA[mirror-switcher（镜像切换工具 / Mirror Switcher）]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163077316</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163077316</guid><author>dc6p3Swvf</author><pubDate>Tue, 21 Jul 2026 14:28:54 +0800</pubDate><description><![CDATA[为什么需要它 / Why开发者在不同网络环境下经常需要在「官方源」与「国内镜像源」之间反复切换：nrm 解决了 npm 的痛点，但 pip、brew、docker、maven、go、cargo、yum、apt…… 每一个都要查一遍文档、改一遍配置文件。本套件把这些操作统一起来，命令完全一致：switch-xxx ls            # 列出全部预设源 / list all preset sources。]]></description><category></category></item><item><title><![CDATA[重Harness已死：强模型自己就能把活干漂亮]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163077288</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163077288</guid><author>dc6p3Swvf</author><pubDate>Tue, 21 Jul 2026 14:28:10 +0800</pubDate><description><![CDATA[specs 这一段，不动。第一遍走完整技能链，开发计划把需求拆成实施计划，开发任务执行派发实现者、评审者、修复者、终审者，逐任务实现、审查、勾选、提交，跑完大概 1 小时 30 分钟，消耗699套餐当天 5 小时额度的 24%。说白了，我多花了三四倍的时间、一倍多的额度，换回来的产出其实差不多，我自己过了一遍，功能都在，质量也还行，该有的TDD，大模型自己也加上了。两边各干各的，得出的结论却一样，说明这跟谁设计得高明不高明没关系，是这一代流程框架共有的时代病（毕竟以前模型能力差的时候，确实需要）。]]></description><category></category></item><item><title><![CDATA[背包问题详解]]></title><link>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163055042</link><guid>https://blog.youkuaiyun.com/dc6p3Swvf/article/details/163055042</guid><author>dc6p3Swvf</author><pubDate>Mon, 20 Jul 2026 21:37:21 +0800</pubDate><description><![CDATA[医师把他带到一个到处都是草药的山洞里对他说：“孩子，这个山洞里有一些不同的草药，采每一株都需要一些时间，每一株也有它自身的价值。使用公式dp[i][w] = max(dp[i-1][w], dp[i-1][w-重量[i]] + 价值[i])将表格填完整，所有格子默认为0。因为"前i个"的最优解，要么包含第i个，要么不包含——不包含时就和"前i-1个"完全一样。物品0	0	0	0	0	0	0	0	0	0	0	0。物品1	0	0	1	1	1	1	1	1	1	1	1。选第i个时，剩下的仍是已解决的子问题？]]></description><category></category></item></channel></rss>