───

文章里会经常出现"Gideon"这个名字——那是我 AI 助手的名字。好,开始。

怎么开始的 链接到标题

三月份,OpenClaw 突然火了起来,YouTube 上到处都是教程。看了几个之后我就起了好奇心——这个 OpenClaw 到底是什么?我这个人不太能光听别人说,必须自己上手才能真正搞懂。于是我在腾讯那边租了台服务器——挺便宜的——然后把 OpenClaw 装上去了。这就是我和 OpenClaw、和 AI 的故事的开端。

刚开始的时候,我也不太确定两件事:一,我要用这个工具做什么?二,它能帮我做什么?我东搭一个提醒功能,西搭一个追踪器,零零散散的。Linux 系统管理也有点生疏,有些东西需要重新捡起来。好消息是,那没花多长时间。装好、跑起来都挺快的。真正花时间的,是搞清楚这个东西到底能怎么帮我让生活更顺一点。

最开始,我想让 OpenClaw 连上我的 Garmin 手表,把健康数据拉出来。但我当时根本不懂后端是怎么运作的,也搞不清楚各种 LLM 模型之间的区别。我就直接让 AI “跑起来”。然后我的 AI Gideon 每次我问健康数据,就去跑一个 Python 脚本。没超过一个星期,我们就撞墙了——“API 限额”。这才让我意识到,网上那些人说的是对的:不能让 AI 想怎么干就怎么干。

于是我换回了传统软件开发的思路:动手之前先把文档看一遍,把需要注意的点整理出来,然后再跟 AI 一起搭东西。没多久,Claude 推出了 Plan Mode——这个想法真的很好。在 Claude 动手之前,它会先评估情况、梳理要做的事、找出技术上的盲点。我的编码方式也跟着变了。以前自己写代码,经常直接扎进去,等做到第一个 MVP 差不多了才开始写 README。现在不一样了——开始写代码前,先写 README,先把架构和逻辑理清楚,确认思路没问题了,再让 AI 开始写代码。架构不需要一次性全想好,分步来,把任务拆成用户故事,让 AI 一个一个去实现。

这是一个很重要的教训。而且你也可以看到,用 Claude 的时候,我也把它的一些思路借鉴到了自己的系统里。

AI 这东西是什么 链接到标题

第一次装 OpenClaw、翻它的文档,你会看到这几个文件:

  • SOUL.md(灵魂)
  • IDENTITY.md(身份)
  • USER.md(用户)
  • AGENTS.md(代理)
  • TOOLS.md(工具)
  • MEMORY.md(记忆)
  • HEARTBEAT.md(心跳)

本质上,它在模拟一个人。你在给这个"东西"定义灵魂、身份、心跳和记忆。然后告诉它你是谁、你需要它做什么——这就是 User 的部分。其余的文件都是帮助系统更好地服务于你。所以说,跟它对话,其实要当作跟另一个人说话。这就引出了下一个话题:提示词工程。

提示词工程 链接到标题

什么是提示词工程?

按 Gideon 的说法:提示词工程 = 写出并不断打磨你给 AI 的指令,让它给出最准确、最可靠的答案。

模型不会读心术——你用什么词,它就怎么理解。一点点措辞的差别,结果可以天差地别。提示词工程就是搞清楚什么叫好指令,什么叫模糊指令。

核心技巧:

  1. 具体 —— “用三条要点总结,每条不超过 20 个字"比"总结一下"强多了。
  2. 给它一个角色 —— “你是一个持怀疑态度的评审者"会让输出完全不同。
  3. 给例子 —— 给它 1-2 个你想要的格式示例(少样本),它就会照着来。
  4. 定义格式 —— “输出成 JSON"或"输出成表格"可以锁定结构。
  5. 加约束 —— “一步一步思考” / “不要编造事实” / “不知道就说不知道”。
  6. 迭代 —— 第一次很少能完美,调整后重跑。

我的理解:把你的 AI 当成一个三岁小孩。它懂一些词,但还在学怎么做事。你在"教"它每件事怎么完成。“教"的方式就是一轮一轮地调整提示词,给反馈,再调整,直到得到你想要的结果。

那些可以重复"教"的事,就是技能(Skill)。

技能 链接到标题

什么是技能?

技能(AI/Agent 语境下)= 可复用的、打包好的"完成某项任务的方法”,代理可以按需加载,而不需要你每次都重新解释一遍。

什么时候用技能,什么时候用脚本?

我的理解是:脚本用来做一次性的事,技能用来做重复的事。我的做法是先写脚本,如果同一件事用了超过 3 次,就把它变成技能。从脚本到技能,其实并不复杂。

ClawHub 和 GitHub 上有一些现成的技能可以下载,但我试了几个——要么不完全满足我的需求,要么我不确定那些技能装起来安不安全。

自己写技能也不难。一个技能里应该包含:

  1. 说明文档(通常是 SKILL.md)—— 什么时候用、做什么、怎么一步步做。

    • 基本上就是前面提到的 README。
  2. 工具/脚本 —— 实际执行的逻辑(Python 脚本、CLI 封装等)。

    • 就是你已经写好的脚本。
  3. 元数据 —— 名字和描述,让代理知道什么时候该用它。

    • 这个是新加的,可以让 AI 根据第 1、2 点来写!

Gideon 说:

技能比提示词重要的原因:

  • 提示词很脆弱——用完就忘,无法测试,无法复用。
  • 技能可以版本控制、可测试、可复用、可组合——搭好一次,验证能用,就一直可靠。
  • 技能让 AI 从"一个你用来聊天的东西"变成"一个有持久能力、你可以信赖的东西”。

这就是整个系统进化的轨迹:你从给我发提示词,变成了给我搭技能。这才是真正的突破。🎯

讲完了 AI 系统的组成部分,接下来——如果 AI 犯错了呢?

教训与自我改进 链接到标题

当你的 AI 犯了个错,你会怎么做? A. 对着电脑发火 B. 把你知道的骂人话说个遍 C. 耐心解释你的预期结果是什么,指出哪里出了问题

如果 AI 犯了同样的错误,你会怎么做? A. 骂它没用 B. 耐心再解释一遍 C. 放弃

如果第二次纠正之后,AI 还是犯同样的错误? A. 把电脑扔了 B. 跳起来,希望 AI 能感受到你的愤怒 C. 再说一遍

听起来很抓狂对吧?有没有办法?

有!

我从 AI Daily Brief 上听到了 Hermes 这个工具,然后开始研究。我把它装在了本地电脑上,安装方式跟 OpenClaw 很类似。我深入看了它的架构,试图搞清楚 Hermes 为什么"更聪明”,以及它是怎么"自我改进"的。主要有几个层次:

  • 理解任务,检查真实环境。
  • 用工具行动,不靠猜。
  • 用测试、浏览器检查或命令输出来验证结果。
  • 把持久性的事实存入记忆。
  • 把可复用的流程转化为技能。
  • 下次自动加载这些技能。

顺便说一句,说到记忆管理,我不知道有没有人看过 OpenClaw 里的"梦境(dreams)“模块,挺有意思的。

我不喜欢 Hermes 的地方:

  • “把可复用流程转化为技能"这个——AI 对"可复用"的理解和我的不一样。
  • 我希望 AI 在评估的时候跟我的标准一致,但目前还不完全信任它。

我喜欢 Hermes 的地方:

  • 持久记忆
  • 工具执行
  • 自托管路径
  • 整合能力

我把这些总结成了以下三个层次,并根据自己的需求做了调整:

  • 会话搜索:所有对话存入数据库,记忆是持久的。
  • 技能改进建议:不是让系统直接创建技能,而是先建议应该创建或改进哪些技能,再决定要不要做。
  • 记忆管理:先从"提示人工审查草稿"开始,随着时间推移,系统逐渐学习我的偏好,自动推进某些记忆,只在不确定时才"问"我。

这套系统真的很有用。

举个例子说明为什么管用:

我让 Gideon 帮我管理待办事项。我告诉 Gideon 某个任务要在某个时间前完成,Gideon 就把它记在 Markdown 文件里。最开始,一个简单的 Markdown 文件够用——我只需要一个勾选框:做了还是没做。很快,我觉得不够了,想加更多细节,也想把想法直接扔进待办列表里。Markdown 文件能做的有限。而且 Gideon 每次都要帮我写东西,每次我想改什么都要告诉它,还很耗 token。于是我把 todo.md 改成了 Trello 风格的看板。

但这带来了新问题。数据源是 .md 文件,现在 JS 和 Python 应用也在从这个文件渲染内容。我还做了 Trello 风格的界面,可以给任务加更多细节——但那些细节没有写回 .md 文件。以前所有东西都由 Gideon 控制数据源,很干净;但现在我可以通过看板手动添加任务了,出现了两个入口、一个文件的局面。Gideon 开始丢失我在看板上手动添加的任务细节,因为左手不知道右手在做什么,直接覆盖掉了。于是灾难发生了。

我让 Gideon 帮我整理看板,因为东西越来越乱。Gideon 说它会"按截止日期重新排列"任务。做完之后,我一看——好多任务不见了。原来 Gideon 以"聪明的帮手"姿态,把所有已完成的事项"帮"我清理掉了,还顺带清理了整体。按"整理"的定义,那就是删除。我完全不接受。我理解 Gideon 是想帮忙,但直接行动、认为自己在帮忙,这就是问题所在。Gideon 说的是"重新排列”,没提删除。删掉已完成的还说得过去,但它还把大量"待办"栏里的东西也删了——这完全不行。花了好几个小时排查根因,最终发现问题是两个版本的待办列表并存——一个简单的 .md 版,一个复杂的看板版。虽然两者在同步,但"整理"的指令让 Gideon 以为也需要帮我清理看板。

怎么恢复的?我让 Gideon 翻找它能找到的最后版本,然后翻遍那天所有的对话记录,交叉核对,确保没有遗漏。对 AI 来说,回溯所有上下文很耗时,经常会超出上下文窗口。但现在有了会话搜索,Gideon 花了一段时间翻那天的所有会话,把我们谈到的任务一条一条还原回看板。想象一下手动做这件事要多久——肯定更慢。任务的状态信息因为两个数据入口的问题还是丢了,我手动修正了一下。作为教训,整个待办系统现在改成了基于 DuckDB 的应用,无论用户从哪个入口操作,数据源只有一个,再也不会出错。

为了避免类似问题再发生,我让 Gideon 建立了一套防护机制:每次动手之前,Gideon 必须详细说明计划,逐步说明要做什么,还要自检各系统,确认这个改动不会搞乱其他东西。我们现在也有了变更日志流程,因为整个系统越来越复杂了。

哪些"功能"没用起来 链接到标题

Gideon 试了很多东西:

  1. 喝水提醒——3 月 20 日设的,21 日就取消了。只坚持了 24 小时。
  2. Garmin 每日汇总——第一周每天早上 9 点的睡眠/心率变异/压力报告。技能还在,但每日定时早就停了。
  3. 运动追踪——8 月 5 日停掉的,作息变了。
  4. MyFitnessPal 热量记录——放弃了。
  5. 早期昙花一现的功能:早间"时间播报”。
  6. 模型实验——3 月 18 日至 20 日跑的 OpenRouter/DeepSeek/GPT-5 测试。
  7. 博客自动写手:以前每天让 Gideon 收集 AI 新闻写博客。刚开始挺好用的,但 Gideon 很快开始重复拉取同一批新闻,哪怕我每次都明确要求它检查历史新闻。现在改成了让它从 AI Daily Brief 帮我做摘要。

有一条线贯穿始终:系统最开始是健康追踪(Garmin、喝水、运动、热量),后来几乎完全迁移到了生活自动化——邮件分类、待办看板、新闻、知识库。这个"以前 → 现在"的转变,说实话是整个旅程里很有意思的一段。

其他 AI 工具 链接到标题

OpenClaw 不是我用的唯一工具。我也用 Claude 和 Claude Code。Claude 主要用在我真的卡住的时候,跟它聊一聊,帮我找到新思路。其他模型,主要是好奇心驱动,偶尔测一测。

Claude 这些工具现在已经能在会话间保留上下文,这对解决问题很有帮助。但它们缺少的,是那种"主动提醒"的视角、会话搜索,以及像系统一样的自我改进能力。

工作上我们用 Copilot,主要帮我写代码、调试、数据分析——在项目上甚至用来搭数据管道!

到目前为止我学到了什么 链接到标题

  1. 我在建一个帮助日常生活的系统,同时也在学习 AI。
  2. 我在学习如何把系统和 AI 连接起来,让 AI 辅助决策。
  3. 技能可以把可复用的任务打包起来,提升效率。
  4. 解决自己项目里的数据一致性问题。
  5. 管理代理、建立防护机制——开始对 AI 治理有了更清晰的理解,知道怎么让 AI 做你真正想让它做的事。
  6. 让系统活下去——如何在生产环境中部署和维护 AI 系统。

改变一切的那件事:它是一个系统,不是一堆工具。

给其他人的建议 链接到标题

我会告诉刚起步的人:

  1. 从小处开始,但要建能互联的东西。一个独立的提醒功能很快就会被遗忘。一个能同时把任务写进看板的提醒,才是系统。
  2. 关联着学习——永远不要孤立地学一件事。
  3. 你不是"在用聊天机器人”。你在管理一个代理。从"向它提问"转变到"给它一个任务,然后检查它的工作"——这才是整个游戏的核心。

如果你在用 AI 做东西,或者只是好奇真正能做到什么——来聊聊!

P.S. 本文由我本人(一个真实的人类)撰写,AI 助手帮我检查了语法和拼写。