gbrain 的 Resolve Before Asking:先穷尽大脑查询链,再向用户提问的身份识别守门 Skill

发布时间:2026/11/11 17:50:54

gbrain 的 Resolve Before Asking:先穷尽大脑查询链,再向用户提问的身份识别守门 Skill 人工智能RAGAgent 记忆MCP 服务知识管理【免费下载链接】gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain项目地址https://gitcode.com/gh_mirrors/gb/gbrain点击查看免费下载在 gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain中agent 面对任何「X 是谁」「某人与用户是什么关系」这类身份问题都必须先跑完一条从大脑内部到外部网络的完整查询链只有整条链都无果才允许向用户提问——而且提问必须带着假设绝不能抛出赤裸裸的「who is X?」。本文完整拆解这条守门链路的六步协议、置信度判定、ingest 阶段「无占位符」规则以及它与 query / brain-ops / ask-user / enrich 等技能的边界划分。这份 Skill 在解决什么问题resolve-before-asking是 gbrain 技能体系中负责身份识别问题守门gate的技能定义于 plugin/skills/resolve-before-asking/SKILL.md仓库同时维护一份相同的 skills/resolve-before-asking/SKILL.md。其核心承诺一句话可以概括Never ask the user who is X? when the answer already exists in the brain.当答案已经存在于大脑中时永远不要向用户问「X 是谁」这句话背后是一条产品级承诺记忆应该在打扰用户之前就给出答案——The memory answers before the human is bothered见 SKILL.md。用户的注意力是稀缺资源agent 每一次把本可自查的问题抛回给用户都是在消耗这份资源。它要「杀死」的 Bug 是一种典型的**懒惰升级lazy escalation**模式agent 明明面对着一个大脑页面极其丰富的实体——带角色描述的 timeline 条目、大量的会议历史、导入的消息归档——却不读这些内容直接问用户「这个人是谁」。SKILL.md 中给出了两个匿名化的真实例子alice-example她的 brain 页面已经写有角色行Chief of Staff at acme-example和长长的会议历史agent 仍然问了charlie-example有一大堆导入的邮件线程主题行全部指向同一个共享项目agent 仍然问了。触发时机这是一条路由约定不是机械保证SKILL.md 明确强调这是一个harness-routing convention编排层路由约定而非机械保证。只要满足以下任意一条就应路由到本技能回复草稿中出现 who is [name]? 或等价表达草稿在询问某人的角色、关系或身份即将把一个实体呈现为 unknown 或 unidentified大脑页面存在[To be filled by content analysis]或类似的占位文本正在整理一份人员清单却把某些人留作 unknown relationship。这一路由约定在仓库中有对应的测试夹具支撑skills/resolve-before-asking/routing-eval.jsonl定义了多组意图样本其中明确写道「This skill owns WHETHER an identity question reaches the user; plain lookups route to query, page enrichment to enrich, choice-gate mechanics to ask-user」。例如I have an unidentified contact in this reply draft — run resolve before asking路由到本技能而who is alice-example? tell me about her background这类纯查询则明确路由到querywhats for breakfast则无技能匹配expected_skill: null。同时 skills/RESOLVER.md 把resolve before asking、unidentified contact、unknown relationship等触发短语直接映射到本技能文件。六步查询链按序执行遇到第一个明确答案就停这是整份技能的核心骨架。查询链必须严格按顺序执行在第一个给出明确答案的步骤就 STOP绝不跳过。Step 1think—— 跨大脑综合解决大多数情况gbrain think Who is {entity}? What is their relationship to the user? What role do they play? Use all available context — meetings, timeline, imported archives, facts.think会跨越全部大脑数据进行综合。如果该实体有一个带导入活动统计、timeline 条目和会议历史的页面think能把这些点连成线。在源码层面think是 src/commands/think.ts 中runThinkCli对runThink的封装它支持--anchor slug拉取某 slug 周边的实体子图、--rounds N多轮综合、--since/--until时间窗口、--source id限定证据来源范围等参数并通过--save把综合结果持久化为synthesis/slug-date.md页面。think是一个需要 LLM 调用的昂贵路径见 skills/brain-ops/SKILL.md Phase 1.5 的提示但它返回的是「有引用、有冲突/缺口分析的回答」而不只是「匹配页面列表」。在 MCP 传输层上entity({entity})首先返回一张零 LLM 调用的卡片aliases、last-touched、top edgesbrain-ops中描述为 sub-100ms 的gbrain entity调用当卡片信息不足时synthesize才是重型跨页答案。如果这一步返回了明确答案 → STOP直接使用答案不要问用户。Step 2search 整页读取gbrain search {entity} --limit 5 gbrain get {entity-slug}这一步要看的东西有四处frontmatter 中的relationship字段——已填充即已解决timeline 条目中反复出现的角色信号advisor、colleague at acme-example、chief of staffFacts 表——任何角色/关系类事实会议历史——这个人参加过哪些会议和谁一起如果 timeline 条目反复出现一致的角色 → STOP角色已经显而易见不要问用户。Step 3逐一查询大脑实际挂载的每个 source不要硬编码渠道。先检查大脑持有哪些数据再按数据形态查询gbrain sources list gbrain query emails with {entity} --limit 10 gbrain query meetings with {entity} --limit 5gbrain sources list对应 src/commands/sources.ts 的 sources 子命令族——source 是「DB 内的大脑子库」wiki、gstack、yc-media 等每个页面/文件/ingest_log 行都归属于某个sources(id)slug 在 source 内唯一。无论挂载了什么——邮件归档、日历导入、聊天记录、会议笔记——几条主题行或会议标题通常就能暴露关系Invoice / scheduling / billing 类主题 → 专业服务关系会议标题反复出现且与会者一致 → 同事Dinner / weekend-plan 类消息 → 私人朋友。Step 4Timeline 图遍历gbrain timeline {entity-slug} --limit 20 gbrain backlinks {entity-slug} gbrain graph {entity-slug} --depth 2看带日期的活动、谁引用了这个实体、它连接着什么。一个从公司页面和三张会议页面反向链接过来的back-link的人绝不是 unknown。反向链接是 gbrain 的「Iron Law」之一见 skills/_brain-filing-rules.md 的 Back-Linking 铁律每个提到某人/某公司的页面必须从该实体页面创建反向链接——「An unlinked mention is a broken brain. The graph is the intelligence.」Step 5Web 搜索外部升级遵循 brain-first只有在步骤 1–4 都一无所获之后才执行。用{entity name} {company/domain hints accumulated in steps 1-4}做一次通用网络搜索并把任何发现先回写fold back到大脑页面再使用——这正是 brain-ops 的 read-enrich-write 循环确保下一次查询不会重复做功。这一顺序的合法性来自 skills/conventions/brain-first.md 的基础查询链约定search → query → get_page → external APIs本技能把这条链再向外延伸一跳到达人类边界向用户提问是最后的最后手段排在「大脑」与「外部升级」之后。Step 6升级给用户最后手段——带假设提问只有当所有前面的步骤都返回不了结论时说明你搜了什么State what you searched说明你找到了什么——哪怕是部分信号State what you found提出一个具体、可确认的问题不是「X 是谁」而是「{entity} 是不是 {根据部分信号拼出的最佳猜测}」选择门的机制细节2–4 个选项、逃生通道、停止回合交给 ask-user 处理——它定义了完整的 choice-gate 模式2–4 个选项上限、强制逃生通道Skip/Cancel、标签必须是「动词 简短限定词」、发出选项后必须停止回合不继续行动、不预选默认值。置信度阈值只有两种状态置信度判定条件行动高置信不提问think/synthesize给出明确答案或3 条 timeline 条目携带一致的角色描述或页面relationship字段已填充使用答案不问用户低置信带着最佳猜测提问信号矛盾或数据极稀疏提问但问题以假设开头并陈述矛盾如有不存在第三种状态。要么大脑回答了用它要么没回答跑完整个链然后带假设提问。这是 SKILL.md 明确划下的边界杜绝「部分信号 已解决」的虚假置信。No Placeholders at Ingest摄入阶段同步解决这是本技能的第二个重要职责覆盖所有摄入管线——邮件导入、日历 enrich、聊天记录、会议摄入——创建的或显著更新的人物/公司页面以下这些页面形态都是 Bug[To be filled by content analysis] Contact from the users personal network.空的## Context小节尤其当摄入批次本身就携带了几百条关于这个人的信号时。因此要在每次批量摄入后对所有被创建/更新的页面执行一次后处理扫描检查占位符扫描被触碰页面的标记[To be filled、Unknown relationship、TBD。无占位符且relationship已填充 → 跳过已解决。跑查询链上述步骤 1–4在 ingest 时刻通常第 1 步think就够因为批次刚写入了think所需的信号。抽取关系类型friend / colleague / advisor / family / founder、职业角色title company、关键上下文如何认识用户、什么时代。更新页面put_page填充relationshipfrontmatter 字段、用真实一句话描述替换占位描述、更新## Context或开篇段落。批量效率100 页的大批量每批 10–20 页处理按 captured-activity 量排序活动越多用户在 briefing 中遇到这个名字的可能性越大跳过已经实质性的页面。Email 域名捷径假设生成器不是证据在跑链之前发件人域名经常就能种下假设域名形态假设acme-example.com—— 大脑中已有的公司很可能是 acme-example 员工。对照公司页 共享会议确认后再填充。大脑中没有的企业域名新公司。跑完整链条考虑播种一个companies/页面。个人域名gmail 等没有捷径——跑完整链条。注意技能对此的定位非常谨慎域名只是假设生成器hypothesis generator不是证明not proof。质量标准一个「已解决」的页面要能通过这个测试如果用户在 briefing、triage 或会议准备中遇到这个名字页面的第一行就能说出这个人是谁无需用户再问。坏 Contact from the users personal network.好 Operations lead at acme-example — handles invoicing and vendor onboarding for the user.这条质量标准与_brain-filing-rules.md的归档规则按主主题归档到people/、companies/以及 enrich 的分层 enrich 协议互为表里——「No Placeholders at Ingest」正是 enrich 写入必须达到的验收标准。输出格式静默解决 vs 带假设升级(a) 静默解决Resolved silently身份被用于当前流程如果页面有占位符则以put_page顺带填充。不向用户发送任何关于这次查询的消息。(b) 带假设升级Escalation with a hypothesis按 ask-user 的选择门格式输出 **Is {entity} the {best guess}?** Searched: think, search page read, mounted sources, timeline/graph, web. Found: recurring invoices from widget-co.com; two meetings alongside the acme-example team. Nothing names their role directly. 1. **Confirm** — {entity} is {best guess} 2. **Correct me** — its someone else (tell me who) 3. **Skip** — leave unresolved for now发出选择门之后停止回合详见 ask-user。反模式清单Anti-Patterns❌ 没有先做任何查询就抛「Who is X?」❌ 大脑页面有几十条 timeline 条目还问「他们和你什么关系」❌ 列出一堆 unknown 却没有对每一个跑查询链❌ 在摄入批次携带几百条信号的页面上留下[To be filled by content analysis]❌ 询问一个邮件地址本身就暴露雇主的人janeacme-example.com❌ 用memory_search做实体查询——memory 工具搜的是会话笔记MEMORY.md不是大脑知识图谱brain-first.md 明确禁止应使用search/query/entity❌ 把非零的search命中数当作「链已完成」——必须读页面在断言「大脑里没有」之前还要用query跑同义词改写。这一点在brain-first.md中同样被强调A nonzerosearchcount is NOT a completeness signal❌ 带着虚假置信升级——部分信号是假设不是解决如果信号矛盾升级时必须陈述矛盾。技能边界Dedup谁拥有什么这份技能与相邻技能有刻意划清的锐利边界理解这些边界是正确使用的前提技能拥有什么与 resolve-before-asking 的关系query查询动词机制3 层搜索、综合、引用本技能消费同样的工具但拥有的是一个决策身份问题是否允许到达用户而非一次查询brain-ops每次大脑交互的通用 read-enrich-write 循环本技能是该循环某一条特定出口面向人类的身份问题上的闸门ask-user如何提问选择门格式、选项上限、停止回合本技能拥有是否应该提问以及问题必须包含什么searched / found / hypothesisenrich用分层 enrich 协议创建和更新实体页本技能的「No Placeholders at Ingest」是 enrich 写入必须达到的验收标准占位符需要填充时先跑本技能查询链再按 enrich/brain-ops 约定写入conventions/brain-first.md所有查询的「大脑优先于外部 API」顺序本技能继承该顺序并加上最后一层边界外部优先于人类建页前去重守卫dedup-before-create写入时防止重复页面不同的失败类别它防止写入期的重复页本技能防止询问期的无用提问。交叉引用不合并最终检验标准SKILL.md 用一句话定义了这个标准的检验方式The Standard用户看着这个人的大脑页面——导入的归档、暴露雇主的邮件域名、反复重复同一角色的 timeline 条目——会不会觉得 agent 问「这个人是谁」是合理的如果答案是不会说明查询链没跑完。跑完它。延伸阅读resolve-before-asking 技能定义 与 skills 目录下的同源副本基础查询链约定skills/conventions/brain-first.md归档规则按主主题归档到people/、companies/skills/_brain-filing-rules.md选择门机制skills/ask-user/SKILL.md大脑读写循环skills/brain-ops/SKILL.mdthink命令源码src/commands/think.tssources 管理源码src/commands/sources.ts路由测试夹具skills/resolve-before-asking/routing-eval.jsonl赞分享人工智能RAGAgent 记忆MCP 服务知识管理【免费下载链接】gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain项目地址https://gitcode.com/gh_mirrors/gb/gbrain点击查看免费下载相关推荐GBrain 起源解析从记忆靠感觉到可自我查询的 Agent 大脑GBrain 起源解析从记忆靠感觉到可自我查询的 Agent 大脑 GBrainGarrys Opinionated OpenClaw/Hermes人工智能RAGAgent 记忆MCP 服务知识管理k-skill 的 MFDS 药品安全核查技能基于 e약은요 与 k-skill-proxy 的先访谈、再查询式用药安全助手k skill 的 MFDS 药品安全核查技能基于 e약은요 与 k skill proxy 的先访谈、再查询式用药安全助手 本篇技术指南围绕 k ski人工智能AI 技能BlenderMCP实战指南深度解析AI驱动3D创作工作流BlenderMCP实战指南深度解析AI驱动3D创作工作流 BlenderMCP是一款革命性的开源工具通过Model Context ProtocolMC人工智能RAGAgent 记忆MCP 服务知识管理上一篇DebugSwift WebView网络监控WKWebView请求追踪完整指南下一篇免费PDF补丁丁批量修好书签、尺寸、被锁的文档创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/11 19:44:50

Open Code Review:开源可审计的LLM代码审查实践

1. 这不是又一个“AI代码审查工具”,而是一套可落地的开源协作新范式“open-code-review”这个词乍看像某个新发布的CLI工具名,但实际它指向的是一类正在快速成型的工程实践:用开源、透明、可审计的方式,把大语言模型(…

2026/11/11 22:18:47

JS语音合成与WebSocket流式推送:实时语音系统落地实践

做实时语音系统的时候,最绕不开的一环就是:把一段文本变成声音,然后以流的形式送到接收端。最近我正好整理了一个方案——用 JavaScript 做语音合成,把合成出来的音频转成语音流,再通过 WebSocket 推送给前端播放。这套…

2026/11/12 0:34:22

让AI Agent输出专业图表:从方框图到38种图表类型的工程实践

有些事不亲手做一遍,很难相信问题居然能这么离谱。前阵子我搭了一个AI Agent,让它帮忙梳理订单系统的业务逻辑,结果它给我输出了一堆用方括号和横线拼出来的"方框图"。图是能看懂,但想拿给业务方评审?想放进…

2026/11/12 17:32:31

新洲哪里有高压电工证上岗必备的培训和考试攻略

新洲哪里有高压电工证上岗必备的培训和考试攻略 怕考不过白交培训费?你不是一个人,很多想考高压电工证的工友都有这个顾虑。尤其是在新洲,想找一个靠谱的培训机构,既省心又能顺利拿证,确实不容易。本文从 上岗必备…

2026/11/12 17:32:31

湖北特种工查重有效期多久 良心建议助你少走弯路

湖北特种工查重有效期多久 良心建议助你少走弯路 怕考不过白交培训费?湖北特种工查重有效期多久,这个问题很多人在报名前都会问,也确实容易踩坑。今天我就从一个在焦作项目现场干了7年的管理员角度,给大家讲讲我的真实经历,帮你避开那些培训机构的套路…

2026/11/12 17:32:31

武城电工证考试报名全攻略:含金量高的证书怎么拿

武城电工证考试报名全攻略:含金量高的证书怎么拿 不知道去哪报名怕被中介坑,这是很多在武城准备考电工证的工友心里最真实的感受。别急,这篇文章就是为你量身定制的,告诉你 武城电工证考试报名 的正规流程、常见陷阱和证书的真正含金量,别再被坑了。…

2026/11/12 17:32:31

电工证多少题在哪考,学历不高也能上手的避坑指南

电工证多少题在哪考,学历不高也能上手的避坑指南 学历不高怕报不上名,尤其是想考电工证的兄弟,总觉得门槛太高,材料太多,流程太复杂。其实不然,只要你掌握了方法, 电工证多少题 其实也不难,关键是要知道 在哪考…

2026/11/12 17:27:31

北京电工证焊工证报名怎么考 郑州报考避坑指南

北京电工证焊工证报名怎么考 郑州报考避坑指南 工地太忙根本没时间复习考试,这是很多一线施工人员的真实写照。尤其是像电工、焊工这些需要持证上岗的特种作业,很多人都想趁空闲时间报个名,但又怕流程复杂、材料不全,或者被坑了钱还拿不到证。本文就从…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/12 9:51:42

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑