解放双手的AI自动回答:Natively Auto Answer(Beta)完整用法,它如何判断该不该保持沉默?
【免费下载链接】natively-cluely-ai-assistantNatively — Free open-source AI meeting assistant, interview copilot, and note taker. The best alternative to Cluely, Otter, Granola, Final Round AI, Fireflies, and Interview Coder. Real-time transcription, AI meeting notes, lecture recording, local RAG, BYOK, and stealth mode. Runs locally. No subscriptions. No data breaches.项目地址: https://gitcode.com/gh_mirrors/na/natively-cluely-ai-assistant
Natively是一款免费开源的 AI 会议助手与面试副驾(Interview Copilot),支持实时转录、AI 会议笔记、本地 RAG 与 BYOK,全部本地运行、无订阅、无数据外泄。它的Auto Answer(Beta)功能是真正的"解放双手":面试官一停口,答案就已经草拟好出现在眼前——而它背后有一套精巧的"该答/该沉默"判断机制。这篇文章带你完整上手,并拆解它"何时闭嘴"的决策逻辑。
一、三步开启 Auto Answer:最快配置方法
Auto Answer 默认关闭,位于设置页中并带有 Beta 标识,开关旁的说明就一句话:"Answers appear as soon as the interviewer finishes a question"(面试官一结束提问,答案立刻出现)。
开启步骤清单:
- 打开 Natively,进入Settings(设置)→ General(通用)
- 找到Auto Answer(Beta)开关,点击启用
- 开始会议(面试 / 讲课 / 销售通话均可),无需任何额外操作
相关实现可以在设置界面源码中查到开关与 Beta 徽标的完整交互逻辑:SettingsOverlay.tsx。
💡 提示:Auto Answer 与 Direct Assist 同属 Beta 功能,两者共用一套 Liquid Glass 徽标设计,方便你一眼区分"实验特性"与"稳定特性"。
二、Natively 如何判断该不该回答:四层过滤机制
这是全文核心。Auto Answer 的引擎源码在 SimpleAutoAnswer.ts(设计口号是"legacy trigger, judge brain——传统触发器 + 裁判大脑"),整体流程是一条流水线:
面试官停止说话 → 本地零成本预过滤 → 一次快速"裁判"LLM 调用 → 回答 or 沉默2.1 第一层:等面试官真正"说完"(安静窗口)
引擎不会每收到一个词就急着判断。它等待一个900ms 的稳定性窗口(STABILITY_MS):面试官的每个新词都会把窗口重新计时,只有真正停下来超过 900ms,才视为"一句话结束"。
更聪明的细节是——如果本地语音检测器(VAD)或 STT 供应商提前确认了"话轮结束",等待会缩短到350ms(ENDPOINT_CONFIRM_MS);甚至在安静120ms时就提前向"裁判"发起询问(EARLY_JUDGE_MS),让模型延迟与等待窗口重叠。所以答案出现得比你想象的快。
2.2 第二层:零成本预过滤(免费的沉默)
在动用 LLM 之前,引擎先用几个正则/规则免费筛掉明显不该回答的情况:
| 过滤项 | 例子 | 结果 |
|---|---|---|
| 附和语(backchannel) | "yeah"、"got it"、"makes sense" 连说 | 直接忽略,不花钱调模型 |
| 太短且无问号 | 少于 4 个新词、也没有? | 判定为"未完",等下文 |
| 重复问题 | 与刚回答过的问题文本一致 | 标记 duplicate,跳过 |
预过滤正则见 SimpleAutoAnswer.ts。
2.3 第三层:动态"裁判"模型(Judge Brain)
通过了预过滤的候选文本,会被交给一个小型快速模型做裁判——注意:裁判只负责"该不该答",不负责写答案。裁判的提示词构建与解析逻辑在 AutoAnswerJudge.ts,它返回一个 JSON 判决:
is_ask:这到底是不是一个问题/任务directed_at_user:是不是问给你的complete:话是否说完了answerability:0~1 的"你此刻多想看到 AI 草稿答案"评分action:answer或silent
裁判有2.5 秒超时(JUDGE_DEADLINE_MS):超时或模型不可用,就回退到启发式兜底——只要候选文本以问号结尾或以 "how/what/can you…" 等疑问引导词开头,就直接派发答案。所以即使裁判离线,功能也不至于彻底哑火。
2.4 第四层:可答性评分门槛
裁判给出的answerability必须高于0.30(ANSWER_FLOOR)才会真正派发答案。评分标尺很有意思:
- 0.9~1.0:轮到你回答的问题或任务(哪怕只是 "have you heard of Wordle?" 这种短问)
- 0.6~0.8:真实但偏社交/流程性的提问
- 0.3~0.5:设备确认类("Can you see my screen?")
- 0.0~0.2:根本不是提问,或是对已答问题的复述
三、这些情况,Natively 会主动保持沉默
引擎的类型定义里有一份完整的"沉默原因清单"(AutoAnswerTypes.ts),把最实用的翻译给你:
- 修辞性提问:"Why do we shard by user id?" 说话人紧接着自己回答了——这不是提问,是自说自话。
- 讲规则/讲故事:面试官解释游戏规则时说的 "you have to guess what the word is" 含疑问词,但不是问题。
- 问别人而不是问你:团队会议里 "Raj, can you tell support?"——引擎知道你叫什么名字(来自简历或日历账号),能区分 "Evan, can you…" 是问你,"Raj, can you…" 是问同事。
- 你已经在回答了:Auto Answer 的设计哲学是"问题一落地你就开始答",你自己的发言不会打断或取消正在流式输出的答案(用户通道是"惰性"的,见 SimpleAutoAnswer.ts)。
- 已经答过的问题被复述:裁判会拿到"最近已回答的问题"做语义去重——不是简单的文本比对,"your task is to recreate this game in React" 被换个说法再说一遍,也会被识别为同一问题。
- 话没说完:以 "and"、"so" 这类连词/介词结尾,或预告了 "three operations" 却只说了第一个——宁可等,不答半题。
- 授权与寒暄:"you can totally look up syntax"、"take your time" 是给你自由,不是要你产出,一律沉默。
- 设备流程类("are you ready?"):算提问但评分低(0.3~0.5),多数时候静默。
裁判的完整"沉默守则"写在了提示词里,值得一读:AutoAnswerJudge.ts。里面有一条黄金原则值得单独拎出来——
⚖️"WHEN IN DOUBT, ANSWER."(拿不准时,回答。)一份你可以一眼忽略的答案,成本几乎为零;错过的一次提问,损失的是当下那个瞬间。"沉默"只保留给规则里明确该闭嘴的情形。
这也是它和"每句话都弹答案"的粗糙实现的最大区别:默认倾向回答,但有 8 类明确的沉默理由。
四、答案为什么这么快:预取与投机准备
你体验到的"秒出答案"来自工程上的三重加速(SimpleAutoAnswer.ts):
- 预取(prefetch):裁判还在思考时,答案引擎已经开始起草——问题形状的提问(带
?或 "tell me about…" 开头)直接享受"免限额"预取。 - 一次停顿只判一次:绝不对同一个词反复调用裁判(旧版 V3 曾把一句话判 6 次)。
- 判定失效即中止:面试官一旦开口说了新话,在途的裁判调用立即中止,不白花钱。
五、实用建议与源码导航
- 🎯面试场景:搭配你的简历 profile 使用,裁判会用你的名字分辨"问你的 vs 问同事的",效果最好。
- 🎧建议戴耳机:你的声音仍会被转录(裁判需要看到双方对话),但不会干扰派发逻辑。
- 🔍想知道为什么没触发?每次沉默都会记录结构化遥测事件(skipReason 字段),事件类型见 AutoAnswerTypes.ts——不含任何转录文本,只有长度与原因,隐私友好。
核心模块速查:
- 引擎主体:electron/intelligence/autoAnswer/SimpleAutoAnswer.ts
- 裁判提示词与判决解析:electron/intelligence/autoAnswer/AutoAnswerJudge.ts
- 阈值与策略:electron/intelligence/autoAnswer/AutoAnswerPolicy.ts
- 触发门禁(设置开关+冷却检查):electron/intelligence/autoAnswerGate.ts
- 单元测试(可看各种真实案例):electron/intelligence/autoAnswer/tests/
一句话总结:Natively 的 Auto Answer 用"安静窗口 + 免费预过滤 + 2.5 秒裁判"三层漏斗,把 LLM 花在刀刃上,再用 8 条明确的沉默规则保证它不抢话、不答非所问——这就是它敢于以 Beta 姿态直接默认"拿不准就答"的底气。
【免费下载链接】natively-cluely-ai-assistantNatively — Free open-source AI meeting assistant, interview copilot, and note taker. The best alternative to Cluely, Otter, Granola, Final Round AI, Fireflies, and Interview Coder. Real-time transcription, AI meeting notes, lecture recording, local RAG, BYOK, and stealth mode. Runs locally. No subscriptions. No data breaches.项目地址: https://gitcode.com/gh_mirrors/na/natively-cluely-ai-assistant
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考