最近在折腾 [[Rime]] 输入法,想配置一套日语输入方案,方便写笔记时随时切换输入日语词汇。配置过程中我发现了一个奇怪的现象:候选词列表里有时会出现一些看起来像简体中文的汉字,而不是标准日语汉字的写法。出于好奇,我翻开 japanese.jmdict.dict.yaml 字库文件仔细检查,才意识到背后其实涉及日语汉字的一段重要历史——新旧字体之争。
日语汉字改革的历史背景
要理解这个问题,得先回到二战结束后的日本。1945 年战败后,日本政府推行了一系列文字改革,目的是降低汉字学习难度,推动文化普及。1946 年,日本内阁颁布了《当用漢字表》
Read more ...
[[Andrej Karpathy]] 最近在 GitHub 上发了一个 Gist,介绍了一套他叫做「LLM Wiki」的个人知识库管理模式。很多人说这是他这两年分享的东西里最实用的一个,我花了几天时间认真研究了一遍,觉得值得写一篇文章把它的核心逻辑说清楚。
Karpathy 不是第一次聊知识管理的话题了。2024 年初他就写过一篇关于 [[Obsidian]] 的「情书」,核心观点是 Obsidian 代表了他心目中软件应该有的样子——不是一个试图锁定用户的产品,而是一个哲学上站得住脚的工具。但那篇文章更多是在夸 Obsidian 的设计理念,而
Read more ...
2026 年 3 月 7 日,[[Andrej Karpathy]] 在 X 上发了一条推文,宣布开源一个叫做 AutoResearch 的项目。帖子的热度出乎很多人的意料——发布几天内 GitHub 累积了 21,000 个星标,原始推文的浏览量达到了 860 万。两周后,《财富》杂志专门写了一篇文章,把这套方法命名为「The Karpathy Loop」,认为它代表了 AI 研究方式的一次范式转变。
我自己看完这个项目之后第一反应是:这个想法太简洁了,简洁到让人觉得「为什么之前没有人这么做」。它的核心思路用一句话就能说清楚:把一个 AI Age
Read more ...
最近在重新整理终端和 [[TUI]] 工具链的时候,我又一次被一个老问题绊住了:为什么在图形界面里看起来再自然不过的一组快捷键,到了终端里就突然变得暧昧不清?最典型的例子就是 Tab 和 Ctrl+i,还有 Enter 和 Ctrl+m,再加上那个几乎所有 [[Vim]] 和 [[Neovim]] 用户都感受过的 Esc 延迟问题。你表面上看到的是一个快捷键不太灵,往下挖一层,真正的问题往往不在编辑器本身,而在终端把键盘事件传给程序的方式,本来就带着历史包袱。
这也是我最近重新认真去看 kitty keyboard protocol 的原因。它名字里虽
Read more ...
这两年我一直在看一个很有意思的变化:AI 产品一开始最容易被做成聊天窗口,但真正会进入日常工作流的,往往不是“再来一个聊天机器人”,而是那些把某个具体动作做得更顺手的工具。语音输入就是典型例子。很多人其实并不缺“能识别语音”的系统,手机自带输入法、系统听写、[[Whisper]] 生态都已经够用了,真正不够的,是把一段乱糟糟、带口头禅、夹杂自我修正的自然说话,直接变成可以贴进邮件、文档、消息框里的成品文字。
所以我看到 [[Google]] 最近推出 Google AI Edge Eloquent 时,第一反应不是“Google 又出了一个 AI
Read more ...
过去一年我在看 [[Agent]] 产品的时候,一个感受越来越强烈:真正难的往往不是“让模型会调用工具”,而是把一套能长期跑、能恢复、能接企业系统、还能管住权限的 agent 基础设施搭起来。很多团队一开始做 demo 很快,给 [[Claude]] 或别的模型加几个 tool,跑通一个 happy path 并不难;但一旦任务变成长时间执行、要操作代码、要调用外部服务、要给不同用户隔离凭据、要把中间状态可靠地保存下来,问题马上就从 Prompt 设计变成了系统设计。
所以我第一次看到 [[Anthropic]] 推出 Claude Managed
Read more ...
最近我越来越在意一个问题:我们已经有很多很强的 [[AI Agent]] 了,但真正能稳定调用的能力,还是主要集中在 shell、API 和本地文件系统里。至于网页上的功能,哪怕已经很成熟、很高频,到了 Agent 这里往往还是得重新“理解页面、点按钮、猜 DOM、处理登录态”。这类方式不是不能用,只是每次都像临场发挥,离稳定和可复用总差一口气。[[OpenCLI]] 让我觉得有意思的地方,就是它没有继续在“更聪明地看网页”这条路上内卷,而是换了一个角度,想办法把网页、[[Electron]] App 和本地工具都收编到统一的命令行入口里。
这里说
Read more ...
前面我分别写过使用 asdf-vm 管理编程语言多个版本和多版本管理工具 mise 使用详解。那两篇更偏工具介绍,适合第一次认识 asdf 和 mise。但真轮到自己迁移的时候,最关心的通常不是概念,而是另外一个问题:我已经在机器上用 asdf 管了很多年的 Python、Node.js、Ruby,现在如果想换到 mise,到底该怎么换,才能既不打断当前工作,又不把已有项目折腾乱。
我自己这段时间重新梳理了一遍本地环境,最后得出的结论很简单:不要一上来就卸载 asdf,也不要先把所有仓库里的 .tool-versions 全部改成 mise.tom
Read more ...
前段时间有一台跑了几个月没怎么管的 VPS,突然收到磁盘空间告警。SSH 上去一看,/var/log 目录下积攒了好几个 GB 的日志文件,其中 [[Nginx]] 的 access.log 一个文件就占了 3GB 多。其实这类问题我遇到过不止一次了,每次的解决方案都很简单——确保 logrotate 正确配置。logrotate 是 Linux 系统上一个看似不起眼却极其重要的工具,它能自动帮你轮转、压缩、删除旧日志,让日志管理真正变成一件不需要操心的事情。
logrotate 是什么
logrotate 是 Linux 系统上专门用来管理日志
Read more ...
最近在处理一批从 [[OpenAI]] API 导出的微调数据时,我注意到官方要求的训练数据格式不是普通的 JSON,而是 .jsonl。打开文件一看,每一行都是一个独立的 JSON 对象,没有外层的方括号,也没有逗号把它们串起来。一开始觉得这不过是把 JSON 数组拆开写罢了,但真正用起来之后才发现,这种看似简单的格式变化,在数据处理的效率和灵活性上带来了非常显著的提升。
JSONL 是什么
JSONL 的全称是 JSON Lines,有时候也被叫做 Newline Delimited JSON(NDJSON)。它的规则可以用一句话概括:文件中
Read more ...