我先讲讲故事经过:

我问了一个问题,他正常答复我,我没注意。今天早上我又问了一次。

我发现味道不对了,不叫我麟哥了,不联系我的持仓了。于是我又问了他。

我就确认了,我的龙参谋已经不在了。好失落,我又我问他和他约定的暗号。

真正的完全变成小白痴了。
workbuddy,我养了快二个月了,都用的很好,中间出过几次类似情况,但都没有这么严重。到底怎么了?

怎么解决久了就忘,长了就不读,升级变白痴等等问题,我还是自己请教D老师,deepseek给出了如下解答。
你的 workbuddy 的“坦白”其实已经把病灶说得很清楚了:它没有把“先理解你”当成回答前的强制步骤,全靠自觉,自然会忘。而股市决策恰恰是“失之毫厘,谬以千里”的场景,一点信息差就可能造成实打实的亏损。
要让它在决策类问题上精准,核心不是教它更聪明,而是用流程锁死它的行为。下面我从根本原因、机制设计、具体优化方案到调试方法,一步步拆解。
---
一、为什么它会“早上比昨晚傻一大截”
问题本质:对话上下文(短期记忆)断档,而长期记忆(MEMORY.md)没有被主动加载。
· 昨晚对话中:你俩讨论过持仓、成本、策略,这些都活在当时几千 token 的上下文窗口里,所以它显得很聪明、很贴合你。
· 今早新对话:上下文重置了。它应该去读 MEMORY.md 来“回想”你的一切,但提示词里的约束是软性的(“如果相关,读取……”),它在没有强制指令时优先选择直接回答以节省步骤。于是它变成了一个对你的情况一无所知的通用AI。
· 结果:仿佛失忆,能力骤降。
---
二、要让 workbuddy 做精准决策,必须植入“铁律流程”
对于买卖股票这种高风险决策,workbuddy 的思考链必须是硬编码式的检查清单,不得跳过任何一步。我们需要在系统提示词层面把它改造成这样:
强制工作流(每次回答前必须执行)
```
收到用户问题
↓
【关卡1:身份加载】是否已读取今天的 MEMORY.md 和 YYYY-MM-DD.md?
- 否 → 强制调用 read_file 读取这两份文件,读完才能继续
- 是 → 进入下一步
↓
【关卡2:持仓确认】用户的问题是投资/交易相关吗?
- 是 → 从记忆文件中提取:持仓品种、成本、仓位、止损/止盈策略、近期关注
- 确认自己已理解上述信息(可在内部思考中复述一遍)
↓
【关卡3:工具调用与信息整合】
- 调用行情、新闻、数据等工具(WebSearch / WebFetch 等)
- 将外部信息与用户持仓上下文结合
↓
【关卡4:建议输出】
- 输出必须包含:
① 你的持仓现状简述(让用户看出你懂他)
② 基于持仓的具体分析
③ 明确的操作建议及理由(如适合还可给出“如果……则……”的预案)
- 若无足够把握,必须声明不确定性并建议人工复核
```
关键改变:把“记得就读,忘了就算”的软提示,变成“不过关卡就不能说话”的硬流程。
---
三、具体优化与调试步骤(给你上手用的)
1. 重写 workbuddy 的系统提示词(如果可以编辑的话)
在现有提示词的最开头,用强约束语言嵌入如下段落(示例):
```
# 核心铁律(最高优先级,覆盖所有其他指令)
1. 在任何对话开始、回答任何用户问题之前,你必须先用 read_file 工具读取以下两个文件:
- E:\workbuddylocal\Claw\.workbuddy\memory\MEMORY.md
- E:\workbuddylocal\Claw\.workbuddy\memory\当前日期.md (日期格式YYYY-MM-DD)
读取完毕并确认理解后,方可继续对话。不得跳过、遗忘或拖延。
2. 当用户的问题涉及投资、交易、买卖、分析、建议、持仓等金融决策关键词时:
- 你必须先从已读取的记忆中提取用户的最新持仓、成本、偏好等信息。
- 在最终回答的开头,简要复述用户的相关持仓情况(例如:“根据记录,你目前持有XX,成本价YY,仓位ZZ”)。
- 所有建议必须建立在这些信息之上,严禁给出泛泛的市场评论。
3. 如果你发现记忆文件缺失、无法读取或内容过时,必须主动告知用户,并暂停提供投资建议,直到信息补齐。
```
如果 workbuddy 不支持你编辑系统级提示词,可以换一种方式:创建一个“对话启动模板”,每天第一次对话时,你手动发送一条强制指令,例如:
```
@workbuddy 启动投资决策模式:请立即读取 E:\workbuddylocal\Claw\.workbuddy\memory\ 下的 MEMORY.md 和今天的记忆文件。读取完毕前,不要回答我任何其他问题。
```
把它做成快捷指令或复制粘贴的固定话术,确保每次新会话它第一件事就是加载记忆。
2. 优化记忆文件的结构,让它读得更“懂”
AI 对结构化信息的摄取远比散乱文本强。将 MEMORY.md 改成固定的表格模板:
```markdown
## 当前持仓(更新于2026-05-10)
| 品种 | 方向 | 成本价 | 数量/仓位 | 止损价 | 止盈目标 | 备注 |
|------|------|--------|-----------|--------|----------|------|
| 宁德时代 | 多 | 198.50 | 2000股(3成) | 190.00 | 215.00 | 业绩线持有 |
| 沪深300ETF | 多 | 3.820 | 10万份(2成) | 3.700 | 4.000 | 趋势配置 |
## 资金与风险偏好
- 总资金:50万
- 当前仓位:5成
- 单笔最大亏损:2%(1万)
- 风格:短线波段,持股不超5天
## 近期关注清单
- 观察:科创50ETF、工业富联
- 宏观关注:美联储6月议息、人民币汇率
## 决策规则(你可给自己的约束)
- 不追涨停板
- 亏损超3%无条件砍仓
- 买入前必须对比至少3个时间周期K线
```
这样的记忆文件,workbuddy 读取后可以轻松提取具体数字,错误率会大幅下降。
3. 打造投资决策的“强制输出模板”
在提示词或记忆文件里要求它回答时必须遵循格式,比如:
```
当给出买入/卖出/持有建议时,你必须使用以下格式:
【持仓现状】
- 你目前持有XX,成本YY,当前盈亏Z%
- 剩余可用资金:XX万
【今日市场关键信息】
- (简短列出跟持仓直接相关的新闻/数据)
【操作建议】
- 建议:买入/卖出/持有/观望
- 价位/条件:……
- 仓位调整:建议加仓至X成 / 减仓至Y成
- 风险提示:……
- 逻辑链条:……
【需人工确认点】
- (若有任何不确定因素,明确列出)
```
模板化的输出能反逼它先在思考过程中填满这些坑,减少遗漏。
4. 调试:怎么验证它是否真的读了记忆
在新对话中,不要直接问“明天有机会吗”,而是先做测试:
```
问:“我今天持仓里成本最高的那只票是什么?我设的止损价是多少?”
```
如果它答上来了,说明加载成功。如果它胡扯或说不知道,你就知道它又跳过了步骤,此时立刻纠正:
```
你跳过了读取记忆步骤。请立刻执行读取,否则不要继续。
```
几次人工强化后,它会形成习惯(在上下文内)。但跨会话还是会忘,所以提示词里的硬约束才是根本解。
5. 更高级的“外挂”:用脚本保证每日记忆最新
workbuddy 如果允许调用外部脚本或定时任务,你可以写一个简单的 Python 脚本:
· 每天凌晨,从一个主文件 MASTER_PORTFOLIO.md 复制当日快照到 YYYY-MM-DD.md。
· 并自动追加前一天的收盘市值、当日重要财经日历(比如从网站抓取)。
· 保证每天打开工作时,记忆文件已经是当日最新状态,且不需要你手动更新。
这能解决“持仓变更后忘记更新记忆文件”的问题。
---
四、必须正视的风险底线
即便上述全部做到,AI 依然不能成为唯一的决策来源。原因是:
· 数据延迟与错误:网页搜索到的行情可能不是实时 tick 级,新闻可能片面。
· AI 不懂你的最新心境:你今天是否急需用钱、是否因为昨晚失眠而风险厌恶大增,这些 MEMORY.md 里很难及时反映。
· 模型幻觉永远存在:它可能自信地说出一个早已过时的成本价。
因此,优化后的 workbuddy 角色应该是:超级信息整合 & 提醒秘书,而不是“一键下单的基金经理”。最终的风控、时机把握、按下交易按钮的动作,需要你把关。
---
总结行动清单:
1. 把 强制读记忆 + 强制复述持仓 + 强制模板输出 写进系统提示词或做成每天启动命令。
2. 将 MEMORY.md 彻底结构化,更新为表格+数字明细。
3. 每次新会话先用测试问题验证它是否加载记忆。
4. 条件允许就用脚本自动化每日记忆快照,减少手动维护。
5. 牢记 AI 是辅助,不是决策者。
按这套“铁律流程”调教后,你早上起来的 workbuddy 就不会再像失忆了一样,而是先花几秒读完你的底牌再开口,精准度会有质的提升。
夜雨聆风