致知录
第 XXXIII 卷 · 第 11 篇 · gbrain · 1970.01.01

think:让 brain 帮你推理,以及它对自己的判断有多诚实

gbrain 工具拆解 · 1970.01.01 · 5 分钟阅读 · 1,235 字
目录 · 7
think 是个远程只读的推理命令;calibration 给观点打可证伪性分数——但 spec 前四节从未实现,如实标注

你攒了那么多笔记,最终目的不是「存」,是「用」——某天你抛一个问题给 brain:「我到底该不该加仓这家公司?」它怎么组织你散落各处的笔记、观点、事实,给你一个带出处的推理?这一课讲 gbrain think 这个思考命令,以及它背后的「校准(calibration)」机制——系统怎么评估自己观点的可信度。

一、think 是什么:一个远程只读的推理调用

think 不是随便写写。它是个远程只读的命令:当你通过 MCP 接口协议(让 agent 连上 brain 的标准协议)远程调它时,系统会强制关掉 savetake——也就是说,远程调用 think 只会读取你的 brain、产出推理,绝不会偷偷把任何东西写回你的知识库1。这层保护很重要:一个外部 agent 可以请教你的 brain,但不能借「思考」之名往里塞自己的东西。本地 CLI 调用时因为是你自己,才允许持久化。

对使用者意味着:你放心让 agent 用 think 去查你的 brain,它看完就走,不会污染你的笔记。

二、think 怎么组织你的知识来回答

当你问一个问题,think 内部会先做意图分类(是问时间线?还是知识更新?还是别的),再从检索到的实体里挑候选,然后跑一段「轨迹注入(trajectory injection)」——把相关实体随时间的演变(比如某公司估值从 A 到 B 的轨迹)拼进提示词,再结合混合检索(hybridSearch)召回的内容、图谱游走,最后生成带出处的推理2。简单说:它不是凭空编,而是把你的笔记、事实、观点、时间线按相关度拼成证据链再推理。

三、校准(calibration):给观点打「可证伪性」分

gbrain 有个「校准」概念——它想给抽出来的每个观点(take)评估:这个观点有多可证伪? 一个「苹果公司会涨」这种没法证伪的空话,和「若 Q3 营收低于 X 则看空」这种能证伪的,价值天差地别。校准档案(calibration_profile)就是干这个的,还配套可视化(brier 趋势图、领域分布图等)3

但这里必须如实说清一个边界:gbrain 的校准规范(calibration spec)前四节(§§1–4)从未实现4。也就是说,文档里描得很好的那套评分体系,目前并没有真正 ship。生产环境里观察到的「可证伪率」大约是 6.8%——这是个真实测量值,但底层评分链路并未完整落地。监督它的人不能把「校准」当成一个已完工的能力去依赖。

为什么我要特意讲这个?因为读 gbrain 源码最大的收获之一,就是它不粉饰未完成的部分。你造自己的工具时也该这样:哪些是真的、哪些是骨架,标清楚,别让使用者误以为一个占位实现是强能力。

四、一个使用者真正该带的走

  • think 是请教 brain 的推理入口,远程调用只读不写,安全。
  • 它靠「轨迹注入 + 混合检索 + 图谱」把你的知识拼成证据链再答,不是瞎编。
  • 校准想给观点打可证伪性分,但 spec 前四节没实现、当前评分链路不完整——这是个已知边界,不是缺陷隐瞒。
  • 你问我「它对自己判断有多诚实」——答案藏在它的源码态度里:它把没做到的地方写进注释和文档,而不是藏起来。

练习题

1

远程(MCP)调用 think 时,系统强制怎么做?

2

think 组织答案时,轨迹注入(trajectory injection)做什么?

3

gbrain 校准规范(calibration spec)前四节(§§1–4)状态是?

4

生产环境观察到的观点可证伪率大约?


参考出处

Footnotes

  1. 代码 src/core/operations.tsthink 为 read-scoped;远程调用 remote !== falsesave/take 被强制关掉再持久化;在 MCP 允许清单上因为远程调用者无法从 think 持久化;OAuth/HTTP 下 sync_brain 等 admin 操作被拒)。

  2. 代码 src/core/think/index.tsrunThinkclassifyIntentextractCandidateEntitiesfindTrajectory(5s 超时、并发 3)→ formatTrajectoryBlock 注入轨迹;buildThinkUserMessage 含 trajectory 槽位;src/core/think/intent.ts 纯正则意图分类零 LLM;轨迹注入失败降级为「不注入」不崩)。

  3. 代码 src/commands/serve-http.ts(admin 路由 /admin/api/calibration/profile/charts/:type 含 brier-trend/domain-bars/pattern-statements/abandoned-threads 可视化);src/core/cycle/calibration-profile.ts(校准档案阶段,budget_usd 键)。

  4. 代码 src/core/cycle/calibration-profile.ts 注释(calibration spec §§1–4 NEVER IMPLEMENTED;当前 grade_takes 证据检索为占位实现,评分链路未完整 ship;6.8% 可证伪率为生产观察值,非已完成能力)。