PreTalk,为事后复盘而生的Agent长记忆工具

前言:为什么我又做了一个长记忆工具?

在日常工作和创作中,我经常面临一个经典困境:一场技术选型讨论、一次产品决策会议、甚至是一次深夜的灵感迸发,当时都觉得”这个很重要,一定要记下来”,但几天后或几个月再回望,却发现那些关键的决策理由、放弃的备选方案、灵光一闪的思考路径,早已在信息的洪流中渐渐模糊。

我们不是没有工具:笔记软件、任务管理器、各种todo应用应有尽有。但这些工具要么过于复杂,要么语义混乱——到底是”待完成”还是”待回看”?而真正的问题是,Agent 在一次次讨论后缺少稳定的长记忆入口,难以把当时的判断、取舍和上下文沉淀成未来复盘时可直接调用的材料。

所以,我做了 PreTalk。

PreTalk 的定位

PreTalk 的定位很精准:为事后复盘而生的 Agent 长记忆工具。

它把讨论中形成的判断、临时冒出的想法、以及 Agent 帮你整理出的关键上下文,各自落成一个独立的 Markdown 文件,并给它一个期限。最关键的是,这个期限是提醒语义,不是 deadline。到期只意味着”该回看了”,不代表”必须做完”。

这个语义区分决定了整个工具的简洁性——它只有五个命令:write、list、show、due、done。没有优先级、没有完成度、没有复杂的任务管理概念,这就是一个纯粹的”长期记忆 + 定时复盘”工具。

如何安装

PreTalk 可以通过多种方式安装,选择最适合你的方式:

使用 AI Assistant Skill

如果你正在使用 AI assistant,可以直接安装 PreTalk skill:

# 克隆 skill 仓库
git clone https://github.com/CamelliaTse/skill.git
cd skill

# pretalk skill 位于 pretalk/ 目录下
# 安装方式请参考你的 AI agent 系统的文档

安装后,在与 AI 对话时说”记一下”,agent 就会自动帮你创建记录。

使用包管理器

如果你直接在命令行使用 pretalk:

Arch Linux (AUR)

yay -S pretalk-git

Homebrew

brew install camelliatse/tools/pretalk

安装后就可以直接使用了:

# 创建第一条记录
pretalk write "今天决定用 Go 重写项目,理由是并发性能更好" -d 6m

# 查看所有记录
pretalk list

# 查看即将到期的记录
pretalk due -w 7d

如果使用 Mac OS,也可以直接从 Homebrew 安装:

brew install CamelliaTse/tap/pretalk

从我的实际使用看它的价值

为了让大家更直观地理解 PreTalk 的价值,我从自己的实际使用记录中选取了一些例子。这些不是精心设计的展示用例,而是我日常工作中真实创建的记录。

场景一:技术架构决策的完整留档

这是我自己在开发 PreTalk 时记录的一条”PreTalk 项目历程与关键取舍”,用相当详实的篇幅记录了它的所有关键技术决策。这条记录就是通过 AI 助手创建的——在我和 agent 讨论开发方案时,一句”记一下”就自动生成了:

“Python 3.11+,运行时零第三方依赖,只用标准库。原本设想的 Typer / Rich / PyYAML / time-machine / pytest 全部替换为 argparse / 自写 render.py / 自写 frontmatter.py / 自注入 clock.py / unittest。代价是多写约两百行自测代码,收益是可直接拷贝目录运行、不受上游版本变动影响。”

这体现了 PreTalk 的第一个核心价值:它不仅记录结论,更强制记录决策背后的推理过程。更重要的是,这种记录过程完全由 AI 助手完成——我不需要打开任何工具,只需要在对话中自然地说一句”记一下”,agent 就会理解上下文并创建结构化记录。一周后回看时,我可以准确评估这个判断是否还成立,而不是只能看到”决定用 Python”这个简单结论。

场景二:长期项目方案的完整存档

另一条关于”camelliatse.com 博客的设计与方案决策”记录了我这个博客的整体架构,同样是由 AI 助手在讨论中自动创建的。我设定了一年的回看期限,完整记录了它的技术架构、视觉设计理念、以及当时放弃的备选方案:

“不做深色模式:这个站的视觉定位是「品牌一致性」,蓝绿基调在浅色背景下最能体现。引入深色模式要么调整色板(视觉一致性受损),要么把浅色版本强行适配深色(体验降级),两个选择都不划算。”

“当时放弃的方案:用现成主题(NexT 等)——功能齐全但视觉太通用,这个站的价值恰恰在视觉调性,所以选择自己维护一份 fork。代价是上游更新拿不到。”

这体现了 PreTalk 的第二个价值:它为长期项目提供了”决策审计”的能力。而且,因为所有记录都来自 AI 助手的理解,所以它们天然包含了上下文信息——不需要我事后整理,agent 已经把讨论中的关键点提取出来了。一年后,当我已经忘记当初为什么坚持不用深色模式、为什么选择自维护主题时,这条记录会提醒我当初的完整思考链路。

场景三:创意构思的灵感捕捉

在”蝶恋花・梧桐雨的创作构思”记录中,我尝试用 PreTalk 来记录词作的创作过程。这条记录也是在和 AI 讨论词作格律和意象选择时,由 agent 自动创建的:

“意象选择:「梧桐雨」的双重含义”
“下阕有「听尽三更雨」「落尽梧桐知几处」两句,"雨"与"梧桐"分置两句却意象相承——三更冷雨打在将落的梧桐叶上,正是"梧桐雨"。相比起句「晓雾」仅写开篇迷蒙,"梧桐雨"同时收束下阕核心意境,更能统摄全词的萧瑟孤寂。”

这条记录设定了两年的回看期限,专门用来回溯创作时的思考细节。这体现了 PreTalk 的第三个价值:它捕捉那些稍纵即逝的灵感细节,确保创作者多年后还能理解当初的审美判断。

设计思路

这些功能不是我想当然加上的,而是在实际使用中不断摸索出来的。下面是我设计时的核心思路:

1. 零依赖的极致便携性

我选择 Python 3.11+ 标准库开发,运行时零第三方依赖。这意味着你可以直接拷贝目录运行,不受上游版本变动影响,也不需要复杂的环境配置。在真实记录中,我明确写下了这个选择的理由:”可直接拷贝目录运行、不受上游版本变动影响”。

2. 纯文本存储的开放性

每条 PreTalk 记录就是一个独立的 Markdown 文件,带有标准 YAML front matter,按年份分目录归档。这种设计带来了几个好处:

  • 任意编辑器都能直接读,不需要先启动程序才能看内容
  • 天然支持 git 版本控制,可以追溯决策的演变历史
  • agent 友好,所有查询命令都提供 --json 输出且 ensure_ascii=False,方便 AI 助手记录和查询

最后一点特别重要——PreTalk 可以与 AI 助手无缝协作。当你和 AI 讨论技术方案时,agent 可以自动帮你创建记录、检索历史、标记回看。我自己的很多记录就是这样创建的,在对话过程中说一句”记一下”,AI 就会把刚才讨论的结论整理成结构化记录存下来。这种”人机协作”的记录方式,让决策留档变得前所未有的轻松。

3. 时间语义的精准控制

我让 PreTalk 的期限表达尽可能灵活,支持多种格式:

  • 相对量:12h、3d、2w、6m、2y
  • 绝对时间:2028-08-01、2028-08-01T09:00
  • 自然语言:today、tomorrow、next-week、two-years
  • 无期限:none、never、-

从真实记录可以看出,我会根据决策性质设置不同期限:技术架构用 6 个月回看、长期项目用 1 年、创作构思用 2 年、临时想法则用 1 周或 3 天。

4. 查重与历史检索的智能

PreTalk 内置了查重和历史检索能力,避免重复讨论已经定过的事。在记录前,它会自动检索历史,当重提旧议题时主动展示之前的决定和理由。这个功能在团队讨论和个人思考中都极具价值——它能让 Agent 和人一起站在历史上下文的肩膀上继续前进,而不是重复造轮子。

5. 语义清晰的五个命令

我只提供了五个命令,但每个都精准对应核心需求:

  • write:创建新记录,支持类型(talk/idea)、期限、标签、来源标记
  • list:按类型、状态、标签筛选记录,支持限制数量
  • show:查看单条记录详情,支持前缀匹配 ID
  • due:列出已到期或即将到期的记录,支持时间窗口
  • done:标记回看完成,不是”事情做完”

这种克制体现了我的设计理念:够用就好,不堆功能。

使用体验

从我自己的使用体验来看,这几个方面可能是你最关心的:

学习成本:极低

PreTalk 的命令命名直观(write、list、show、due、done),参数设计合理。对于熟悉命令行的用户来说,5 分钟就能上手。即便不熟悉命令行,--help 输出和 JSON 格式也能快速理解工具能力。

实际效能:高

从我的真实记录来看,PreTalk 在实际使用中表现出了很高的效能:

  1. 记录质量高:我会写出详细的决策理由,而不是简单结论
  2. 回看机制有效:due 命令能精准提醒哪些决策该重新审视
  3. 检索能力强:通过标签、类型、状态多维度筛选历史记录

适用场景:明确

PreTalk 不是万能工具,但它在特定场景下表现出色:

  • ✅ 技术选型和架构决策留档

  • ✅ 产品设计和方案决策记录

  • ✅ 创作构思和灵感捕捉

  • ✅ 会议讨论结论整理

  • ✅ 自我反思和成长记录

  • ❌ 日常任务管理(它不是 todo)

  • ❌ 长文档编辑(它是记录工具,不是编辑器)

  • ❌ 协作项目管理(它专注个人使用)

扩展潜力:良好

PreTalk 的架构设计为未来扩展预留了空间:

  • MVP 不建索引,用 rglob 扫描,但接口收口在 repository.py,将来可换 SQLite 索引
  • front matter 只解析受控 YAML 子集,但与真实 YAML 语义保持一致,为将来引入 PyYAML 留了退路
  • 时间全部经 clock 注入,测试用 FixedClock,为时间相关功能的稳定性提供了基础

它和其他工具的区别

在个人知识管理领域,PreTalk 的定位很独特:

维度 PreTalk Obsidian/Notion Todoist/Things Zettelkasten
主要用途 决策留档与定时回看 笔记与知识管理 任务管理 学术笔记
时间机制 提醒语义,非 deadline 无内置时间机制 任务截止 无时间机制
存储格式 Markdown + YAML 各异 专有格式 纯文本
学习成本 极低 中等 低 高
适合场景 技术决策、方案记录 知识库、文档 日常任务 研究、学习

PreTalk 填补了一个独特的空白:它不是笔记工具,不是任务管理器,而是专门为 Agent 长记忆和事后复盘而设计的决策记录工具。

写在最后

PreTalk 是我为自己设计的小工具,它的价值不在于功能数量,而在于对核心痛点的精准把握:

  1. 它理解决策的本质:决策不仅包括”做什么”,更重要的是”为什么这样做”和”放弃了什么”
  2. 它尊重时间的语义:提醒不是催促,而是给你一个重新审视判断的机会
  3. 它追求极简但拒绝简陋:零依赖、纯文本、五个命令,每个设计都深思熟虑

从我自己的真实使用记录来看,PreTalk 已经证明了它在技术决策、产品规划、创作构思等场景下的实用价值。那些详细记录的决策理由、精心设置的回看期限、清晰标记的放弃方案,都说明了这一点。

如果你也在寻找一个能把讨论上下文沉淀为 Agent 长记忆、并在事后复盘时重新唤起完整判断链路的工具,不妨试试 PreTalk。也许在不久的将来,当你面对一个久远的技术决策时,会庆幸当时的讨论没有只停留在聊天窗口里。


本文所有引用的记录细节都来自我实际使用 PreTalk 创建的历史记录。