<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chagumu]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nd20060725</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nd20060725]]></copyright><item><title><![CDATA[一文讲清 Harness Engineering：OpenSpec、Superpowers、gstack、hooks 到底是什么关系？]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/161698159</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/161698159</guid><author>nd20060725</author><pubDate>Fri, 05 Jun 2026 00:06:57 +0800</pubDate><description><![CDATA[驾驭控制利用骑马时的缰绳就叫 Harness。所以 Harness Engineering 可以理解成：用工程化方式驾驭 AI。注意：这里的重点已经不是模型。而是系统。公司的管理哲学OpenSpec产品经理项目经理gstack专家员工hooks公司制度如何让 AI 更聪明如何让 AI 团队协同工作这也是 Prompt Engineering 逐渐演化为 Harness Engineering 的原因。]]></description><category></category></item><item><title><![CDATA[告别“氛围编程”：深度解析 Superpowers 规范化 AI 研发流程]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/161308061</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/161308061</guid><author>nd20060725</author><pubDate>Fri, 22 May 2026 10:40:00 +0800</pubDate><description><![CDATA[Superpowers 并非单纯的插件，它是目前 AI 编程领域最具代表性的开源项目之一。从 20k、37k 到惊人的 6.7 万星，这些数据的指数级增长充分证明了开发者社区对“工程化 AI 编程”的渴求。在架构层面，Superpowers 被定义为 Claude Code 的核心 Skill（技能）或扩展层。它将原本局限于聊天界面的 AI 转化为一个具备文件系统操作、状态管理和复杂任务编排能力的智能代理（Agent）。头脑风暴 (Brainstorming)：基于既有上下文进行结构化的方案构思。]]></description><category></category></item><item><title><![CDATA[AI Agent 开发的工业化道路：Harness 架构深度解析]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/160344517</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/160344517</guid><author>nd20060725</author><pubDate>Mon, 20 Apr 2026 20:18:53 +0800</pubDate><description><![CDATA[AI Agent 的下半场，是系统架构师的舞台。开发者必须完成从“提示词集成商”向“系统架构师”的角色转变。Harness 架构不仅仅是一个技术框架，更是一种工业化思维：通过稳健的后端底座与严谨的工程闭环，将脆弱的模型能力锚定在可靠的业务价值之上。只有当架构足够坚韧，Agent 才能真正从实验性的对话框，走向千行百业的生产线。]]></description><category></category></item><item><title><![CDATA[多模态AI完全指南]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/160124069</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/160124069</guid><author>nd20060725</author><pubDate>Mon, 13 Apr 2026 23:48:18 +0800</pubDate><description><![CDATA[前面已经掌握了RAG和微调，那多模态就是技术栈的自然延伸。简单来说，多模态就是让模型能够理解和处理多种类型的数据——文本、图像、音频、视频等，并且能在这些模态之间建立联系。这不是简单地把不同模型拼在一起，而是要让模型真正理解"一张猫的图片"和"cat"这个词描述的是同一个概念。]]></description><category></category></item><item><title><![CDATA[微调——顾名思义]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/160051923</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/160051923</guid><author>nd20060725</author><pubDate>Sat, 11 Apr 2026 12:34:02 +0800</pubDate><description><![CDATA[预训练还好理解，就是给模型从零上学知识。但，很多人越看越懵：到底是大修？小改？还是重新训练一遍？要不要很贵的显卡？普通人能不能碰？。]]></description><category></category></item><item><title><![CDATA[大模型入门必懂：Token到底是什么？]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/160034449</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/160034449</guid><author>nd20060725</author><pubDate>Sat, 11 Apr 2026 01:15:26 +0800</pubDate><description><![CDATA[Token就是大模型的“文字计量单位”，用来衡量文本长度、计算使用成本、限制处理范围。中文粗略记“1Token≈0.7~0.8个汉字”，英文记“1Token≈0.75个单词”，日常使用完全够用。以后再看到“Token限制”“Token计费”，就不会再懵啦——知道它是什么、怎么换算、有啥影响，就能更高效地使用大模型，避免踩坑。]]></description><category></category></item><item><title><![CDATA[从 LLM 到 RAG 再到 Agent：技术演进路径]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159953056</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159953056</guid><author>nd20060725</author><pubDate>Wed, 08 Apr 2026 12:47:23 +0800</pubDate><description><![CDATA[（1）Agent核心：Agent的“大脑”，负责理解用户意图、规划任务、调用工具、反思迭代。推荐使用LangChain的create_react_agent（基础版）或LangGraph（进阶版，适合复杂流程）。LangGraph的优势是能构建“状态机”，清晰定义每个步骤的逻辑和跳转条件，比如“检索失败→重新检索”“生成报告成功→发送邮箱”。（2）工具集：Agent的“手脚”，包括我们之前封装的RAG检索器、SQL查询工具、API工具、代码解释器等。]]></description><category></category></item><item><title><![CDATA[LLM的另一个硬伤：知识过时]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159948826</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159948826</guid><author>nd20060725</author><pubDate>Wed, 08 Apr 2026 12:23:28 +0800</pubDate><description><![CDATA[其实一句话就能说透：LLM的知识，都是“预训练阶段”学来的，相当于它在训练截止日期前，把海量数据“死记硬背”进了自己的参数里。训练结束后，它的参数就固定了，再也不会主动去“学新东西”——而现实世界一直在变，新事件、新数据、新技术、新政策不断涌现，久而久之，模型里的“旧知识”就跟不上现实的“新变化”，这就是知识过时。举几个最直观的例子，一看就懂：你问模型“2025年最火的LLM模型有哪些”，但它的训练数据截止到2023年，只能给你列举GPT-4、文心一言3.0这些旧模型，完全不知道后来出现的新架构；]]></description><category></category></item><item><title><![CDATA[二分查找-搜索二维矩阵]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159918565</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159918565</guid><author>nd20060725</author><pubDate>Wed, 08 Apr 2026 00:38:03 +0800</pubDate><description><![CDATA[核心结论是二分查找中安全、高效、无溢出的中间索引计算方法，是 JDK 源码的标准写法。原理本质：利用无符号右移>>>将溢出的负数视为无符号整数，保证计算结果正确，同时保持最优性能。替代方案是新手友好的安全写法，可读性更高，适合面试场景。应用场景：所有二分查找算法（如搜索二维矩阵、有序数组查找、旋转数组查找等）都应使用安全写法，避免整数溢出。]]></description><category></category></item><item><title><![CDATA[LLM的“小bug”：聊聊幻觉是什么，以及如何有效规避免]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159932041</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159932041</guid><author>nd20060725</author><pubDate>Tue, 07 Apr 2026 23:13:09 +0800</pubDate><description><![CDATA[又回到我们之前的核心观点：LLM的强大，是架构、数据、训练目标、规模、后训练协同作用的结果；而幻觉的出现，本质上也是这五大要素中某一个环节的“不完美”导致的。我们不必因为幻觉，就否定LLM的价值——它依然是能帮我们提高效率、解决问题的强大工具；但也不能盲目迷信它的答案，忽略它“爱编故事”的特性。记住：LLM擅长“生成通顺的内容”，但不擅长“保证内容的真实性”。减少幻觉的关键，从来不是“消灭幻觉”，而是“学会和幻觉共存”——通过优化模型、规范使用、增加校验，让LLM的答案更可靠、更实用。]]></description><category></category></item><item><title><![CDATA[栈-每日温度]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159897145</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159897145</guid><author>nd20060725</author><pubDate>Tue, 07 Apr 2026 00:32:03 +0800</pubDate><description><![CDATA[介绍了使用单调栈解决&quot;每日温度&quot;问题的算法思路。文章首先分析了暴力解法O(n²)的时间复杂度问题，然后提出单调栈的优化方案。核心思路是从左到右遍历温度数组，维护一个单调递减栈，栈内存储未找到更高温度的日子下标。当遇到更高温度时，可以立即结算栈顶元素的结果并弹出，直到栈顶温度不低于当前温度。这种方法将时间复杂度优化到O(n)，每个元素最多入栈出栈一次。文章详细解释了单调栈的工作原理、代码实现和复杂度分析，并列举了单调栈的其他经典应用场景。]]></description><category></category></item><item><title><![CDATA[揭秘LLM的强大：没有单点魔法，只有系统性工程的胜利]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159892847</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159892847</guid><author>nd20060725</author><pubDate>Mon, 06 Apr 2026 20:15:33 +0800</pubDate><description><![CDATA[只堆参数，不做好数据和后训练，模型就是“傻大粗”；只搞架构，不做规模和训练目标，模型能力上不去；只做预训练，不做对齐，模型不好用；数据再好，训练目标不合理，模型也会“学歪”。其实LLM的发展，更像是一场“系统工程的比拼”——它不需要某一个环节做到极致，而是需要所有环节都达到一定水平，并且相互适配。这也解释了为什么，真正强大的LLM，背后都有一套成熟的技术体系和工程能力。]]></description><category></category></item><item><title><![CDATA[栈-有效的括号]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159829291</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159829291</guid><author>nd20060725</author><pubDate>Sat, 04 Apr 2026 16:30:58 +0800</pubDate><description><![CDATA[本文介绍了使用栈结构判断括号有效性的算法。关键点包括：1）利用栈后进先出特性匹配括号；2）使用哈希表存储括号映射关系；3）处理奇数长度字符串的边界情况。算法流程为：遇到左括号入栈，遇到右括号则检查栈顶是否匹配，最后验证栈是否为空。时间复杂度O(n)，空间复杂度O(n)。通过示例验证了逻辑的正确性，并说明了使用Deque代替Stack的原因。]]></description><category></category></item><item><title><![CDATA[堆-前 K 个高频元素]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159806685</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159806685</guid><author>nd20060725</author><pubDate>Sat, 04 Apr 2026 00:02:30 +0800</pubDate><description><![CDATA[这里是核心！和上一题直接用默认小顶堆不同，我们需要自定义比较规则比较的不是a和b本身，而是它们在freqMap里的频率。表示：频率小的排在前面，也就是小顶堆，堆顶永远是当前堆里频率最低的元素。]]></description><category></category></item><item><title><![CDATA[堆-数组中的第K个最大元素]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159796781</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159796781</guid><author>nd20060725</author><pubDate>Fri, 03 Apr 2026 14:20:16 +0800</pubDate><description><![CDATA[大顶堆需要存储数组所有元素，空间复杂度是 O(n)，而小顶堆只存储k个元素，空间复杂度 O(k)，更节省空间；当堆的大小超过k时，删除堆顶元素（小顶堆的堆顶是最小的），这样就能保证堆中始终只保留“当前最大的k个元素”。遍历结束后，堆中只剩下k个元素（数组中最大的k个），堆顶是这k个元素中最小的，也就是数组的第k个最大元素，直接返回即可。加入1 → 堆：[1,3,2]（大小3 > 2，删除堆顶1）→ 堆：[2,3]；加入5 → 堆：[2,3,5]（大小3 > 2，删除堆顶2）→ 堆：[3,5]；]]></description><category></category></item><item><title><![CDATA[普通数组-除自身以外数组的乘积]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159773232</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159773232</guid><author>nd20060725</author><pubDate>Fri, 03 Apr 2026 00:25:56 +0800</pubDate><description><![CDATA[这是这道题的核心概念，先彻底讲明白，再讲解法。]]></description><category></category></item><item><title><![CDATA[普通数组-缺失的第一个正数]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159772964</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159772964</guid><author>nd20060725</author><pubDate>Fri, 03 Apr 2026 00:17:39 +0800</pubDate><description><![CDATA[每个数最多被交换到正确位置一次，交换的总次数不超过 n 次。两次遍历都是 O (n)，总时间复杂度 O (n)，完全满足要求。空间复杂度 O (1)，完全在原数组上操作，没有额外空间。]]></description><category></category></item><item><title><![CDATA[普通数组 - 轮转数组]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159737861</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159737861</guid><author>nd20060725</author><pubDate>Thu, 02 Apr 2026 00:30:50 +0800</pubDate><description><![CDATA[数组向右轮转 k 位 = 反转整个数组 + 反转前 k 个元素 + 反转后 n-k 个元素（前提：k 已经取模，k = k % n）]]></description><category></category></item><item><title><![CDATA[Java开发者秒懂Graph核心概念：State、Node、Edge、Graph类比详解]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159737693</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159737693</guid><author>nd20060725</author><pubDate>Wed, 01 Apr 2026 23:58:57 +0800</pubDate><description><![CDATA[对于Java开发者来说，Graph其实一点都不抽象——它本质上就是把我们平时写的“业务流程”，用更灵活、更可视化的方式组织起来。我们平时写的工作流、状态机，其实都是Graph的应用。理解了这四个概念，不管是学习LangGraph、图数据库，还是做复杂的业务流程设计，都能少走很多弯路。如果觉得还是有点抽象，后续我可以写一个极简版的“Java伪Graph实现”，把这四个概念串起来，直接跑通一个小流程。]]></description><category></category></item><item><title><![CDATA[大白话讲ReAct：大模型的“边想边干”]]></title><link>https://blog.youkuaiyun.com/nd20060725/article/details/159721639</link><guid>https://blog.youkuaiyun.com/nd20060725/article/details/159721639</guid><author>nd20060725</author><pubDate>Wed, 01 Apr 2026 11:08:45 +0800</pubDate><description><![CDATA[其实ReAct没有那么神秘，它本质上就是让AI学会“像人一样解决问题”——不瞎猜、不蛮干，先想清楚，再动手做，看了反馈再调整。以前的AI，要么只会“想”不会“做”（容易瞎编），要么只会“做”不会“想”（不够灵活），而ReAct把两者结合起来，才让AI真正变得“聪明又靠谱”。]]></description><category></category></item></channel></rss>