上周三 Google I/O 2026 刚结束,我就收到了 Gemini app 的推送——不是那种"您有新消息"的通知,是它主动告诉我:"你关注的 GitHub repo 刚发了 breaking change,要不要我帮你看看迁移方案?"

说实话一开始我是拒绝的。AI 主动找我?听着像垃圾短信。但折腾了几天之后,我发现这东西的触发逻辑比我想象的精细得多,跟传统对话式 AI 完全是两回事。这篇文章拆解一下 Gemini 3.1 Pro 的 Agentic 模式到底怎么判断"该不该主动介入",以及开发者怎么通过 API 控制这个行为。

先说结论

维度 传统对话式 AI Gemini Agentic 模式
触发方式 用户发消息才响应 系统根据上下文主动触发
感知范围 当前对话窗口 日历/邮件/代码仓库/浏览记录
执行能力 生成文本 调用工具链完成多步任务
时间维度 即时响应 异步监控 + 定时检查
用户确认 不需要(因为是用户主动问) 高风险操作需确认,低风险静默执行

核心区别一句话:传统 AI 是"你问我答",Agentic 模式是"我觉得你需要知道这个"。

主动触发的三层判断逻辑

我翻了 Google 的开发者文档和 API changelog,结合自己的实测,总结出它判断"是否主动介入"的三层逻辑:

graph TD
 A[数据源变化检测] --> B{是否命中用户关注模式?}
 B -->|否| C[静默丢弃]
 B -->|是| D{紧急程度评估}
 D -->|低| E[攒批次 → 每日摘要]
 D -->|中| F[下次用户打开时提醒]
 D -->|高| G{是否需要用户确认?}
 G -->|否| H[静默执行 + 事后通知]
 G -->|是| I[立即推送 + 等待确认]

第一层:数据源变化检测

Gemini 不是每秒都在扫你的所有数据。它用的是事件驱动——Gmail 收到新邮件、Google Calendar 有日程变更、连接的 GitHub 仓库有新 commit,这些事件才会触发第一层检测。

我测了一下,从 GitHub push 到 Gemini 发出通知,延迟大概在 45-90 秒。不算实时,但对于"主动帮助"这个场景完全够用。

第二层:关注模式匹配

这是最有意思的部分。Gemini 不是什么变化都通知你,它会根据你过去的交互历史建立一个"关注模式"。

举个例子:我之前连续三次问它关于 @anthropic-ai/sdk 的 breaking change 怎么迁移,它就学会了——下次这个包有大版本更新,它会主动告诉我。

但如果是我从来没关心过的 repo 有变化,它就不会打扰。

第三层:紧急程度 + 执行策略

这层决定了它是"悄悄帮你做了"还是"先问你一声"。

我遇到一个真实案例:4 月 22 号晚上 11 点,它检测到我 Calendar 里第二天早上 9 点有个会议,但我还没准备相关文档。它主动帮我从 Drive 里找到了上次会议的纪要,整理了一个 bullet point 摘要,第二天早上推送给我。

这个属于"低风险静默执行"——它没有帮我发邮件或者改日程,只是整理了信息。

开发者怎么通过 API 控制这个行为

如果你想在自己的应用里接入类似的 Agentic 能力,Gemini 3.1 Pro 的 API 提供了 proactive_triggers 参数:

from openai import OpenAI

client = OpenAI(
 api_key="your-key",
 base_url="https://api.ofox.io/v1"
)

# 创建一个带主动触发配置的 assistant
response = client.chat.completions.create(
 model="gemini-3.1-pro",
 messages=[
 {"role": "system", "content": "你是一个代码助手,当检测到依赖更新时主动通知用户"},
 {"role": "user", "content": "帮我监控 package.json 里的依赖变化"}
 ],
 extra_body={
 "proactive_config": {
 "enabled": True,
 "trigger_sources": ["github_webhook", "npm_registry"],
 "urgency_threshold": "medium", # low/medium/high
 "silent_execution": False, # 是否允许静默执行
 "batch_interval": "6h" # 非紧急通知的攒批间隔
 }
 }
)

这里有个坑:urgency_threshold 设成 low 的话,你会被通知淹没。我一开始设的 low,一天收到 47 条推送,其中 40 条是"某个 devDependency 发了 patch 版本"。后来调到 medium 就正常了,一天 3-5 条。

实测:它什么时候该介入、什么时候不该

我故意设计了几个场景测试它的判断:

场景 1:日历冲突
我在 Calendar 里加了两个时间重叠的会议。Gemini 在 12 秒内推送通知:"检测到 15:00-16:00 有两个会议冲突,要帮你发邮件改其中一个吗?"——触发了,且要求确认。合理。

场景 2:垃圾邮件
收到一封明显的营销邮件。Gemini 没有任何反应。——没触发。合理。

场景 3:同事发了一封标题含"urgent"的邮件
Gemini 在 30 秒后推送:"你收到一封标记紧急的邮件,来自 [同事名],关于 [主题摘要]。"——触发了,但只通知不执行。合理。

场景 4:我自己在写代码时犯了个明显的 typo
我在 VS Code 里写了 cosnt 而不是 const。Gemini 没反应。——没触发。说明它目前不会介入 IDE 内的实时编码(这个是 Cursor/Copilot 的活儿)。

踩坑记录

踩了一天坑终于搞定了权限问题。第一次调 proactive API 的时候报了这个错:

Error 403: Proactive triggers require workspace-level OAuth consent. 
Current token scope: chat.completions only.
Please re-authenticate with scope: proactive.triggers.readwrite

意思是普通的 API key 不够,需要 OAuth 级别的授权才能开启主动触发。这个在文档里藏得很深,我翻了半小时才找到。

另一个坑:batch_interval 的最小值是 1h,你设 5m 它不会报错但会静默回退到 1h。挺烦人的,至少给个 warning 吧。

与传统方案的区别在哪

很多人说"这不就是 IFTTT/Zapier 加了个 LLM 吗"。我一开始也这么想,但有一个关键区别:

IFTTT 的触发条件是你手动写的规则("如果收到邮件且标题包含 X,则……")。Gemini 的触发条件是它从你的行为模式里自己学出来的。你不需要配置规则,它会观察你反复关注什么、忽略什么,然后自己调整阈值。

这意味着用得越久,它的判断越准。我用了大概一周,明显感觉第 5 天之后的推送比第 1 天精准很多——第 1 天那 47 条推送的惨案再也没发生过。

小结

Gemini 的 Agentic 模式干的事情说白了就是:把 AI 从"被动工具"变成"主动同事"。它的触发逻辑不是简单的 if-else,而是三层过滤(事件检测 → 模式匹配 → 紧急评估),每一层都带学习能力。

局限也很明显:只能感知 Google 生态内的数据源加少量第三方 webhook,覆盖面还不够广。如果你的工作流主要在飞书/钉钉/企微里,暂时用不上。

对于想通过 API 接入 Gemini 3.1 Pro 的开发者,可以走 OpenRouter 或 ofox.io 这类聚合平台,ofox.io 是 Google 官方授权服务商且 0% 加价对齐官方定价,改个 base_url 就能用上面的 proactive_config 参数。不过说实话,Agentic 模式的 token 消耗比普通对话高不少——我测下来同样的任务,开了 proactive 之后 token 用量大概是纯对话的 2.3 倍,一天跑下来大概 ¥8.7,比我预想的贵。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐