我的 Jarvis 是怎样搭起来的
个人 AGI 不是把所有东西塞进一个超级应用,而是用一层由自己控制的智能,把记忆、工具、方法和真实行动连接起来。
上一篇文章里,我试着回答了"什么是个人 AGI":它不只是一个更聪明的模型,而是一套以个人生活为边界,能够长期记忆、调用工具、从合作中积累能力,并最终由个人控制的智能系统。
文章结尾我留了一句话:下一篇,回到自己的搭建过程。这篇就是来还债的。
先说明一件事:我的 Jarvis 还远没有完成。
它不是能在展台上演示的成品,而是一套正在日常任务中反复试验的系统。它已经能帮我回顾一天和一周,从不同工具里读取线索,在写文章和处理工作时找回项目背景,也能把我们反复跑通的步骤保存成可复用的方法。同时,它仍然会漏掉信息,会把"安排过"误解成"做到了",也需要我在关键步骤上确认、纠正和验收。
正因为它还在成长,我才开始看清:个人 Jarvis 的架构问题,往往不是"选哪个模型",而是哪些东西应该连在一起,哪些东西必须保持分开。
下面是我目前做出的几个选择。
Jarvis 不是一个超级应用
如果只看我在用的工具,这套系统一点也不像电影里的 Jarvis。
Todoist 负责捕获想法和管理行动,Google Calendar 保存时间安排,PARA 里的 Markdown 文件保存项目、知识和长期记录,Codex 负责读取这些来源、理解当前任务,再调用工具完成工作。邮件原件继续留在 Gmail;私密日记甚至可以完全不进入 Jarvis。
这里先解释几个词,后文不再重复。PARA 是 Projects(项目)、Areas(长期负责的领域)、Resources(资源)和 Archives(归档)的缩写,是一种按"资料与当前行动的关系"组织信息的方法。Markdown 是一种结构简单、便于迁移的纯文本格式。Codex 这类能读取本地文件、调用工具、执行任务的 AI 工作环境,工程上称为 Harness:如果模型是大脑,Harness 就是让大脑能读记忆、用工具、做事情的神经系统。
这套系统更像一组可插拔的零件。每个软件继续做自己擅长的事:任务软件提供成熟的捕获和待办界面,日历管理安排,文件系统保存我长期拥有的记录。AI 不替代它们,而是在上面形成一层智能,理解我此刻的意图,从不同地方取回证据,再组织成一次可检查的行动。
这是我目前最重要的选择:
Jarvis 是 PARA 之上的智能层,不是另建一个"第二大脑"。
代价很明显:系统没有一个统一的界面,工具之间的边界要我自己设计。好处同样明显:我不必把整个生活交给同一家公司,也不会因为换一个模型或工具,就把与 AI 共同积累的一切重新开始。
第一个决定:记忆留在自己手里
我的 Jarvis 最底层不是模型,而是文件。
项目进度、日常经历、写作草稿、读书笔记和我们共同形成的工作方法,最终都以普通 Markdown 文件保存在 PARA 里。它们可以用 Obsidian 打开,也可以用任何编辑器读取;可以与任何模型合作,也可以在没有 AI 的时候继续使用。
这就是上一篇里那句"大脑可以更换,人生不必重置"的具体实现。
为什么不先上数据库、向量搜索和知识图谱?
因为目前影响我的问题,还不是"在几百万条记录里按含义找资料",而是更朴素的事:一个项目有没有清楚的入口,当前状态和历史记录有没有混在一起,我们能不能找到某个结论的来源和日期。
只要普通文件和精确搜索还能解决问题,更多基础设施就不是能力,而是需要额外照顾的负担。未来如果加入索引、向量库或关系图,它们也只会是可以从 Markdown 重新生成的辅助层,不会取代作为最终依据的原始文件。
复杂度要由已经发生的失败来推动。
第二个决定:先选上下文,再调用智能
把所有文件开放给 AI,不等于它理解了你。
上下文越多,有时反而越容易混乱。几年前的一次决定,可能已经被后来的经历推翻;Inbox 里一篇写得很完整的灵感,可能只是一个尚未采纳的念头;任务软件里的一个勾选,也不能证明现实中的事情已经完成。
所以在 PARA 和 Codex 之间,我设计了一个"图书管理员"。
它不是新软件,而是一组很薄的入口和读取规则:处理某个项目时,先读项目当前入口;需要近期背景时,只打开相关日期的记录;需要原始证据时,才进入归档和附件。同时它要检查来源、日期和状态,遇到新旧记录冲突时,不能悄悄选一个看起来更合理的答案。
这层规则让我意识到,长期记忆的难点不只是"存下来",还有"在正确的时刻选中它"。
普通 AI 往往在回答之前先展示智能。我更希望 Jarvis 在回答之前先展示克制:知道该看什么,也知道哪些东西暂时不该看。
第三个决定:工具各归其位
Codex 是这套系统的 Harness,但 Codex 不是 Jarvis 本身。
模型会更新,Harness 也可能更换。属于我的,是记忆、方法、证据和为它设定的边界。这也解释了我为什么没有急着安装一套更庞大的 Agent 框架:现有的 Codex 已经可以读取本地文件、遵循项目规则、调用外部工具,也能把验证过的流程保存下来。在遇到 24 小时运行、持续监听,或者需要在自己设备上跑多个模型之前,更换 Harness 只会提前支付迁移成本。
外部软件遵守同样的边界。Todoist 保存行动,Google Calendar 保存日程的原始记录,Gmail 保存邮件原件。Jarvis 可以读取它们,提出下一步,在我确认后帮助执行;但它不会为了"统一",先把整个邮箱、日历和任务库复制进 PARA。
一个主动入口,多个来源连接器。
我不想每天先决定该把一个念头发到哪个 AI 收件箱。目前,我用 Todoist 的 Quick Add 作为唯一的主动文字入口:想法加 @capture 标签,明确的行动保持普通任务语义。邮件、日历和其他外部记录留在原地,需要时再被查找和处理。
这里有一个取舍。Todoist 的捕获体验更好,却不是我的永久档案;Markdown 由我持有,却不一定是手机上最低摩擦的输入方式。所以 Todoist 只做临时中转,每日回顾时再把确认后的原文写入 Markdown。
捕获要快,记忆要稳。同一个工具不必同时做好这两件事。
第四个决定:让经验变成可复用的方法
如果 Jarvis 只是记住了我的资料,它仍然不会因为合作而变得更好。真正的积累发生在"做事的方法"里。
举个例子。我最近一直在用 Jarvis 做每日回顾。一开始我以为它只要读取当天的任务和日历,然后写一篇总结。真正跑起来才发现,这会制造大量"看起来合理的错误"。
日历只能证明我安排了一次运动,不能证明我去了。Todoist 上的"完成"可能只是我处理掉一条灵感,不是生活里的成果。一条创建记录可能还在,对应的任务却已经被删除。
所以现在的每日回顾会先收集 Todoist、Google Calendar、相关项目和当天任务里的证据,区分"已知事实"与"需要确认的线索",再用少量问题让我补齐现实中缺失的部分。确认之后,总结和原始想法才写入当天的 Daily。
这套流程不是从理论里一次设计出来的。它出错过,被我纠正过,又在第二天的真实任务里重新验证。等一类任务的步骤、证据边界和确认点稳定下来,我才把它沉淀成可以反复调用的 Skill。
在我的系统里,Skill 不是从网上收集的"能力包",而是一段被自己的真实任务验证过的工作方法。它要说清什么时候被调用,读取哪些资料,产生什么结果,在哪些地方停下来等我。
这是 Jarvis 从"了解我"走向"学会怎样与我合作"的关键一步。
但这里也容易走向另一个极端:一遇到新问题就改 Skill,把某次偶然成功的绕路写成永久规则,最后得到一套越来越长、越来越脆的流程。所以我给 Skill 的进化也设了门槛:一次问题只是现象,重复出现才成为待验证的假设;每次只改一个主要问题,用代表性任务重新测试;改善了就接受,出现回归就撤回,被拒绝的方案也保留原因。
系统可以学习,但不应该在我看不见的地方悄悄改写自己。
把人工确认设计进架构
如果只看自动化程度,我的 Jarvis 也许显得不够"智能"。
它会在写入重要信息前让我确认,在发邮件前展示收件人和正文,在移动或删除文件时停下来,也会在证据不足时明确说"我不知道"。
这些停顿看起来降低了效率,却是信任的来源。
个人 Jarvis 与普通软件有一个根本区别:它处理的不是一类抽象用户的数据,而是一个具体的人的邮件、记忆、关系、行动和承诺。它越有能力,出错的代价就越高。权限不是系统搭好以后再补的安全选项,它本身就是架构的一部分。
我目前的做法是:读取优先,写入谨慎;可恢复的操作优先,不可逆操作单独确认;AI 可以提议,但不能把推测悄悄变成我的事实或决定;每次重要行动之后回读结果,不因为工具返回"成功"就认为事情已经完成。
我不追求让 Jarvis 替我做最多的事,而是追求它提高我的净行动力:它创造的真实结果,扣除监督、纠错、迁移、隐私和依赖成本之后,仍然为正。
一套自动化如果省了我五分钟,却要我每天花十分钟确认它没有惹祸,那它不是 Jarvis,而是另一份需要照顾的工作。
我刻意没有做的事
搭建过程中,"不做什么"逐渐变得和"做了什么"一样重要。
我研究过更完整的个人知识库、向量检索、知识图谱和常驻 Agent,也很容易想象一个统一界面下的终极产品:待办、日历、邮件、笔记和 AI 都在同一个地方,系统全天候主动运行,甚至自动修改自己的 Skill。
这个未来有吸引力,但它不是我的当下。
现在,我没有建第二套与 PARA 重复的知识库,没有全量导入邮箱、日历、联系人和历史日记,也没有为了看起来更像"真正的 Jarvis"去创建常驻服务、健康仪表盘或自动发布链路。
甚至在已经能自动的地方,我也会先手工跑几次。一个流程如果还需要我频繁改口径、补漏项、修边界,让它定时运行只会稳定地放大错误。
我给自己定的顺序是:
真实问题 → 手工跑通 → 简单规则 → 重复验证 → Skill → 高频后再自动化。
这个顺序看起来慢,但它让每一层复杂度都有自己存在的理由,也让我随时可以退回上一层。
简单到能被自己理解
搭建 Jarvis 的过程里,我有过一段明显的兴奋期。当 AI 可以连接越来越多应用,甚至反过来影响我选什么软件时,那种感觉很像科幻突然进入了日常。
但在我把行动系统从 Things 换到 Todoist 的那一天,兴奋很快变成了疲惫。一个工具接入的 Skill 越多,更换时牵动的流程就越多。原本为了减少摩擦的系统,也会长成新的复杂性。
那一天我留下一个很重要的感受:要信任 Jarvis,首先必须了解自己的系统。
所以我开始用四个问题检查它的健康:
- 找得到吗?
- 信得过吗?
- 跑得通吗?
- 养得起吗?
"找得到"意味着记忆能在需要时回来;"信得过"意味着系统不混淆来源、时间和事实;"跑得通"意味着它不只给出漂亮回答,还能完成真实任务并回读结果;"养得起"意味着它节省的时间和精力,必须大于维护它的成本。
如果一套个人智能系统只有创建它的人才能勉强理解,每次换工具都像做一场心脏手术,那它离 Jarvis 还很远。好的架构不该让我越来越崇拜它,而该让它越来越容易被理解、更换和修正。
从一张架构图,回到一个人的生活
现在回头看,我的 Jarvis 可以画成一个很简单的闭环:

我的任务、日程和文件提供事实与上下文;图书管理员规则选出这次需要的部分;Codex 调用模型、Skills 和工具完成工作;我确认结果、纠正错误、做出决定;只有经过确认的事实、经验和方法,才重新回到我长期拥有的记忆里。
这张图里,没有哪个节点可以单独叫作 Jarvis。Jarvis 是它们之间那个能持续运转的反馈闭环。
它使用可以更换的外部智能,却把与我有关的记忆和方法留在我手里;它能够行动,又通过权限和人工确认为行动设定边界;它从我们的共同经历中学习,但不把每一次偶然写成无法更改的规则。
上一篇文章里我说,个人 AGI 的诞生可能非常安静:它从第一条被认真保存的记忆开始,从第一次不需要重复解释开始,也从第一次发现它真的吸收了你的纠正开始。
现在我会再加一句:
Jarvis 也从第一次克制自己开始。
它知道什么该记住,什么可以忘记;什么可以代劳,什么必须由我确认;什么是已经发生的事实,什么只是它根据线索做出的推测。
我希望的个人智能系统,不是一台越来越庞大的机器,而是一个越来越了解我、也越来越懂得在正确地方停下来的合作者。
它不会替我过好生活。它会让我更有能力,也更有余地,去过自己想要的生活。