- 博客(21)
- 收藏
- 关注
原创 skill最佳实践
工具的输入输出长什么样?调用技能创建自己的skill可以使用skill-manager或者skill-creator,功能效果是差不多的,你可以直接在IDE中引用这个skill并对智能体说:帮我创建一个xxx的skill即可。上面的步骤是手动创建的SKill,当然我们也可以通过公共的Skill根据需求自动创建你的Skill,这样就省时省力多了,你只需要负责check它创建的内容是否符合你的预期并做简单的修改即可。🍳按照上面的步骤,已经完成了一个简单的火车票余票查询skill的创建,现在让我们看下效果吧!
2026-05-04 20:38:41
206
原创 RAG 技术揭秘 —— 从0到1简单实现原生RAG
RAG 更底层的逻辑,也是我们对待 LLM 正确的态度LLM 是逻辑推理引擎,而不是信息引擎。所以由外挂的向量数据库提供最有效的知识,然后由 LLM 根据知识进行推理,提供有价值的回复。本文是简单梳理的 RAG 的基本原理,但是其中的奥秘远远不止于此。RAG 实际是一个 门槛很低,但上限极高的技术。
2026-05-04 17:52:05
383
原创 Hermes Agent vs OpenClaw:两种 AI Agent 架构的深度对比
所有入口(CLI 终端、消息 Gateway、IDE ACP 适配器)统一汇入这一核心,由 Prompt Builder 将 SOUL.md、MEMORY.md、USER.md 和当前 Skill 组装为系统提示,Provider Resolution 模块选择具体的模型提供商(支持 18+ providers),Tool Dispatch 负责工具调用与执行。——换掉 Claude 换成 GPT 或本地模型,Gateway 的路由策略、Session 数据、权限配置、Skill 全部不受影响。
2026-04-18 16:43:39
838
原创 LLM wiki初识
Karpathy 的 LLM Wiki 不是一个具体的产品,而是一种模式(pattern)。人类放弃维护知识库,不是因为不想记录,而是因为维护成本太高。LLM 最不怕的就是体力活------它没有耐心限制,不会漏掉一个超链接,一次操作就能并行处理几十个文件。当维护成本接近于零时,知识库就能真正实现复利式增长。在这套体系里,分工异常清晰:人类负责收集弹药、把握方向、提出好问题;LLM 负责一切脏活累活。但也要记住 Extended Brain 的提醒:地图不等于领地。
2026-04-16 14:21:38
818
原创 LLM工程化全体系概念汇总
RAG(检索增强生成):针对“本地文档、数据库检索”场景,通过“向量数据库”,将本地文档转化为向量形式,基于语义匹配,检索出与需求相关的片段,再传入LLM,辅助其生成结果——本质是“为LLM补充私有化、专业化信息”,解决LLM“不了解本地内容”的问题。小结:Agent是工具扩展的核心载体,Search/RAG是信息类工具,Function Calling和MCP是沟通约定,四者共同解决了LLM“能力边界有限”的痛点,让LLM从“能对话”走向“能办事”,实现了“需求→拆解→工具调用→结果反馈”的闭环。
2026-04-16 13:27:35
369
原创 Spec,真的能解决 AI Coding 的问题吗?
Spec 并不能“解决” AI Coding 的问题。如果上下文是错的,Spec 只会让 Agent 在错误的道路上越走越远。但一个在讨论中逐步形成、不断修正的 Spec,至少让 AI Coding 实现较复杂的需求。
2026-04-15 10:42:27
443
原创 从Prompt工程 到 Harness 工程的实践
绝大部分同学维护的是祖传代码——几十号人迭代了多年,各有各的风格和写法。一个代码库里十几个 component,真严格按照上下文工程做的话,先不说编写的成本,可能每个 component 都会有自己的 CLAUDE.md、AGENTS.md、PROJECT_CONTEXT.md...加起来可能占了 50% 的上下文。所以,提供必要且精确的上下文信息——不管是写 CLAUDE.md、设计 Superpowers 工作流、还是维护团队知识库——在可预见的未来,都是 AI Coding 里非常重要的一环。
2026-04-14 13:19:05
355
原创 Nanobot源码学习
OpenClaw 是 2025 年底出现的开源自主 AI Agent。它运行在用户本地,通过 Telegram、Discord、WhatsApp 等聊天 App 接收指令,驱动 LLM 完成文件操作、命令执行、网络搜索、定时任务等真实工作。但 OpenClaw 本身是一个庞大的 TypeScript 工程,直接读源码门槛不低。
2026-04-14 13:17:55
418
原创 AI 时代的三种编程范式:Vibe Coding、Spec Coding 与 Agentic Coding
Agent 可以与外部工具交互:编译器(gcc/javac)、调试器(gdb/pdb)、测试框架(pytest/JUnit)、Linter(ESLint/flake8)、版本控制(Git)、构建系统(Maven/npm)等。实现 POST /auth/register、/auth/login、/auth/logout、/auth/refresh、/auth/forgot-password、/auth/reset-password。这三种范式不是简单的"好 vs 坏",而是适用于不同场景的工具。
2026-04-13 10:27:23
1359
原创 什么是 Harness 系统?
沙盒是 Harness 的"物理围墙"——即使 Agent 产生恶意或错误的指令,也只能在围墙内产生影响,随时可以销毁重建。LangChain、CrewAI 等框架帮你"造"出一个 Agent,而 Harness 则决定了这个 Agent 在真实世界的"运行法则"。在 Harness 中,"重试"是基本能力:LLM 出错 → 重试,API 失败 → 重试,验证失败 → 重试。前文通过代码展示了 Harness "做什么",这一章回答 "为什么这样做"——将散落各处的工程洞察收敛为 5 条可执行的原则。
2026-04-13 10:23:43
457
原创 串与字符串匹配
字符串:由0个或者多个字符组成的连续序列。串中字符的个数称为该串的长度。在c语言中,一般用字符数组保存字符串。字串:一个字符串中,连续的一段字符,称为该串的一个子串。前缀子串:从一个字符串的第一个字符开始,到后续任意一个字符结束(结束的位置不能是最后一个字符),该范围内的字符组成一个前缀子串。后缀子串:除第一个位置外,其他任意一个位置开始,到最后一个位置结束,该范围内的字符组成的一个后缀子串。
2025-01-12 16:13:43
324
原创 查找知识总结
红黑树本质就是2-3/2-3-4树,即基于BST表达并实现的3阶/4阶B树。黑高:在一棵红黑树中,从一个节点x出发,到其下一个叶子节点的节点路径上所包含是黑色节点的个数(起点除外)性质:1.顺序性2.每个节点一定是黑色或者红色的3.根节点和叶子节点一定是黑色的4.不存在两个相连的红色节点,即红色节点的父亲和孩子一定是黑色节点5.对于每个节点来说,从该节点到其下面任意一个叶子节点的路径上的黑色节点个数是相同的。口诀:左根右,根叶黑,不红红,黑路同。
2025-01-04 17:31:28
1069
原创 排序算法总结
O(nlogn)2-路归并内部排序O(nlogn)O(n+maxx)排序算法主要有以下几类:插入排序(直接插入排序,希尔排序),交换排序(冒泡排序,快速排序),选择排序(简单选择排序,堆排序),归并排序(2-路归并),统计排序(桶排序,基数排序)
2024-12-05 19:59:12
802
原创 数据结构--图
介绍完树这种一对多的逻辑结构,下面来介绍一下多对多的结构。也就是图,即描述多对多的复杂关系。1.1图的表示图是由两个有限的集合构成的,分别为V和E,记为G = (V, E)。其中V是顶点的有限⾮空集合,E是V中顶点偶对的有限集,这些顶点偶对称之为边(弧)。V也称顶点集合,用|V|来表示顶点的数⽬。E是由V中的点组成的⽆序对构成的集合的边集,其元素称之为边,且同⼀点对在E中可以重复出现多次(如果⽐标上边的重数的话,每⼀点对只要出现⼀次就⾏了)。⽤|E|表示边数。例如:1.2图的分类标准。
2024-11-28 19:20:39
986
原创 数据结构--树
介绍完一般的二叉树,再来看看两种特殊的二叉树。二叉搜索树和平衡二叉树,二叉搜索树(BST)又称二叉排序树和二叉查找树,定义很简单:若左⼦树不空,则左⼦树上所有结点的值均⼩于它的根结点的值。若它的右⼦树不空,则右⼦树上所有结点的值均⼤于它的根结点的值。简而言之,就是经过中序遍历后序列有序(递增或递减)的二叉树。在二叉平衡树中,有一个概念:“平衡因子”,指的是某节点左子树与右子树的高度之差。每个节点的平衡因子的绝对值不超过 1的BST。
2024-10-31 18:42:57
1432
1
原创 数据结构--队列
和栈一样,队列是一种特殊的线性结构,同时对于不同类型的队列结构,有不同的限制。我们首先来看一下基本的队列是什么。跟栈一样,我们可以联想生活的情景,比如生活中排队,遵循的原则是这同时也和栈区分开来了。当然,既然是一种数据结构,那么老样子,各种队列类型都有顺序存储结构和链式存储结构。
2024-09-20 16:49:53
1216
原创 数据结构--栈
在刷算法题时和解决业务问题时,经常会使用到栈的思想,那么这个栈到底是什么东西呢?其实栈(stack)就是一种特殊的线性表的数据结构,线性表可以任意操作结构中的数据,而且栈不一样,是一种有限制的线性表,我们能操作的只有栈顶元素。好比弹夹子弹装弹以及桶装水的过程,我们只能控制最上面的元素。“先进后出”/“后进先出”。和线性表一样,也有顺序栈和链式栈两种存储。不同的是,由于栈的限制,一般的操作只有入栈与出栈。栈的基本内容并不多,just-so-so,重点在于如何应用去解决问题,要把握这种。
2024-09-13 10:49:35
469
原创 数据结构--线性表
相较于数组,线性表可以有效的利用存储空间,是一种由同一数据类型构成的有序序列的线性结构。对于线性表的实现,有利用数组连续存储空间的顺序存储方式,也有通过链表实现的存储方式。//实现一个存放int类型数据的顺序表int *data;//指针模拟数组//数组的最大容量int length;//顺序表中元素的实际个数}MyArray;
2024-09-10 13:15:06
322
原创 c语言简单回顾
下面是来自菜鸟教程的图片,非常直观。/* 实际变量的声明 */int *ip;/* 指针变量的声明 */ip = &var;/* 在指针变量中存储 var 的地址 */printf("var 变量的地址: %p\n", &var );/* 在指针变量中存储的地址 */printf("ip 变量存储的地址: %p\n", ip );/* 使用指针访问值 */printf("*ip 变量的值: %d\n", *ip );return 0;
2024-08-19 17:15:21
936
原创 算法入门1--分而治之
分而治之的思想就是将问题一分为二(我觉得其实也就是递归),再在子问题继续分,也就是递归。在这道题中,分完后就是“治”:每两个元素对比取max。不过这里我们需要考虑跨界问题,如上图左边,4-5间元素最大和为6,后续的分析都是一样的。新手入门的最大子序列和问题,就是一道典型的分治思想算法问题。这个解法也比较好理解,它的时间复杂度是O(N)
2024-08-14 10:09:35
304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅