“hindsight”这个词,字面意思是“后见之明”,常听人说“hindsight is 20/20”——事后看事情,总是清清楚楚。我做这个项目的初衷,恰恰是想把这种“事后清楚”变成一种可以主动调用的能力:让AI帮我们系统性地复盘一件事、一段对话、甚至一个项目的整个过程,从中提炼出真正有价值的经验,而不是每次都在同一个坑里反复跌倒。
更具体地说,我用Dify这个开源AI应用开发平台,搭了一个叫“hindsight”的复盘工作流。它解决的痛点是:很多人不是不反思,而是不会反思。要么复盘变成流水账,要么反思流于“以后注意”这种空话,缺乏结构化的观察和可执行的改进。hindsight要做的,就是把“反思”这件事标准化、工具化,让AI基于事实输入帮你做多角度拆解,输出一份含事实描述、原因推断、改进建议和防复发机制的复盘报告。
如果你平时需要做项目总结、团队retro、个人日回顾,或者你正在研究Dify工作流玩法,这篇文章都能给你一些可以直接抄走的思路。我会把我从0到1搭建hindsight全过程的关键决策、节点设计、Prompt写法、踩过的坑,完整梳理出来。
1. 项目定位:从“事后明白”到“事中受益”
1.1 “hindsight”到底解决什么问题——把模糊的后见之明结构化
我做这个项目之前,自己复盘的习惯其实很差。遇到问题,脑子里会闪过“当时要是那么做就好了”之类的念头,但很快就忘了,下次遇到类似场景还是踩同样的坑。后来我意识到,问题出在“后见之明”太容易溜走了。它往往是碎片化、情绪化的,不像数据那样能沉淀下来。
hindsight的核心价值,就是把这种转瞬即逝的“后见之明”固化成一套可重复的流程。它不只是帮你回忆“发生了什么”,而是带着你走完一个完整的反思闭环:
- 事实层—— 当时的目标是什么?做了什么决策?执行过程怎样?
- 偏差层—— 实际结果和预期之间的差距到底在哪?
- 根因层—— 造成偏差的原因是什么?是信息不足、判断失误,还是执行偏差?
- 行动层—— 如果回到当时,你会怎么做?未来如何避免同类问题?
这四个层次,是我从很多复盘方法论里归纳出来的。传统的复盘方法,比如AAR(After Action Review)也类似,但问题在于它高度依赖参与者的自觉性和表达能力。很多时候团队成员开复盘会,开完就完了,没有人把结论沉淀下来。hindsight相当于一个“带节奏”的复盘主持人和记录员,它不会让任何一层被跳过。
我在Dify里把它做成工作流,还有一个原因:我希望复盘的输入门槛足够低。不用填复杂的表格,只要用大白话描述事情经过,AI会自动完成结构化的提取和反思。这个“自由输入”的设计很关键,因为它照顾了真实使用场景——大家复盘的时候本来就没耐心写长文。
1.2 为什么选Dify而不是自己写代码——省下的时间足够你迭代十版Prompt
如果你懂编程,你可能会问:这种复盘工具用OpenAI API倒腾几个Chat Completion不就完了吗?为什么非要用Dify?
我的回答是:单次调用确实不用Dify,但hindsight不是一个单次对话,它是一个多步骤、有分支、需要不同角色视角协作的流程。具体来说,hindsight需要做这些事:
- 判断用户输入的内容类型(是个人复盘、项目复盘还是对话复盘)
- 根据不同内容类型触发不同的分析策略
- 可能需要从知识库中检索历史复盘记录,看同类问题是否出现过
- 调用大模型执行多个不同角度的分析,再汇总
- 把结果保存到数据库,方便后续回溯
如果自己写代码,这些逻辑不是做不到,但每一环都要自己处理API调用、prompt拼接、状态管理、结果存储,光是调试prompt和流程之间的衔接就要花掉大量时间。Dify的可视化工作流直接把这些编排问题解决了。我只需要拖拽节点、配置参数、写prompt,就能快速把想法变成可用的应用。
另外一个实际考虑是迭代效率。我第一天搭出来的hindsight和现在的版本差别巨大,中间改动了几十次。如果每次改动都要改代码、重新部署,我估计早就放弃了。Dify的“改完即试”体验,让我的试错成本几乎降到了零。
工具选型建议:如果你要做的只是一个简单的单轮问答工具,直接用ChatGPT系产品自定义指令就行,不需要Dify。但凡是需要多步骤处理、有明确流程分叉、需要沉淀数据的应用,Dify这种工作流平台的价值就会立刻体现出来。
2. 工作流设计与核心思路拆解
2.1 整体流程:输入-拆解-反思-沉淀,四步走通复盘闭环
hindsight的工作流,我构思了很久。最初我想得很复杂,想着要不要加意图识别、情感分析、甚至自动生成待办事项。后来我发现一个原则:MVP能跑通比功能全更重要。所以最终版本的工作流只有四个核心阶段:
第一阶段:输入接收与预处理。用户提交一段复盘素材,可以是一段文字描述,也可以是语音转文字后的文本。这一步会先做一次“清洗”,把无关的碎片化表达整理成结构化的“事实卡片”。比如用户可能写“上周二项目延期了,因为后端接口联调慢了”,预处理阶段会把这句话拆成事件、时间、原因三个字段。
第二阶段:多视角反思生成。这是我整个工作流的核心。我用并行节点分别让大模型扮演三个不同角色去分析同一个事实:
- 复盘者角色:从执行者的视角,分析决策是否合理、执行是否到位
- 批评者角色:从外部观察者的视角,挑毛病、找盲区、质疑假设
- 教练角色:从成长导师的视角,给出建设性的改进方向
三路并行分析的好处是,避免单一视角带来的偏颇。同一件事,执行者觉得“我已经尽力了”,批评者可能看到“你根本没做风险管理”,教练则可能指出“你缺乏向上同步的技巧”。这种“三视角”设计与人类组织里的peer review非常相似,只不过AI不会带情绪,也不会顾虑上下级关系,输出的内容更客观。
第三阶段:经验归纳。三路分析结果出来后,用一个汇总节点让大模型从中提取共性、冲突和关键洞见,形成最终的结构化复盘报告。
第四阶段:沉淀与索引。把报告保存下来,并生成可检索的标签(比如“项目复盘-需求变更-沟通问题”)。这样下一次再遇到类似场景,可以先检索历史记录,看看有没有踩过同样的坑。
这套流程的好处是清晰、模块化,每一段都可以单独调优。哪个环节效果不好,改哪个环节,不影响其他部分运行。
2.2 节点选型和Prompt设计的几个关键决定
Dify工作流里提供的节点类型很丰富,但我最后实际用到的就那么几个。用最少的节点组合做最多的事情,这既是性能的考虑,也是降低复杂度的必要手段。
我最终选用的节点组合是:
| 节点类型 | 用途 | 关键配置 |
|---|---|---|
| 开始节点 | 接收用户输入 | 定义输入字段:hindsight_input(文本类型) |
| LLM节点 | 事实提取与清洗 | 用结构化输出,要求返回JSON格式的“事实卡片” |
| LLM节点×3(并行) | 三视角反思 | 三个独立LLM节点,各自配置不同的System Prompt |
| 条件分支节点 | 判断是否检索历史记录 | 规则:输入包含“重复”“又”“再次”等关键词是检索 |
| 知识检索节点 | 查询历史复盘记录 | 挂载Dify知识库;召回策略选“向量+全文混合” |
| LLM节点 | 汇总生成最终报告 | 输入为三视角分析结果+历史检索结果 |
| 变量聚合器 | 拼接所有输出 | 把结构化数据转成最终报告文本 |
| 结束节点 | 输出报告 | 支持Markdown格式渲染 |
这里我想重点说说Prompt设计。很多人觉得Prompt写起来很容易,但真正轮到做复盘场景的时候,差一个字的prompt,输出质量可以天差地别。
拿“批评者角色”的Prompt举例,我最初的写法是:
你是一个批评者,请分析用户复盘中存在的问题。
结果输出的内容全是空话:“用户应该提高沟通效率”“用户需要更加注重细节”——这种反思我管它叫“正确的废话”,扔到垃圾桶里都不心疼。后来我把Prompt改成:
你是一个注重事实、不留情面的外部评审专家。你正在审阅一份复盘材料。你的任务是用挑剔的眼光找出其中陈述的漏洞、被回避的问题、以及不合理归因。请针对以下事实逐条提出质疑。不要给建议,不要安慰,只指出问题。如果事实不足以支撑判断,明确说“信息不足,无法判断”。
加了“不要给建议”这个限制之后,批评者的输出质量一下子提升了很多。原因其实很好理解:当模型觉得“既要挑问题、又要给建议”时,它很容易偷懒,挑挑毛病就立刻转向“你也可以这样做”,结果批判深度大打折扣。只让模型做一件事,它反而能做得更极端、更深入。这个思路在搭任何“多角色分析”类应用时都值得参考。
另外,我还在每个反思节点里固定了一段“输入格式协议”:
你需要处理的事实卡片: {事实卡片} 历史复盘记录(如有): {历史记录} 请输出Markdown格式,包含以下部分: ## 核心问题 ## 证据与判断依据 ## 被忽视的盲区固定输出格式非常重要。AI一旦习惯了某种输出结构,后续的汇总节点就可以稳定解析、稳定加工。如果你让每个节点自由输出,汇总节点就要高度依赖语义理解,效果会忽好忽坏,调试的时候特别痛苦。
3. 实操:在Dify里一步步搭出“hindsight”
3.1 准备工作:模型配置与知识库初始化
正式搭建之前,有几个准备工作一定要做好。
模型选择。复盘场景对推理能力和上下文理解要求比较高,我建议至少选择支持长上下文的模型。我用过的组合是:三个反思节点用GPT-4o或者Claude Sonnet系列,汇总节点可以用略小的模型(比如GPT-4o mini或者Claude Haiku系列)。这样既能保证深度分析的品质,又能降低token消耗。如果你手头只有开源模型(如Qwen2.5-72B),也可以跑通,但深入分析的效果会差一些。
知识库初始化。hindsight的知识库用来存放历史复盘报告。我会先建一个空的Dify知识库,设置好检索模式。分块策略我踩过坑:一开始我按Dify默认的500字分块,后来发现整份复盘报告经常被切得七零八落,检索出来的内容经常丢头少尾。后来我把分块策略改成了“按Markdown标题分段”,每段最大长度1200字符、重叠区100字符,这样报告的结构信息能保留下来,检索命中率明显提升。
变量规划。在开始搭建之前,先在脑子(或者纸上)把整个应用要用到的变量列出来。我的是这些:
hindsight_input—— 用户输入的复盘素材fact_card—— 事实卡片,JSON字符串reviewer_output—— 复盘者分析结果critic_output—— 批评者分析结果coach_output—— 教练分析结果history_context—— 检索到的历史记录final_report—— 最终输出的复盘报告
把这些变量提前规划好,后续配置节点时就不会手忙脚乱。Dify的变量管理在侧边栏,每个节点都可以引用/写入全局变量,命名规范一定要清晰。
3.2 手把手配置:从输入到事实卡片
打开Dify,创建一个新的“工作流”类型应用,名字就叫hindsight。第一步配置开始节点的输入字段。
我开始节点只设置了一个字段:hindsight_input,类型为“文本”,变量名就写hindsight_input。在“用户输入”表单里,我会设置一个说明文字:“用大白话描述你想复盘的事情,越具体越好,包括当时的目标、你做了什么、结果如何。”
这一步有人可能会忽略:表单说明文字看似不起眼,但用户输入的质量直接决定复盘效果。我测试过,输入“今天我开了一个会,感觉不太好”和输入“我今早10点主持了一个需求评审会,会上研发和产品对排期产生了分歧,会议超时30分钟没有结论”,两种输入拿到的复盘报告,质量差距非常大。所以在输入提示里引导用户提供“目标、行动、结果”三个要素,收益极高。
接下来是第一个LLM节点,命名“fact_extractor”。它的职责是:把用户的大白话输入转换成结构化事实卡片。System Prompt我用的模板是:
你是一个信息提取器。你的任务是从用户的复盘素材中提取客观事实,不推理、不评价、不补充。 请严格输出以下JSON结构: { "event": "发生了什么,一句话概括", "goal": "用户当时的目标是什么", "actions": ["做了什么,按照时间顺序"], "results": ["结果是什么,尽量量化"], "context": "补充背景信息,没有就填null" } 如果原文没有明确说明目标或结果,请填"未明确说明"。不要臆测。User Prompt则简单拼接用户的输入。
这里有一个重点:一定要把输出格式限定为JSON。我第一版没用JSON模式,结果模型偶尔会在JSON前后加一些解释性废话,导致后续节点解析失败。Dify的LLM节点支持“输出格式”设置,你可以在界面里选择JSON模式,也可以直接在Prompt里写“只输出JSON”。两种方式我都试过,直接在Prompt里写“只输出JSON”更稳,因为JSON模式下有些模型仍然会在嵌套结构上出错。
节点配置好之后,把输出变量名定义为fact_card,存为字符串类型。后续的反思节点都会用到这个fact_card。
3.3 三视角反思节点的并发配置
这一步是hindsight最重要的部分。我在工作流画布上添加三个LLM节点,分别是reviewer、critic、coach,然后把它们拖成并联状态(在Dify里直接把节点左右并列放下即可,它们会自动并行执行)。
每个节点的配置逻辑都差不多,区别主要在于System Prompt。我把经过多次打磨的最终prompt分享在这里,你可以直接用,也可以按自己的行业场景进一步调整。
复盘者的System Prompt:
你是一个经验丰富的复盘引导师。你正在阅读一份复盘材料。你的任务是站在执行者的角度,重建当时的决策逻辑,分析哪些决策是合理的、哪些步骤执行不到位。 要求: 1. 先承认当事人在当时条件下做得好的部分,再指出不足。 2. 分析每一个关键动作与最终结果之间的因果链。 3. 不要泛泛而谈,所有判断必须有输入材料作为依据。 4. 如果输入材料信息不够,请明确列出“需要补充的信息”。 输出格式: ## 做得好的地方(写明理由) ## 决策复盘(逐条分析) ## 执行复盘(步骤对比) ## 待确认的信息批评者的System Prompt:
你是一个极度挑剔、毫不留情的外部评审专家。你正在审阅一份复盘材料。你的任务是找出其中的逻辑漏洞、被故意或无意回避的问题、以及不合理的归因。 要求: 1. 只批判,不给建议,不要写任何改进方向。 2. 针对原文中模糊的表述,直接质疑。 3. 对“结果不好是因为运气差”之类的归因,重点审视是否有替代解释。 4. 如果信息不足,忽略客套,直接写明“信息不足,无法判断”。 输出格式: ## 逻辑漏洞(逐条列出) ## 被回避的问题 ## 归因是否可信 ## 一句话总结教练的System Prompt:
你是一个温和但务实的成长教练。你正在阅读一份复盘材料。你的任务是帮助当事人把复盘转化为可执行的行动方案。 要求: 1. 结合复盘材料中的具体场景给出建议,不要空谈。 2. 每条建议必须包含“具体做法”而不是“应该更XXX”。 3. 区分短期应对建议和长期能力建设建议。 4. 如果当事人存在明显的思维盲区,温和地指出来。 输出格式: ## 关键洞见(你发现的最重要的一个模式) ## 短期行动建议(3条以内,必须具体) ## 长期能力建议(2条) ## 值得关注的情绪信号(如有)这三个节点设置完毕之后,你可以先手动跑一次测试,输入一段描述,观察三路输出。你会发现,同一件事,三个角色看到的东西完全不同——这正是huindsight的核心魅力所在。
3.4 汇总生成最终报告
三路分析结果都是并行输出,等它们全部完成后,进入最后一个LLM节点,命名为“synthesizer”。这个节点的任务,是把三份分析融合成一份通俗易懂、结构清晰的复盘报告。
System Prompt我设置为:
你是一个复盘报告总编辑。你收到了三份关于同一事件的分析材料:一份来自复盘者,一份来自批评者,一份来自教练。你的任务是把这三份材料融合成一份完整的复盘报告。 要求: 1. 保留三份材料中最重要的信息,但不要简单拼接。 2. 如果三份材料之间存在冲突,保留冲突本身,并说明分歧的焦点是什么。 3. 报告必须以“核心摘要”开头,用3句话以内概括整个复盘最关键的结论。 4. 最后必须包含“如果重新来一次”板块,明确写出回到当时情境下的最优行动路径。 5. 报告结尾附上“防复发检查清单”,帮助用户在下次行动前快速自检。User Prompt把三份输出拼进去,同时也可以把格式要求再强调一遍。汇总节点的输出变量名设置为final_report,结束节点直接把它作为输出展示给用户。
到这里,hindsight已经能跑通第一个可用版本了。输入一段复盘素材,输出一份包含多视角分析的复盘报告。
3.5 加入历史检索:让复盘不再“失忆”
MVP跑通之后,我立刻加了一个我认为必要的能力——历史复盘检索。因为如果每次复盘都是孤立的,那这个工具的价值就打了一半折扣。理想状态是:今天复盘时能联想到上周、上个月类似的问题,然后发现“这个问题已经是第三次出现了”。
实现方式不复杂。我在三视角节点启动之前,加了一个条件分支节点:判断用户输入中是否包含“重复”“又”“再次”“还是”“一如既往”这类“重复信号”词。如果包含,就调用知识检索节点去历史复盘库里查相似记录;如果不包含,直接跳过检索。检索到的最多3条相似历史回顾会拼到背景信息中,作为三视角分析的额外参考。
我试过不加条件判断、每次都检索的方案,结果每次跑流程都会多等好几秒。如果在快速迭代Prompt阶段,这体验是很拖节奏的。加了个关键词判断后,大多数快速复盘场景可以免检索,跑起来明显轻快。
知识检索节点本身的设置也需要调。Dify支持“向量检索”和“全文检索”,我测试对比过:纯向量检索在语义相似性上表现好,但对于“关键词完全一致的历史标题”这种精确匹配场景,全文检索命中率更高。最终我选的是“混合检索+权重平衡”模式,向量和全文各占50%。在“召回策略”里把“查询重写”打开,让模型在检索前先把用户口语化的句子改写成一个更利于召回的“查询语句”,也能提升命中率。
4. 实际使用中踩过的坑与排查技巧
4.1 Prompt太“虚”导致反思泛泛而谈的调整记录
这是hindsight开发过程中最大的一个坑。初版跑出来的报告看起来像模像样,每次都有“核心摘要”“行动建议”,但内容全是“提高沟通效率”“增强风险意识”“制定更完善的计划”……这种内容放在任何场景里都成立,但套在任何复盘上也都没有价值。
后来我仔细分析了原因,核心在于:不加约束时,大模型的“安全默认值”太强了。它倾向于输出模棱两可、谁都不得罪的话。破局的方式,就是我前面提到的“限制法”——限制模型的角色立场、输出内容范围、表达形式。
这里分享几个非常有效的约束句式,你们可以直接抄:
- “只输出问题,不要给建议”——用于批判类角色
- “每条建议必须包含一种具体的做法,而不是表达意愿”——用于教练类角色
- “用执行者的第一人称视角重新描述当时的决策”——用于事件还原
- “如果信息不足,直接写‘信息不足’,禁止猜测”——用于事实提取
调试Prompt的快感很大一部分源于“一个词的变化改变整个输出气质”。我建议你每改一次Prompt就跑同一个测试用例,看看输出变化的方向是否符合预期。保留那些有效的改动,形成一个版本历史。Dify自带版本管理的,每个版本之间可以对比,这个功能用来回滚糟糕的Prompt改动特别好用。
4.2 长文本输入导致上下文失真与截断
复盘场景经常出现一个人噼里啪啦输入2000字以上详细描述的情况。一开始我直接把全部文本塞进一个LLM节点,结果发现两个问题:一是上下文窗口逼近上限时,模型会“选择性失忆”,特别是对中间部分的细节记不清楚;二是token成本飙升,一次深度复盘跑完可能烧掉几万token。
我的解决方案是:hindsight_input进来之后,先做一个“预处理摘要”节点。它不是简单截断,而是让模型先分段提取要点,形成若干个“事实块”,每个事实块限制在200字以内。后续的反思节点只针对这些事实块进行分析。这样输入长度被显著压缩,但关键事实信息基本不会丢失,而且由于每个事实块语义更集中,模型反而能分析得更深。
如果你要复现这一步,建议在预处理节点的Prompt里加一句“仔细阅读原文,不要遗漏数字、时间、人名、关键决策点”。实测这个约束能明显提升后续分析的质量,因为数据点(时间、数量、金额)往往是复盘中最容易被模型忽略但又最有价值的内容。
4.3 结果格式不稳定、变量串格式报错
Dify工作流最常遇到的问题之一,就是某个节点输出格式变了,导致下游节点引用变量时报错。比如fact_extractor偶尔不输出规范JSON,而是输出包含解释性文字的Markdown代码块,后续节点解析就会失败。
我的排查思路是:
- 先把报错的那条流程跑起来,在Dify的“运行轨迹”面板里逐节点查看输入输出。
- 直接在下游节点的Prompt里加“以下是输入内容,如果不是合法JSON,请忽略并直接声明‘输入格式有误’”。
- 把上游节点的Prompt改成“只输出JSON,不要Markdown,不要代码块,不要任何解释文字”。
还有一个容易踩的坑:变量名搞混。Dify的节点可以引用全局变量,也可以引用前序节点的输出。如果你在两个节点里定义了名字相近的变量,比如action_summary和actions_summary,运行时很容易引错。我的建议是:所有变量名统一小写+下划线,并且每个节点的输出变量名前缀加上节点职责名,比如reviewer_summary、critic_findings。看起来啰嗦,但排错的时候真的能救命。
4.4 一次复盘太慢、太贵怎么办——降本提速的优化
跑完整流程,一次可能需要30秒到1分钟,费用在某些模型上也不低。如果你只是一个人在日常做个人复盘,这个等待和费用其实是可以接受的。但如果团队要用,就必须优化。
我在第二版时做了一些优化:
- 三视角并行节点中的“教练”节点,从大模型换成了中等规模模型,质量下降不明显,成本却降了一半多。
- 预处理阶段增加了一个“信息完整度检测”:如果输入里明确含有“目标”“行动”“结果”三要素,就跳过额外提问引导;如果缺少,则只追问缺的那个字段,不重复其他问题。
- 把历史检索的召回数量从3条减少到2条,大多数场景下够用。
优化完以后,单次复盘时间稳定在20秒内,费用减少了约40%,体验提升明显。
5. 延伸:给“hindsight”加更多能力
5.1 从手动复盘到自动复盘:接入定时触发的日回顾
手动输入复盘素材很好,但还有一个场景更刚需:很多人根本没时间写复盘,但工作群、邮件、会议记录里其实已经积累了大量的“事实素材”。我在后续迭代中加了一个思路:把hindsight接到消息源上,定时自动拉取当天的聊天记录或会议纪要,让AI自动生成“日回顾”。
实现方式不难。在Dify里可以创建定时触发类型的应用,用API从IM工具或日历系统拉取当天事件描述,然后接入跟hindsight一样的分析流程。跑出来的“日回顾”不需要很完整,哪怕只是列出今天最重要的三件事和各自的复盘要点,坚持一个月也会积累惊人的素材库。
这个扩展方向我特别看好。复盘最大的敌人不是不会复盘,而是没时间复盘。如果这件事能自动化,人人都能拥有一份持续更新的“个人经验数据库”。
5.2 支持不同类型的复盘点:项目复盘、沟通复盘、情绪复盘
目前的hindsight三视角分析,更多是针对“事件型”的内容,但复盘对象其实可以更广。我给工作流加了一个开头分类器,把输入内容归为三类:
- 项目复盘:关注进度、资源、风险、协作
- 沟通复盘:关注信息传递、表达清晰度、倾听状态
- 情绪复盘:关注触发点、情绪反应、潜在需求
三种类型背后的分析侧重点不一样。比如情绪复盘中,“批评者”角色如果太毒舌,可能适得其反。我在情绪复盘场景下把批评者Prompt改成了“引导者”,它的职责从“挑毛病”变成了“温和地指出自动化情绪反应背后的模式”。这种场景化微调非常值得做,同样的工作流,换一套Prompt就是完全不同的应用。
5.3 让hindsight参与决策:基于历史复盘给出行动预案
最后说一个我还在试验中的进阶玩法:把hindsight从“事后复盘”延伸到“事前预案”。做法是,当你准备做一个新的决策时,先用hindsight检索历史复盘库里同类场景的结论,然后让AI生成一份“事前检查清单”,列出历史中反复出现的问题点。相当于让过去的自己给现在的自己作参谋。
我把它起名叫“hindsight before action”。我用了几次,效果出奇的好——因为人往往是“好了伤疤忘了疼”,但AI不会。它能无情地把三个月前你在类似问题上踩过坑的记录一件件翻出来,让你在动手之前提心吊胆地检查一遍。这种“制造健康的焦虑”的能力,恰恰是我最初想做hindsight时没有预料到的。
5.4 团队版hindsight:共享复盘库与盲区互审
如果公司里多个人一起使用hindsight,还可以进一步做共享复盘库:所有人的复盘报告都进同一个知识库,每个人在复盘时能看到团队历史中相似问题的处理经验。这相当于把个人经验沉淀为组织智慧。实际操作上,可以在知识库里为不同用户打标签,检索时用权限过滤——只共享“公开”级别的复盘,个人隐私类的不入库。搭起来不复杂,但价值非常大。
最后说点我的实操体会
hindsight做到今天这个程度,我最大的一条经验是:工具永远是次要的,Prompt方法和流程设计的思路才是核心。Dify只是一个载体,它让我能快速把想法变成可运行的东西。
如果你也想做一个类似的项目,我建议你先别急着全功能上线。先做最小可用的版本:一个输入框、一个反思节点、一个输出框,跑通之后再加三视角、加历史检索、加定时任务。步步为营,远比一开始就搭一个庞大的工作流要靠谱。
复盘能力本质上是一种“元能力”,它衡量的是一个人或者一个组织能不能从自己经历中提取有效模式。hindsight用AI把这件事变得低成本、高频、结构化。我也还在持续迭代这个工作流,后续大概率会加上语音输入支持,让复盘可以随时随地用嘴说出来,而不是打字。毕竟愿意写下来的人是少数,但愿意说两句的人,肯定多得多。