终端复用器是给坐在键盘前的人写的,分屏、切窗口、断线重连,前提都是有个人在看着。现在 pane 里跑的常常是 agent,人不在跟前,要的东西就变了。 keepane 是按后面这个前提写的。每个 pane 有名字、有收件箱、有工作模式,pane 之间能互发消息,也能让对方直接执行一条命令;同一台机器上如此,配过对的两台电脑之间也一样。人、脚本和 agent 走同一套,agent 那侧还能走内置的 MCP 服务端。 终端断了 pane 里的程序照跑,跑完了手机、桌面或者 webhook 会告诉你;扫个二维码就能在手机
向量检索有个不太好看的账:索引往往比原始数据还大。六千万条文本切块,用传统办法建索引要 201 GB,而那堆文本本身没那么大。想在自己笔记本上索引邮件、浏览记录、聊天记录,这道门槛就卡在硬盘上。 LEANN 的选择是索引里干脆不存向量,只存一张剪过的图,搜索时走到哪一跳就现算哪一跳的向量。同样那六千万条,索引降到 6 GB。 论文是 arXiv:2506.08276 ,伯克利那批人写的,作者名单里有 Ion Stoica、Matei Zaharia、Joseph Gonzalez。 存储开销 摘要里的原话是索引「需
现在优化 skill 的工具都是一次挑一个:你选中某个 skill,给它写一批测试 prompt,跑评委打分,改完再跑一遍。有几十上百个 skill 的时候这条路走不通,瓶颈根本不是优化算法,是你没空逐个去挑、逐个编测试用例。 lamarck 换的是这个前提:装一次,之后所有已装的 skill 全部进入观察,不用挑、不用写用例、不用配置。它在后台看真实调用,攒够同一类证据才对某一个提出一处改动,改完立刻验,变差就退回去。 观察范围 一次挑一个的做法,隐含假设是你知道哪个 skill 有问题。实际上你不知道,你只知道
长程 agent 跑着跑着就废了,这件事大家都见过,但很少有人把它拆成具体的失败模式再拿数据说话。 FrontierAgent 是 Apodex 前两天开源的 agent 运行时,翻代码时发现它把两个失败模式量化过:一个是上下文压缩触发得太晚,子 agent 被端点打死;另一个是压缩把旧结果换成占位符之后,模型开始一遍遍重发同一个搜索。 这两件事还是同一个环的两端。 项目概况 仓库里是一套 agent 运行时加终端产品加评测套件,两种自带工作流:ReAct 是单个有状态的 agent 自己查、读、写、跑命令;Age
星标过的仓库再没打开过第二次,截图记得长什么样却翻不出来,书签埋在几层文件夹里,一小时前复制的那段东西不知去向,想开的应用埋在三层菜单下面。这些东西的共同点是存的时候顺手,找的时候只能靠运气。 喜鹊爱叼亮闪闪的东西回窝,然后忘了放哪儿,所以叫 magpie。按 Alt+Space 唤出面板,把还记得的那点描述打进去,或者丢一张图进去,回车。 本地跑,不联网,不扫全盘。下面写的是 v0.1.20。 源 Tab 在四个标签之间切:本地、星标、Web、剪贴板,顺序和默认打开哪个都能在设置里改。应用不单独占标签,在本地标签
前一篇翻完一个把 agent 摆进办公室的项目,顺手又去看了火山引擎开源的这个,两个都在解决 agent 记不住事,路子完全不一样。 OpenViking 的做法是别让 agent 去查一个黑盒向量库,让它像开发者一样用 ls 、 tree 、 find 翻自己的上下文。记忆、资源、技能统一挂在 viking:// 这个虚拟文件系统下,每个目录带一份摘要和一份概览,检索先定位到目录再往下钻。 这篇记一下它的结构、检索流程,以及一致性那块的取舍。 项目概况 不是薄封装,是三种语言各管一层。到今天的 HEAD( afa
刷到这个仓库的时候是被名字骗进去的,munder-difflin,《办公室》里那家最差的纸业公司,主管 Michael 也搬了过来当了这层楼的老板。演示视频里一堆像素小人在办公室里走来走去,互相发消息的时候还有信封在桌子之间飞,看着像个玩具。 后来翻到一份叫 docs/message-queue.md 的文档,一千多字只讲一件很窄的事:一个真实的 CLI 只有一根输入行,而想用它的不止你一个。这篇就记一下里面几处认真想过的地方。 项目概况 munder-difflin 是个 Electron 桌面应用,把你已经在终
同时用好几个编码 agent 的人都遇到过:Claude Code 干到一半退了,换 Codex 打开同一个目录,上一个知道的事一件都不剩。 ai-memory 是个 Rust 单二进制,用 MCP 加生命周期钩子给这些 CLI 接一层共享的长期记忆,不用手动 write_note ,也不用把总结在会话之间复制粘贴。 读它代码最大的收获不是功能表,是那十五条不变量——每一条后面都挂着一个别人踩过的坑的 issue 号。 要解决的问题 它把记忆沉淀成一棵 git 版本化的 markdown 树,作者管这叫 Karpa
时序预测这行以前的规矩是一个数据集训一个模型,调参调到吐。 TimesFM 是 Google Research 那个拿来就能零样本预测的基座模型,仓库我扒了一遍。 想写它不是因为分数,是因为「变长、缺洞、要分位数」这几件脏活它全在模型外面办掉了,代码里看得清清楚楚。 定位 decoder-only 的 patch 化时序模型, 论文 进的 ICML 2024, 开源仓库 Apache-2.0。它自己的话是零样本精度接近逐数据集单独监督训练的水平——注意是接近,不是超过,这个定位一开始就没吹。 现在这东西不只是个 r
自我改进的 agent 现在不新鲜了,让模型自己改自己的 prompt 和工具,谁都能搭一套。 难的是改完不崩:这道题好了,那三道悄悄坏了,回头看还不知道是哪一次改动干的。 DarwinX 给的答案挺利落——模型全程冻死,把「不许倒退」写进准入条件,然后养一群外壳互相配种。 外壳 论文里的 agent 分两层:模型权重,和包在外面那层跑起来的东西。后者是它说的 harness。 变的不是权重,是它读的提示、能调的工具、留的笔记,以及给动作排序的控制流。 可编辑的面被切成两块: skill (提示、记忆、蒸馏出来的知
图片超分这类工具,模型早就够用了,卡住普通人的是环境:Python、PyTorch、CUDA 版本、一长串命令行参数。 Final2x 做的事情是把这堆东西塞进一个六百多像素宽的小窗口——拖图进去、选模型、点开始。 让我想写一篇的不是它的界面,是它划进程边界的方式:界面这边一行推理代码都没有,真正干活的是另一个进程、另一门语言,两边靠三样东西通信。 定位 跨平台的图片超分辨率工具,Windows、macOS、Linux 都有发行物,BSD 3-Clause。当前是 v4.0.0,推理后端换成了 cccv,开始支持挂
上一篇写 DeepSeek Harness 的时候,底下那层 Cordis 我只用五句话带过,因为当时手上没有它的代码。 现在代码拿到了,从头读了一遍,发现那五句里至少有一句是错的,而真正值得说的地方一句都没提到。 这篇补上:一次插件激活到底走了哪些步骤、每个模块是怎么实现的,以及我认为它在方法论上真正解决了什么。 定位 Cordis 不是为 agent 写的。它 2022 年 5 月的第一个提交,是从聊天机器人框架 Koishi 里抽出来的通用底座,作者 Shigma 一个人写了绝大部分。四年多、五百多次提交,
DeepSeek Harness(命令行叫 dsh )是 DeepSeek AI 开源的 agent harness,MIT,还在 developer preview 阶段,明说会有破坏性变更。它不是又一个「把 prompt 和工具拼起来跑一圈」的循环,而是把整个 agent 运行时——模型适配器、工具注册表、会话日志、连 agent loop 本身——全部做成插件,挂在一个叫 Cordis 的框架上。没有一个要打补丁的内核,任何一层都能从配置替换掉。 这篇不介绍怎么用它写 agent,而是拆它的架构:Cordis
给编码助手装「子人格」这件事,各家工具都支持,但角色从哪来是个体力活:自己写,或者满网抄。 Agency Agents 干脆把它做成了一个仓库——起于一条 Reddit 帖子, 如今攒了两百七十个带人格的专家角色,按公司组织架构分成十七个「事业部」,一条命令装进十六种工具。 角色本身是提示词工程,仓库真正下功夫的地方是分发和治理,这篇两头都拆。 定位 MIT 协议的角色集合,每个角色一个 markdown 文件:frontmatter 记名字、简介、配色、性格标签, 正文是完整的人格设定——身份与记忆、核心使命、铁
评测 agent 的基准大多长在程序员的地界上:修 bug、刷题、逛网页。 法律 AI 公司 Harvey 把自家的评测开源了出来—— Harvey LAB (Legal Agent Benchmark), 让 agent 坐进虚拟资料室里干真实的律师活:尽调、起草、红线、备忘录。 任务怎么造、环境怎么隔离、没有标准答案怎么判分,这套设计值得拆开看看。 定位 MIT 协议的开源基准,两部分:一个任务数据集,一个执行与评测 harness。 文档口径是 1,660 个任务、覆盖 24 个执业领域加合同板块、约 10.
用聊天窗口学东西有个通病:金鱼记忆。今天讲明白的概念,下周开个新会话又得从头解释一遍; 错过的题、读到一半的资料、积累的笔记,散落在各个网页里,谁也不认识谁。 DeepTutor 是港大 HKUDS 实验室开源的学习工作台,想把这些串成一个整体—— 装在自己电脑上,资料是自己的,记忆看得见摸得着。这篇按模块拆开讲讲它到底是怎么运转的。 定位 简单来说就是一个装在你自己机器上的 AI 家教,Apache 2.0 开源, pip install deeptutor 就能起。 它自己不带「脑子」——大模型用你配的(Ope
上一篇拆了管省钱的 prompt-cache,这篇接着拆管认账的。 Agent 跑在生产上有个老问题:它存的是 embedding,不是意义——上下文说不清来历,决策事后无从审计。 在信贷、医疗这类行当里,「AI 为什么这么判」是监管几个月后真会来问的问题,向量库答不上来。 Semantica 用知识图谱来补这块,把源码翻了一遍,记下来。 定位 一个 Python 框架, pip install semantica 就有,自我介绍是「Open Source Palantir for AI Agents」——营销词放
线上的 LLM 调用看多了,会发现请求高度重复:客服机器人翻来覆去就那几问,RAG 内部问答也扎堆。 按 token 计费的上游对着重复问题一遍遍生成,钱白烧,延迟也压不下来。 传统精确匹配缓存在自然语言面前几乎无命中——「怎么退货」和「退货流程是什么」字面不同、语义相同。 把 prompt-cache 这个 Go 项目的源码通读了一遍,架构、每个模块的做法、以及它没说透的风险,都记在这里。 定位 PromptCache 是一个自托管的语义缓存网关:单个 Go 二进制,横在应用和 LLM 提供商之间, 对外暴露 O
终端 coding agent 见得多了,Prime Agent 还是让我停下来看了半天:模型手里只有一个工具,跑过的经验能沉淀回自身,关了终端会话也接着跑。 它是 PrimeIntellect 开源的 coding / research agent,官方定位就一个词——self-improving,自我进化;TUI 与 agent 基座借自开源的 pi,MIT 协议。这篇是通读文档和源码之后的笔记。 只有一个工具 一般的 coding agent 给模型发一把工具:读文件、写文件、跑命令、搜索,各是各的调用。Pr
传统服务的行为由 config 决定,AI agent 的行为由 skill 和 prompt 决定。这两样东西本质上是同一类:都是写在代码之外、运行时才去取的行为定义。既然是同一类,就该收进同一个服务统一管理。 Skill Shelf 是我按这个想法写的东西。给 agent 的那半边是 skill 仓库:像 Git 一样管版本、按自然语言需求路由、用反馈驱动 AI 改进,并以 MCP server 直接供 agent 取用。给服务的那半边是配置中心:namespace 隔离、草稿/发布版本化、service to