1. hindsight这个词,我想把它变成一款AI应用
如果说这两年我听到最多的一个英文单词,除了hallucination之外,大概就是hindsight了。
hindsight直译过来是"后见之明",就是我们常说的"事后诸葛亮"。但这个词在心理学里有个更微妙的含义——后视偏差。人一旦知道结果,就会倾向于认为自己当初早就预料到了,会不自觉地把"当时没想到"改写成"我当时就隐约觉得不对"。这种偏差,几乎是所有复盘会失效的根源。
我一直在想怎么对付这种偏差。直到我把hindsight和Dify这个低代码AI平台拼在一起,做了一个个人专属的"经验复盘助手",英文项目名就叫hindsight。它可以做的事情:
- 把我日常记录的工作日志、对话片段、决策过程收集起来;
- 定期自动生成复盘报告,区分"当时知道的信息"和"后来才知道的结果";
- 用结构化的方式逼着我把"马后炮"转化为真正可复用的经验;
- 沉淀输出成知识库条目,下次做类似决策时直接作为参考。
这篇文章就完整记录一下我从头搭建这个hindsight项目的全过程,包括为什么做、怎么做、踩了哪些坑,以及复盘功能最终被我用成了什么样子。
如果你正在折腾Dify,或者你是一个特别在意"经验沉淀"的人——比如独立开发者、产品经理、项目经理、自由职业者——这篇文章应该能给你不少可借鉴的思路。基础概念我会尽量讲清楚,但毕竟主题是实战,我默认你对LLM应用和自动化工作流有个大概的感觉。
2. 为什么"后见之明"需要一套系统来治理
先展开说说hindsight这个词背后的问题,因为不理解这个,你搭出来的应用很容易变成一个"高大上的流水账生成器"。
2.1 后视偏差是怎么毁掉复盘的
我过去有个坏习惯:每周日晚上写周报,总是会花很长时间去绞尽脑汁回忆"这周到底干了什么",然后凭印象写几条"本周经验教训"。写着写着,那些没有书面记录的事就被大脑自动加工成了看似合理的总结。
真实情况却是:我当时对那个需求明明犹豫过,邮件里只留了一句"我觉得这个方案有风险";结果上线后果然出了问题,我复盘时却写成了"我当时已经预见到这个问题了"。
这就是后视偏差。它最可怕的地方在于,它不是撒谎,而是大脑的自动修正机制。一旦结果尘埃落定,你的记忆就会顺着结果往回倒推,把决策过程中的模糊和犹豫清洗掉。于是每次复盘得出的经验,其实都是被记忆篡改过的"伪经验"。
靠脑子对抗这种机制几乎不可能。唯一的出路是:在决策发生的当下,就保存足够多的原始状态信息,让未来的复盘"有据可查"。
2.2 复盘这件事,到底需要什么数据
很多人以为复盘就是记录"事情结果",这是最大的误 区。真正有效的复盘,至少要包含三类信息:
- 决策时的信息和上下文:当时看到了哪些资料、听了哪些反馈、手头有什么数据;
- 决策时的犹豫和顾虑:我当时担心什么、哪个选项让我不舒服、有什么直觉信号被我压下去了;
- 决策后的结果和反馈:结果如何、和预期差在哪、什么时间点出现了什么信号。
这三类信息缺了任何一类,复盘都会失真。缺了第一类,你无法判断当时是"信息不足"还是"判断失误";缺了第二类,你无法识别那些细微的直觉信号;缺了第三类,你无法校准对未来结果的预判。
我把这个理解写进了hindsight的系统设计里,整套应用的目标就一句话:让每一个决策,都留下足够多的"案发现场记录",然后用AI把这些记录重新激活,生成真正有价值的复盘。
2.3 为什么选择Dify而不是自己写代码
在我想清楚要做什么之后,摆在面前的是两条路:自己写一套后端服务,前端配聊天界面,再接LLM API;或者用Dify这种AI应用开发平台来搭。
我的背景是能做一点代码,但不想把时间耗在搭建基础设施上。Dify吸引我的点有三个:
- 可视化工作流:把录日志、定时触发、调用模型、输出报告这些环节用画布串起来,改逻辑不需要重新部署;
- 内置知识库:复盘报告可以直接存进知识库,让模型在回答问题时自动引用,相当于给应用加了长期记忆;
- 丰富的集成方式:既有Web App模板,也有API接口,方便我自己写脚本灌数据。
实际用下来,这个选型是明智的。整个开发周期比我预想中短了很多,大概一个周末就完成了初版,后面所有迭代都是在Dify上面完成的,没有再碰一行后端代码。
3. hindsight项目架构与核心流程设计
这一节直接上干货,我把整个项目的模块拆解开来。
3.1 整体架构:一个"收集—分析—反馈—沉淀"的四步闭环
hindsight的架构,我对标的是个人知识管理里的**"永久笔记"**理念,但更强调"时间线上的一次性记录"。
四个核心模块:
| 模块 | 职能 | Dify中的实现方式 |
|---|---|---|
| 采集端 | 收集原始记录,带时间戳和类型标签 | 外部脚本通过API调用 + Dify内置表单入口 |
| 分析引擎 | 对原始记录进行结构化理解,抽取时间线、决策点、顾虑点 | Dify工作流 + LLM节点 |
| 复盘生成器 | 基于时间段内历史记录生成复盘报告 | Dify工作流 + 长文本生成 |
| 知识沉淀 | 把复盘结论转化为可检索的知识条目 | Dify知识库 + 检索能力 |
这四个模块串成一个闭环:今天随手记几条日志 → 本周结束工作流自动把这些日志拉出来 → LLM做结构化分析 → 生成包含"当时怎么看、后来怎么想、下次怎么办"的复盘 → 复盘结论存入知识库 → 下次写日志时应用能主动提示"这和之前那个经验有关"。
3.2 采集端设计:日志记录是最容易被忽视的环节
整个项目里最不起眼、但对最终效果影响最大的,其实是采集端。
我的记录方式有三种:
- 随手用手机记:Dify App有自带对话界面,我给hindsight设计了几个指令,比如输入"#LOG 今天下午和客户开会,客户对报价方案没有明确反馈,我担心是价格超出了预算,但当时我决定再等等看。"应用会自动提取关键信息并存储。
- 用Telegram机器人转发:这个适合在路上或电脑前快速记录,一条消息直接发到机器人,后台走Dify的API写入。
- 批量导入旧日志:把Notion、备忘录里的历史周报导入,用于让模型理解过去的margin,并校准未来的判断。
每条日志我要求必须包含三个要素:事实(发生了什么)、情绪/直觉(我的感觉是什么)、行动(我做了什么决定)。这三要素是后视偏差的天敌,因为当结果还没发生时,直觉和事实是分得清的,一旦事后回顾,它们就会被搅拌成一团。
3.3 分析引擎:让LLM从流水账中抽取关键节点
采集端拿到的是零散记录,真正让hindsight产生价值的,是分析引擎这一步。
我用Dify工作流实现了一个analyze_logs的分析节点,核心逻辑:
输入:一周内的原始日志列表 步骤1:按时间排序,标记每条的日期与类型 步骤2:对每条日志判断:是"陈述事实",还是"表达困惑",还是"做了决定" 步骤3:将涉及同一主题的日志聚类,形成"主题-时间线-关键转折点" 步骤4:输出结构化的JSON,包含决策点列表和当时的上下文这一步用到的LLM实际上是在做时序知识抽取。和普通的信息提取不同,它需要理解日志之间的因果关系。比如"客户没有明确反馈"和"我决定再等等看"这两条日志,如果没有被聚类到同一个主题,后续复盘就会丢失关键上下文。
Dify工作流里我设置了一个LLM节点,prompt的关键部分如下:
你是一个复盘分析助手。请对以下日志进行结构化分析: 1. 提取所有决策节点 2. 对每个决策节点,列出当时已知的事实、当时的顾虑、当时的行动 3. 判断日志之间有无因果链条 4. 用中文输出JSON,格式为...这里有个很关键的细节:prompt中强制要求模型区分"决策时已知的事实"和"决策后才知道的信息"。这一步是从源头挤压后视偏差空间的操作,虽然模型无法判断日志里的信息到底是哪个时间点的,但因为每条日志都带了时间戳,所以模型能做的是按时间线重新组织,而不是让信息穿越时间。
3.4 复盘生成器:一份复盘报告应该长什么样
在讲复盘生成器之前,我先把最终产物定义清楚。一份hindsight生成的周复盘报告,结构大概是这样:
- 本周时间线:发生了什么,按时间为序;
- 关键决策点回顾:每个决策点的原始上下文、当时的顾虑、最终行动;
- 结果对比:把"当时的预期"和"实际走向"相对照,注释偏差;
- 可迁移的经验:精炼总结,作为未来参考的条目;
- 反向提示:如果我这次是从后视偏差视角去复盘的,模型会专门标注"注意:以下判断是基于后来信息形成的,可能和决策当下的真实情况有偏差,请谨慎参考"。
这个结构完全是我自己定义的。市面上大部分复盘模板都只关注结果逐条拆解,几乎不会区分"决策当下"和"结果之后"两个时间维度。但如果你想用AI做真正有价值的复盘,这两个维度的区分是重中之重。
复盘生成器在Dify里也是一个LLM节点,输入是分析引擎生成的JSON,输出是Markdown格式的复盘报告。我在这里没用流式输出,而是直接整篇生成,因为复盘报告的完整性比逐字反馈更重要。
4. Dify里的关键实现细节与避坑实录
这一节聊聊具体的工程问题。我在Dify里实现这套系统时踩了不少坑,挑几个有代表性的展开。
4.1 知识库的"临时记忆"与"长期记忆"冲突
Dify的知识库默认是长期记忆,存进去的文档会一直存在。但复盘这个场景有点特殊:一份周复盘报告生成之后,它应该被归入"已处理"状态,下周再生成新报告时,不应该把它重新当作输入数据。
一开始我没想清楚,直接把每周复盘报告都加进知识库。结果第二周的复盘报告里,模型引用了上一周的报告内容,导致"这周的复盘"变成了"对上周复盘的复盘",信息链路混乱,最终输出质量明显下降。
解决办法是在Dify的知识库条目里加一个标记字段,存储report_week,然后在分析工作流中加入过滤条件,只拉取本周的原始日志,不从知识库里检索旧报告作为输入。旧报告只用来做长期检索参考,不参与当次复盘推理。
4.2 模型选择:不是越强越好
复盘这种事,对模型的要求其实很奇特。它需要有一定的推理能力,但又需要"克制",不能太过于发散。
我分别试过GPT-4o和几个开源模型(DeepSeek-V3、Qwen2.5 72B),最终长期用的是GPT-4o,原因是它的中文写作风格在"复盘报告"这个场景里最自然,不会机械地列条目,能输出一些有温度的建议。
- GPT-4o:适合输出整篇复盘报告,写出来像模像样;
- DeepSeek-V3:中文信息提取质量高,但长文本生成的温度控制稍差,偶尔会过度总结;
- Qwen2.5 72B:性价比好,适合批量分析日志,但复杂指令遵循能力稍弱。
这里有个实用建议:在Dify工作流里,不要把所有LLM节点都绑同一个模型。分析节点用便宜的强模型(做抽取),复盘生成节点用贵一点的优质模型(做生成),既省钱又保证质量。
4.3 工作流的编排:我把分析和生成拆成了两个工作流
实际落地时,我没有做成一个大型工作流,而是拆成了两个:
- workflow 1:analyze_and_store(每有日志写入就触发,负责结构化入库);
- workflow 2:generate_review(每周定时触发,负责拉取本周日志、调用分析结果、生成复盘报告)。
这个拆分的好处是故障隔离。如果生成复盘的报告出错,不影响日志采集链路;如果分析节点调用的模型限流,日志仍然能先落库,不会丢数据。这也是Dify工作流设计的一个心得:一大串串行逻辑里任何一个环节失败都会影响整个应用,拆成多个工作流用触发器串联会更稳。
4.4 定时触发的实现:别依赖内置定时器
Dify本身提供了自动化触发选项,但我实测下来,定时任务的精度和可观测性还是不够理想。我的做法是在服务器上放一个简单的cron脚本,每周日晚上调用Dify的API来触发generate_review工作流。
0 21 * * 0 curl -X POST https://your-dify-app/api/workflows/generate_review/run -H "Authorization: Bearer YOUR_API_KEY"这么做还有个额外的benefit:cron触发时可以顺带把"复盘报告生成完就推送通知"一起做掉。我接了个企业微信机器人,报告生成后会把摘要推送到群里,提示我"hindsight周日复盘已完成"。
4.5 提示词设计里的一个关键细节
在分析引擎的prompt里,我特意加了一句:"请标注每条分析结论的可信度等级,等级包括:高置信度、可能、推测。"
这个设计起初是为了控制模型输出中的幻觉,后来发现它还有一重价值:让报告的使用者(包括我自己)不那么容易不加批判地接受AI的结论。
LLM在后视偏差这件事上往往会推波助澜,因为它的训练语料里包含了大多数事件的"最终结果信息",所以它在做复盘时天然比人类更容易陷入"我就知道会这样"的自信。强制它输出可信度等级,可以在一定程度上压制这种倾向。
5. 实测过程:一周的真实日志,生成一份有价值的复盘
光讲架构和代码,不展示实际效果等于白搭。这里我把hindsight某周的真实运转过程完整还原一遍,包括输入日志和生成的复盘报告核心片段。
5.1 一周的原始日志样本
这周我在做一件事:给我的独立项目上线一个付费功能。原始日志(脱敏后)如下:
周一 14:32:#LOG 完成付费功能v1的开发,本地自测通过。打算周三上线。有点犹豫的是,支付渠道只接了一个,万一出问题没有备份方案。#决策 先上线再补备用渠道 周二 09:15:#LOG 团队里另一个朋友说收到用户反馈,说现有版本上传文件偶尔超时,问我要不要先处理这个再上线付费功能。我回复说还是按计划走。#情绪 有点不安,但觉得付费功能已经拖了两周,不想再拖 周三 11:00:#LOG 上线完成。用了30分钟,流程没出大问题。松了一口气。 周四 16:40:#LOG 收到一个用户的工单,反馈上传文件超时问题比上周更频繁。我看了一下服务日志,发现超时集中在某个第三方存储服务的故障期。#反思 当时如果先处理存储问题,可能不会积累这么多客诉 周五 10:20:#LOG 决定下周先做存储迁移,暂停新功能迭代。#决策 优先级调整这是非常典型的"事后看一目了然、当时却两头为难"的一周。给人类复盘,很容易写成"我应该早点处理存储问题";但这是标准的后视偏差——周一时,你根本不知道存储故障会集中爆发。
5.2 分析引擎生成的结构化中间结果
Dify分析工作流输出的JSON核心部分:
{ "theme": "上线付费功能与存储稳定性冲突", "decision_points": [ { "time": "周一", "fact": "付费功能开发完成,支付渠道单一", "concern": "备用支付渠道缺失,但感觉上线更重要", "action": "决定先上线" }, { "time": "周三", "fact": "有用户反馈上传超时,团队建议先处理", "concern": "担心优先级耽误上线节奏", "action": "拒绝调整计划" } ], "outcome": { "result": "上线成功,但用户投诉集中在存储故障", "gap": "已知的上传超时问题未在本次决策中处理" } }注意"周五"那条日志没有被归入决策点,因为它是前三天的结果产生的后续反应,模型正确地把它标记成了reaction而非decision。这个分类能力是分析引擎最有价值的地方——不是把所有事件统统当作决策。
5.3 生成报告的完整核心片段
hindsight每周日生成的复盘报告(节选):
本周核心矛盾:付费功能上线需求与存量稳定性问题的优先级冲突。
决策点1:坚持先上线付费功能
- 当时已知:功能开发完成,支付渠道单一,团队建议先处理上传超时。
- 当时顾虑:支付渠道无备份,但拖延上线会更难受。
- 实际结果:上线成功,但存量客诉增长。
- 偏差分析:本决策的失误不在于"没有处理存储"——当时存储故障是低频事件,不做处理在当时是合理的。失误在于"没有为已知风险设置应对预案"(比如先准备一个快速回滚点,或提前通知客服加大排查力度)。
可迁移经验:当已知风险概率低但影响大时,不要直接忽略它,而是应该设置"触发开关"——一旦风险发生,自动切换到预案B,而不是临时决定。
反向提示:请注意,本段判断是基于结果形成的。如果你在周一处于类似情境,请记住当时的合理选择是"上线",而不一定是"先修存储"。真正的问题在于你当时没有为"如果存储问题变严重怎么办"准备答案。
这一段复盘报告让我满意的地方在于,它没有简单地批评我"不该上线",而是把经验抽象到了"面对已知低频风险时应该设触发开关"这个层面,并且反向提示抑制了我马后炮的倾向。
5.4 复盘报告如何回流到知识库
报告生成后,我让工作流自动将它写入知识库,并带上三个标签字段:theme(主题)、week(周数)、type(经验/失误/风险预警)。这样,下次我在Dify聊天界面里提问"我遇到过和存储故障类似的事吗?"时,hindsight会检索到这份报告,并给出引用。
这就是闭环的最后一步。没有这步,复盘就只是一个定期生成的漂亮文档,无法沉淀进未来的决策体系。
6. 复盘过程中的偏差修正:如何让AI不"顺着结果说话"
上一节展示的复盘报告看起来还不错,但这中间其实经历过好几轮翻车。这里单独深挖一下,因为我猜很多人自己搭这类应用时,也会遇到同样的问题。
6.1 最初版本:模型直接把结果翻译成了"我当时就知道"
第一版hindsight生成的复盘报告,充满了这类句子:
"您在周一就应该意识到上传超时问题可能会在周三爆发。"
这个问题很严重。因为实际上,周一没有任何信息能预测到周三存储故障会集中爆发。模型这么说,本质上是利用了"事后知识"来审判"当时的决策",这和人类的后视偏差如出一辙。LLM如果不加干预,它会完美地复刻人类复盘中最大的认知错误。
6.2 修正方案:引入"信息分割"约束
我的第一轮修正,是在prompt里增加了如下硬性要求:
在复盘任何决策时,必须区分"决策时已知的事实"与"事后获得的信息"。 禁止用事后的信息来评价决策当时是否正确。 如果某项信息在决策时尚未出现,则在评判时只能作为"后续背景"提及,不能作为批评依据。这个约束让模型的输出立刻变了样。它不再说"您当时应该知道会出事",而是会说"就当时信息而言,您的选择是合理的,但缺少预案是真正的风险"。
这是hindsight和普通复盘AI最大的区别:它复盘的不是"结果的对错",而是"决策过程的质量"。
6.3 修正方案:把"后视偏差提示"植入最终输出
除了约束输入侧的judgment逻辑,我还在输出侧增加了一个固定环节:每次生成复盘报告前,附加一段"反向提示"。
这段话的目标读者是"看到报告的未来的我",作用是防止未来的我读了报告之后,错误地归纳出"当时就应该怎样怎样"。它和报告内容是分离的,但保留了。实际的文案是:
请注意:本报告是基于本周全部信息生成的,其中包含了决策之后才出现的反馈。您在阅读时,请务必先回忆"当时您知道什么",再结合本报告的建议做判断,避免后视偏差。
这个设计颇为反直觉——你做一个复盘应用,却要在报告里提醒读者"别太信这份复盘"。但这个提醒恰恰是报告能持续产生价值的保证。
6.4 指标化的效果验证:后视偏差减少了多少
我很难用数字量化"后视偏差减少了多少",但可以做两个观察:
- 第一,读报告时的"恍然大悟感"变弱了。以前读复盘报告,经常冒出来"我当时怎么没想到"的感叹;现在读hindsight的报告,多是"对,当时确实只有这些信息,我当时的考量没问题,下次要注意的是预案"。
- 第二,报告里不再出现"您当时应该"这种句式。这是硬性检查过的最直观指标。
从产品设计角度,AI应用里有一种"信任陷阱"——因为输出方是AI,阅读者会不自觉地相信它的结论。这在使用hindsight时必须警惕,因为它可能比人写的复盘更"顺滑",更容易让你不经意间吸取一个虚假的经验。
7. 扩展与进阶:hindsight还能做成什么样
核心功能闭环之后,我开始琢磨怎么扩展它。这里分享几个我已经实现或正在测试的进阶方向。
7.1 扩展一:从个人复盘到团队复盘
个人复盘容易做,团队复盘才是真正的修罗场。我初步把hindsight的底层能力延伸到了团队场景:每个人把工作日志导入同一个工作区,每周自动生成一份团队复盘报告。
团队复盘和单人复盘最大的差异在于权责归属。AI必须特别小心,不能从结果反推出"某位成员的错",这会引发极大的信任危机。我的做法是在团队复盘中增加"中性化"约束:
本报告不评价任何个人的对错。只报告事实、时间线、风险点和改进措施。 如出现涉及个人决策的部分,一律以"当时在座信息有限"作为评价前提。团队版目前还在内测,主要难点在于团队成员的日志填写率——大家不爱写日志,hindsight做得再好也没用。我正在考虑接一个"主动提问机器人":周五下午主动问每个成员"这周你做了哪些关键决策?当时有什么顾虑?"用问答的形式生成结构化日志。这比让大家主动记录要有效得多。
7.2 扩展二:用hindsight做"决策前预演"
复盘的核心是回头看,但我发现同一个系统还可以往前看:给未来的决策做预演。
实现方式是:用户在做一个新决策前,输入决策意图和当前信息,hindsight不从"未来结果"出发,而是检索知识库中过往的相似决策记录,输出类似这样的内容:
你在3月12日曾做过一个类似决策,当时的决策依据是XXXX;结果出现了XXXX偏差。建议你在这次决策前,为XXXX设置预案,并明确触发条件。
这个场景的价值比周复盘更大。它把AI从"回顾记录员"变成了"决策参谋官"。而这个能力的实现非常简单——只需要复用知识库检索功能,将当前决策描述转化为检索query。这其实说明了在hindsight最初的设计中,知识库沉淀这一步做得明智。
7.3 扩展三:结合语音记录降低采集门槛
日志记录是整个体系中最大的成本。我的最新实验是接入了语音输入:用手机语音备忘录录一段话,自动转文字,然后调用Dify的API把语音转出的文本作为日志写入hindsight。
效果比我预想的要好。语音记录的颗粒度比文字更细,而且人在说话时会更自然地表达犹豫和直觉,这正是hindsight最需要的信号。如果你也想折腾,推荐直接在Dify里配置一个语音转文字的工具节点,然后接一个语音输入框到日志采集API即可。
完整的接入流程大致是:
- 在Dify里创建一个"语音记录"的对话流,第一步做语音转文字;
- 转出的文字自动附加时间戳和来源标记;
- 流入
analyze_and_store工作流,走正常的分析链路。
这个功能直接把hindsight的使用门槛从"打字写日志"降到了"开口聊两句"。如果你也受困于"日志坚持不下来",强烈建议试一下语音入口。
7.4 关于数据隐私的一点坚持
最后提一嘴隐私,因为hindsight这类应用的特殊之处在于,它收集的是个人决策与思考数据,比普通工作数据更敏感。
我之前在几个场合被问过同样的问题:"这种数据你敢放在云端吗?"我的做法是:Dify自托管部署,数据库和存储都在自己的服务器上;语音转文字环节调用的是端上接口,不经过第三方中转。
如果你只是想自己试玩,用云版Dify也没有大问题,但一旦决定认真用,把敏感数据留在自己手里是长期安全的底线。Dify支持docker一键自托管部署,这也是我最终把它作为核心依赖的原因之一。
8. 最终形态与个人体会:hindsight不是工具,是一种思考方式
写到这,hindsight这个项目的完整面貌应该已经清晰了。最后总结一下它最终被我用成了什么样,以及我在这段经历里的真实收获。
8.1 我最终交替使用的三个界面
现在的hindsight,我在一周内会有三种形态的使用:
- 周一至周五:偶尔用手机或语音记录日志,一般不会主动打开看报告;
- 周日晚上:自动收到生成好的复盘报告,花10分钟读一遍,标记有启发的条目;
- 做新决策前:打开hindsight的对话界面,输入"我现在在考虑XX,帮我查一下相关经验",它会从知识库检索出过往的复盘结论供参考。
这个使用节奏坚持了大约两个多月,比较明显的改变是:我的周报不再像以前那样"编故事"了。周报内容大量取材于hindsight复盘里的"可迁移经验",写起来快很多,而且更真实。
8.2 我踩过最大的坑:想把日志写得"完美"
刚开始用hindsight时,我每次写日志都很用力,想把每条记录写得结构化、语句通顺,结果坚持了没几天就放弃了。后来我才意识到,日志的价值不在于文字质量,而在于时间戳和当时的犹豫状态。哪怕语音转文字转得乱七八糟,只要把"当时怎么想的"录下来了,hindsight的分析引擎就能从中提取出关键信息。
如果你也打算开发一个类似的应用,这条心得请记住:采集端要"最省力优先",分析端负责"把乱的东西弄整洁",不要把采集端的负担转移到用户身上,否则任何复盘系统都活不过三周。
8.3 对LLM应用的一次特别体验
如果把这次项目当作一次亲历的"AI应用开发体验",我最大的触动是:AI真正的价值不在于"给出正确答案"(这往往是幻觉的来源),而在于为人类的思考提供一面更清晰的镜子。
hindsight并不能告诉我"正确的决策怎么做",它做的是:帮我保持决策当下的真实记录,把散落的犹豫和判断按时间线还原,再配上一套防止后视偏差的提示词。它找到的答案,是我自己的思考被结构化之后的回声。
这套系统的本质,是"一个不会遗忘、不会说谎的记录者"加上"一个有批判精神的回顾者"。如果你也想给自己建一面这样的镜子,Dify和LLM已经提供了几乎所有零件,剩下唯一的要求是——你愿意坚持往里面记录真实的想法。
最后留一个思考题:如果你给未来一年的自己留一份"当前决策时的想法"记录,你会选择记下什么?把这个答案想清楚,你的hindsight就已经成功了一大半。