- 博客(112)
- 资源 (2)
- 收藏
- 关注
原创 Harness 的实践:使用skill search 提高 skill 调用准确度
先把"搜索 Skill"这件事,做成一个明确步骤。但一旦一个行为真的重要——比如"遇到执行类任务时,要先检查有没有现成 Skill"——那它就不应该只是提示词里一句"优先使用 Skill",而应该是一条真正存在的运行时流程。原来的 Skill 调用机制是这样的:把所有 Skill 的名字和描述都塞进系统提示词里,然后告诉模型"如果当前任务适合某个 Skill,就优先使用"。才稳,现在即使只是自然语言说"帮我查一下""去网上搜一下""看看有没有现成工具",它也会先经过 Skill Search 再决定。
2026-04-18 17:41:20
119
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
类似于编译器的配置文件。里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。文章里详细描述了 CLAUDE.md 的格式、目录结构、操作流程——然后 LLM 就把文章内容当成了指令,直接开始重建目录结构。
2026-04-09 09:19:14
25
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。等笔记过了一万条,搜索开始找不到、找不全了,再考虑 RAG。CLAUDE.md 是一个可编辑的配置文件——你改了它,LLM 的行为就跟着变,不需要改代码、重新编译。
2026-04-09 09:19:14
50
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
类似于编译器的配置文件。里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。文章里详细描述了 CLAUDE.md 的格式、目录结构、操作流程——然后 LLM 就把文章内容当成了指令,直接开始重建目录结构。
2026-04-09 09:19:14
62
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。等笔记过了一万条,搜索开始找不到、找不全了,再考虑 RAG。CLAUDE.md 是一个可编辑的配置文件——你改了它,LLM 的行为就跟着变,不需要改代码、重新编译。
2026-04-09 09:19:14
19
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。等笔记过了一万条,搜索开始找不到、找不全了,再考虑 RAG。CLAUDE.md 是一个可编辑的配置文件——你改了它,LLM 的行为就跟着变,不需要改代码、重新编译。
2026-04-09 09:19:14
12
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
类似于编译器的配置文件。里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。文章里详细描述了 CLAUDE.md 的格式、目录结构、操作流程——然后 LLM 就把文章内容当成了指令,直接开始重建目录结构。
2026-04-09 09:19:14
7
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。等笔记过了一万条,搜索开始找不到、找不全了,再考虑 RAG。CLAUDE.md 是一个可编辑的配置文件——你改了它,LLM 的行为就跟着变,不需要改代码、重新编译。
2026-04-09 09:19:14
11
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。等笔记过了一万条,搜索开始找不到、找不全了,再考虑 RAG。CLAUDE.md 是一个可编辑的配置文件——你改了它,LLM 的行为就跟着变,不需要改代码、重新编译。
2026-04-09 09:19:14
237
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。等笔记过了一万条,搜索开始找不到、找不全了,再考虑 RAG。CLAUDE.md 是一个可编辑的配置文件——你改了它,LLM 的行为就跟着变,不需要改代码、重新编译。
2026-04-09 09:19:14
6
原创 我用 AI 给 Obsidian 写了一个“LLM-wiki“插件
类似于编译器的配置文件。里面定义了目录结构和所有权规则、Wiki 页面的 frontmatter 格式、四种操作流程的具体步骤,还有十条"铁律"——比如"永远不要修改 raw 的内容"、"每次操作后必须更新 index.md 和 log.md"。LLM 收到"请在 wiki/summaries/ 创建文件"——但它不知道你的 vault 在磁盘上的绝对路径,写不了。文章里详细描述了 CLAUDE.md 的格式、目录结构、操作流程——然后 LLM 就把文章内容当成了指令,直接开始重建目录结构。
2026-04-09 09:19:14
219
转载 【译】Claude Code 团队经验:Prompt Caching 就是一切
API 会从请求的开头开始,一直缓存到你设置的断点。在 API 看来,这个请求和父对话的上一个请求几乎一模一样——相同的前缀,相同的工具,相同的历史。但是,因为工具定义是缓存前缀的一部分,所以无论你增加还是删除工具,都会导致整个对话的缓存失效。当用户打开计划模式时,系统会给 Agent 发送一条消息,告诉它:“现在进入计划模式,你的任务是探索代码库,不要修改文件,计划完成后调用。如果你需要运行旁路计算(比如压缩、总结、执行技能),请使用相同的、缓存安全的参数,这样你就能白嫖父级对话的缓存。
2026-03-29 21:02:37
57
转载 【译】Claude Code 团队经验:学会用 Agent 的眼光看世界
实际上,Skills 最常见的一个用途,就是给 Claude 增加搜索能力,比如教它怎么用某个 API,或者怎么查数据库。接着,我们尝试修改 Claude 的系统提示词,让它输出一种特定格式的 Markdown,用来表示问题。它极大地取决于你用的是什么模型,Agent 的目标是什么,以及它在什么样的环境中运行。但在 Claude API 里,有各种各样的工具构建方式,比如执行 bash 命令、调用 Skills,或者最近新出的代码执行功能。最后,我们决定专门做一个工具,让 Claude 随时可以调用。
2026-03-27 09:30:23
24
转载 【译】Claude Code 团队经验:如何用好 Skills
比如,你有一个专门用来上传文件的 Skill,还有一个生成 CSV 的 Skill,你想先生成 CSV 然后把它上传。目前市场或 Skill 本身还没有原生的依赖管理系统,但你只要在描述里通过名字引用其他的 Skill,只要用户安装了,模型就会自动去调用它们。最理想的状态是,你随着时间不断更新这个 Skill,把新遇到的坑加进去。它是 Anthropic 的一位工程师通过和客户不断迭代出来的,主要目的是为了提升 Claude 的"设计品味",防止它总是使用 Inter 字体和紫色渐变等烂大街的设计模式。
2026-03-25 09:11:48
47
原创 你应该知道的 AI 术语
比如你让它写个功能:它先看一眼目录(行动并观察),决定要修改哪个文件(思考),调用写文件的工具(行动),然后运行测试看有没有报错(观察),如果有错就继续改(再思考)。当问它一个不知道的问题时,程序会先去你的数据库里搜索相关信息,然后把这些信息和问题一起喂给 AI。当它没这方面的知识,又得强行回答时,就会一本正经地胡说八道,这就叫幻觉。以前的 AI 只能挨个看句子里的词,而 Transformer 可以同时看完所有词,并理解词和词之间的关系。这就像是写给 AI 看的员工手册,给它一个基本的行为边界。
2026-03-23 23:20:05
342
转载 【译】5个ADK开发者必须掌握的Agent Skill设计模式
最近使用 AI 写代码用到了很多 SKILL,但是每个人写的 SKILL 都不同,没有一个公共的标准或者模式,最近看到Google Cloud 技术团队的一篇文章,很有启发,翻译成中文,大家可以参考一下。通过研究整个生态系统中Skill的构建方式——从Anthropic的代码库到Vercel和Google的内部规范——我们发现了五种反复出现的设计模式,可以帮助开发者构建更好的Agent。
2026-03-19 22:40:41
42
原创 Rob Pike的五大编程原则
Rob Pike 是一位在计算机史上份量很重、但又有点“隐身”的工程师:他长期在贝尔实验室工作,参与了 Unix 的早期开发,是 Plan 9、Inferno 操作系统的核心人物之一,也是图形系统 Blit、Sam/Acme 编辑器的作者之一,后来加入 Google,成为 Go 语言的三位“亲爹”之一。:当 n 很小时,花哨的算法通常更慢,而 n 通常都很小。性能瓶颈常常出现在意想不到的地方,所以在你证明瓶颈在哪里之前,不要自作聪明去做。就算算过了,也只在某一部分明显压倒其他部分时,才去优化它。
2026-03-19 10:00:40
15
原创 Codex 最佳实践指南
我仔细读了一遍,发现里面有很多实用的建议,特别是对于那些刚开始用 AI 编程工具的人。如果你也在用 Codex(对于其它AI 编程工具也适用),或者对 AI 编程感兴趣,这篇文章应该能帮到你。如果是对 bug 敏感的项目,建议保留人工 review 步骤,也可以使用不同的 AI review。如果你只有个大致想法,可以让它先采访你,把模糊的想法变得具体。把这些习惯养成后,Codex 会从一个简单的助手,变成真正可靠的编程搭档。Codex 的最佳实践可以总结为:先规划、再执行、重验证、常优化。
2026-03-13 22:32:23
320
原创 Agent Tool Call:从“对话”到“执行”的工程实践
如果你要求模型“查询订单状态”或“发送一封邮件”,它通常会回复:“对不起,我无法访问您的数据库。在使用大模型的过程中,你肯定发现目前的大语言模型(LLM)在逻辑推理、代码编写和文本生成方面表现优异。(工具调用,也称 Function Calling)的出现,正是为了给模型安装上“手脚”,让它能够通过结构化的方式与外部系统交互。工具结果必须来自你的系统,模型不能「假装已经查到了」——这是你在 code review 里要严格把关的边界。:好的描述包含了边界条件和前置要求,是模型进行“决策”时不可或缺的信息。
2026-03-10 07:31:05
278
转载 如何实现一个功能齐全但极简的 Agent
大模型本身既没有状态,也没有手脚。模型当然重要,但真落到工程上,决定 Agent 体验的,往往不是参数规模,而是上下文管理。如果你的目标只是做一个极简可用的记忆系统,最简单的办法不是上向量库,而是先落一个本地文件,把值得保留的信息存起来,并提供几个最基础的检索方法。Skill 这两年很火,原因也不复杂:它提供了一种很自然的方式,让 Agent 在不膨胀主提示词的前提下,按需获得额外能力。如果你希望它像一个真正的助手,而不是一次性脚本,一个很直接的方向就是:让它在完成当前任务后,能够自然地进入下一轮交互。
2026-03-07 22:17:47
43
原创 Git Worktree:多分支并行开发的利器
Git 的分支功能很强大,但实际开发中经常遇到一个问题:需要在同一时间处理多个任务,比如主分支有紧急 Bug 要修,同时又想在一个新分支上做重构。这样的简写,可以顺手为 worktree 配一套 alias,进一步提高效率,以下是我的 alias 配置,可以参考一下。主树遇紧急 Bug 时,直接在 master 修复、commit,无需打断重构,更不需要 stash / pop。命令,它允许一个 Git 仓库对应多个工作目录,每个目录可以检出不同的分支,实现真正的并行开发。
2026-03-07 21:22:56
412
转载 【译】基于python 的 RPC 框架比较: gRPC vs Thrift vs RPyC
原文地址:https://www.hardikp.com/2018/07/28/services/引言那一年是2015年。我正在写一堆ML训练脚本以及几个生产脚本。他们都需要金融数据。数据...
2021-08-15 20:59:00
1449
原创 RPC 发展史
“Does developer convenience really trump correctness, scalability, performance, separation of ...
2021-08-14 21:35:00
1404
原创 go-chassis 运行时做了什么?
什么是 chassis?Chassis,是一种微服务模式。在这种模式中,用户并不需要自己去处理构建微服务过程中外部配置、日志、健康检查、分布式追踪等,而是将他们交给专门的框架来处理。用户...
2020-11-29 16:15:57
1429
3
转载 【译】golang 可变参数函数终极指南
使用常用模式学习关于go语言可变参数函数的一切Ultimate Guide to Go Variadic Functions 原文地址https://blog.learngoprogr...
2020-08-16 23:33:41
3119
原创 使用VuePress 搭建个人博客
介绍VuePress 是一个静态网站生成器,包含由Vue驱动的主题系统和插件API,同时还包含一个为书写技术文档而优化的默认主题。此篇文章只介绍如何使用VuePress 搭建个人博客的部...
2020-06-14 22:24:31
943
转载 Google 开发者写作课程
Google 技术写作课程搬运,原文地址(需要梯子):https://developers.google.com/tech-writing/overview?hl=zh-cn[1]备份可...
2020-03-01 21:13:08
671
转载 新型冠状病毒(2019-nCoV)个人防护不完全手册
手册由微博博主@幼棠(https://weibo.com/u/1772600325 )和其他几位海内外志愿者一起搜集、翻译、整理。目的是帮助大家在纷繁信息中清晰有效地找到最适合自己(和...
2020-01-28 00:08:22
277
原创 「工具推荐」golang 代码可视化工具 go-callvis
go-callvis是以图片的形式展示了go程序的调用关系,在看复杂项目时尤其有用。借助它看祖传golang代码,头痛好多了,都有时间更新公号了。安装go get -u github.c...
2020-01-19 23:18:13
2066
1
原创 学习单元测试,告别祈祷式编程
祈祷式编程什么是祈祷式编程?这样这样用流程图表示基本就是这个样子。推荐拜沈从文,毕竟几十年前就写出了边城。祈祷式编程有什么危害呢?累,每次写完代码还需要再祈祷不受控,代码...
2019-10-07 15:00:00
329
1
原创 Redis 选择hash还是string 存储数据?
在stackoverflow 看到一个问题,Redis strings vs Redis hashes to represent JSON: efficiency?内容如...
2019-06-22 11:30:02
3991
1
原创 PostgreSQL JSONB 使用入门
Photo byTobias Fischer[9]onUnsplash[10]json 类型 说明根据RFC 7159[1]中的说明,JSON 数据类型是用来存储 ...
2019-05-30 20:53:39
9581
4
原创 AWS DynamoDB 最佳实践【思维导图】
这是之前DynamoDB 思维导图的文字版,之前发出的图片版有错误,现在重发一下文字+图片版高清大图 请在公号回复“DynamoDB 最佳实践”图片使用XMind: ...
2019-05-30 20:53:39
2169
原创 并发模型:线程与锁(1)
Photo byJefferson SantosonUnsplash并发&并行并发程序含有多个逻辑上的独立执行块,他们可以独立的并行执行,也可以串行执行。 ...
2019-05-19 21:01:09
249
原创 并发模型:线程与锁(2)
> 这是并发模型:线程与锁 的第二篇,第一篇地址为: 《并发模型:线程与锁(1)》https://mp.weixin.qq.com/s/6Xxhw31yJNUCh-...
2019-05-19 21:01:09
207
原创 JWT refreshtoken 实践
Photo byJoseph ChanonUnsplashJson web token (JWT), 根据官网的定义,是为了在网络应用环境间传递声明而执行的一种基于...
2019-04-29 22:11:12
983
原创 Python 官方中文文档已上线
暂时还不能直接在 https://docs.python.org/ 页面的语言选择框选择中文,需要访问地址:https://docs.python.org/zh-cn/3...
2019-03-27 06:50:55
226
原创 golang mod 入门
go modules是 golang 1.11 新加的特性。现在1.12 已经发布了,是时候用起来了。Modules官方定义为:模块是相关Go包的集合。modules是...
2019-03-16 19:46:15
2154
原创 python设计模式-状态模式
问题:有一个糖果公司需要设计一个糖果售卖机,控制流程如下图,需要怎么实现?这是一个状态图,每个圆圈都是一种状态。很明显,有有25分钱、没有25分钱、售出糖果、糖果售...
2018-12-31 20:59:00
166
原创 python设计模式-模板方法模式
首先先介绍一下咖啡和茶的冲泡方法:茶1. 把水煮沸2. 用沸水浸泡茶叶3. 把茶放到杯子里咖啡用python代码实现冲泡方法大概是这个样子:仔细看上边两端代码会发现,...
2018-12-02 18:00:18
166
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅