凌晨两点,你的三个AI代理同时醒了。一个去检查服务器,一个复盘昨天的会话,还有一个在写代码。它们都想往同一个文件里写东西。然后,数据没了。
Vilius Vystartas最近就栽在这个坑里。他管着153个AI技能文件,从发iMessage到调试SPFx构建,全写成结构化指令存着。20个技能的时候一切安好,153个的时候,文件系统开始撒谎。
![]()
问题从"能跑"变成"跑对了吗"
他的技能库叫Hermes,每个技能是个SKILL.md文件,躺在~/.hermes/skills/目录下。代理发现技能有bug、缺步骤、过时了,就往skill_gaps.jsonl里记一笔,等人来修。
单机单代理,这设计挺干净。但Vilius的代理不是聊天机器人,是自主运行的:定时任务每小时扫基础设施,自我改进循环分析历史会话,委托编码器趁他睡觉写功能。它们不等人发指令。
并发写入撞车了。JSONL行被截断,数据蒸发。他搞不清哪些技能该修,代理还在默默加载坏掉的技能——因为故障报告本身就不靠谱。
更烦的是找东西。"那个关于PyPI发布的技能"在哪?只能grep目录树,赌前面的元数据格式一致。
平面文件扛不住几十个以上的规模。他有153个。
Skill Forge:给技能库装了个数据库
他写的解药叫Skill Forge。SQLite打底,原地索引,不挪文件。
核心就三条:
WAL模式——多代理同时读写不锁死。每个代理有自己的连接,外键约束开着。两个代理同时注册不同技能,都成功。原子事务,状态不脏。
FTS5全文搜索——搜名字、分类、描述、正文内容。找"PyPI分类器相关的技能",forge search "pypi classifier",秒出结果,排好序。
单文件——forge.db扔在~/.hermes/skill-forge/,没服务端进程,零配置。forge export就能备份,可移植。
他打了个比方:像是pip,但本地优先,安装前要先过验证。
质量闸门:坏技能进不了场
以前技能坏了,得等代理跑到一半撞墙才发现。现在两道检查:
前置元数据验证——缺必填字段直接拒。
执行验证——模拟运行,报错就拦。
153个技能,306次质量检查,0个失败。状态命令一目了然。
分类也显形了:MLOps 12个,DevOps 8个,创意类15个,职业3个,研究7个,剩下108个没归类——这本身就是信号,该整理整理了。
这事的真正价值
Vilius没解决什么宏大命题。他解决的是一个具体临界点:当AI代理从"玩具"变成"基础设施",文件系统级别的粗糙就开始杀人。
153个技能不算多。但自主代理的并发写入,把"偶尔出错"变成了"系统性不可靠"。他补上的不是功能,是信任——让代理汇报的故障是真的,让搜索的结果是对的,让凌晨两点的三个进程各干各的,不互相踩脚。
如果你也在攒AI技能库,数数你的文件。过了几十个,grep和JSONL就开始骗你。那时候,你可能也需要一个forge status,看看哪些技能其实在裸奔。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.