我的编程助手把记忆存放在纯文本 Markdown 文件里:每个文件记录一条事实,顶部带 frontmatter 头,外加一个每次会话开始时加载的索引。90 个文件,两周历史,25 次会话。 这些文件里处处是对我这台机器的断言:某个路径对应某个项目,某个命令确实存在,某个凭据挂在某个 ID 下面。断言会过期,而格式本身没有任何机制告诉你哪一条已经失效。于是我写了一个脚本,遍历全部记忆,逐条对照机器的即时状态去验证。 第一次运行的结果是:90 个文件里,45 个已经烂掉——整整 50%。 这个数字是错的。而它错的方式,才是真正有意思的部分。 **什么东西真正可检查** 不是记忆文件里的每句话都能验证。"用户偏好简短回答"这种话,脚本无法证伪。但可检查的内容远比想象中多: - 文件系统路径,用 os.path.exists 检查 - 命令是否存在,用 shutil.which 检查 - 凭据 ID,询问密码管理器该对象是否仍然存在 - 以保质期形式写下的日期,对照今天检查 - 记忆文件之间的内部链接,对照文件名集合检查 这已经是相当密的网了。麻烦在于,网还会捞上别的东西。 **误报之一:反引号里的东西都像命令** 第一版脚本的逻辑是:抓出所有反引号包裹的 token,然后问它是否在 PATH 上: RE_CMD = re.compile(r'`([a-z][a-z0-9_.-]{1,20})(?: [^`]*)?`') 记忆文件是代理写给代理读的,反引号在其中的用法接近散文里的斜体。于是审计器把下面这些全部报成"缺失命令": - devto-comment-drafting-rules.md - comprehensive - robust - leverage - webdev -
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.