Gemini CLI三大特性解析:钩子、技能与计划模式让AI编码真正可控

Gemini CLI通过钩子、技能和计划模式三大机制,将AI编码智能体从随意编码变为可控协作者。
文章介绍了谷歌开源终端AI编码智能体Gemini CLI的三大核心特性:钩子(Hooks)在代码写入前自动执行安全扫描等规则,实现确定性防护;技能(Skills)将团队编码规范、设计系统等知识封装为持久化文件,确保输出一致性;计划模式(Plan Mode)强制AI先制定计划并等待人工批准后再执行,体现"人在回路"原则。三者协同解决了AI编码中安全隐患、规范缺失和缺乏规划的核心问题。
文章正文
当前AI编码智能体面临一个核心问题:它们能快速生成代码,但缺乏纪律性。它可能把数据库密码硬编码到源文件中,忽略你的设计系统,甚至不做任何规划就直接开始写代码。对于个人项目这或许可以接受,但在企业团队中,这就是严重的安全和工程隐患。
Gemini CLI——谷歌推出的开源终端AI编码智能体——通过三个关键特性解决了这些问题:钩子(Hooks)、技能(Skills) 和 计划模式(Plan Mode)。本文将详细拆解这三大特性如何协同工作,让AI智能体从"随意编码"变为"确定性协作者"。
什么是Gemini CLI?
Gemini CLI是谷歌推出的AI编码智能体,直接运行在终端中,底层使用与Gemini相同的大语言模型。值得一提的是,你不需要是开发者才能使用它——它接受自然语言指令即可工作。但它真正的差异化优势不在于模型能力本身,而在于围绕模型构建的一套工程化控制机制。
早期的AI编程辅助工具(如GitHub Copilot初代版本)主要以代码补全为核心,风险相对可控。但随着以GPT-4、Claude、Gemini为底层的"智能体"模式兴起,AI开始具备自主读写文件、执行命令、调用API的能力,安全边界随之模糊。企业安全研究机构的报告显示,AI生成代码中硬编码凭证、不安全的依赖引入等问题的发生率显著高于人工编写代码。这促使业界开始探索"护栏机制"——即在不限制模型能力的前提下,通过工程化手段约束其行为边界。Gemini CLI正是在这一背景下,将工程化治理能力作为核心竞争力加以构建。

钩子(Hooks):每次都执行的自动化安全规则
钩子是Gemini CLI最新添加的功能,也是实现"确定性"的核心机制。简单来说,钩子就是在智能体工作流程中特定时刻自动触发的脚本——不依赖上下文、不需要提醒,每次都会执行。
钩子(Hooks)并非AI领域的新概念,其思想源自软件工程中的事件驱动架构。Git的pre-commit钩子、Webpack的插件生命周期、Linux的inotify文件监控机制,都是同类思想的体现——在特定事件发生时,自动触发预定义的处理逻辑。Gemini CLI将这一机制引入AI智能体工作流,本质上是将"策略即代码"(Policy as Code)的理念落地。与传统静态代码分析工具(如SonarQube、Semgrep)不同,钩子在AI生成内容写入磁盘之前就完成拦截,属于"左移安全"(Shift-Left Security)实践的延伸——越早发现问题,修复成本越低。
三种典型的钩子使用场景
在演示项目中,作者配置了三个钩子:
- 会话启动钩子:会话开始时自动加载项目上下文、展示项目欢迎界面,确保智能体从一开始就了解项目规则。
- 开发服务器检测钩子:自动检测并告知开发服务器是否正在运行,避免智能体在错误的环境状态下操作。
- 密钥扫描钩子:这是最关键的安全钩子——当智能体尝试写入文件时,自动扫描文件内容中是否包含硬编码的API密钥或敏感信息。

密钥扫描钩子的实际拦截效果
作者做了一个直观的演示:要求Gemini CLI创建一个包含硬编码API密钥的TestConfig.js文件。结果钩子立即拦截了这个操作,拒绝写入文件,并明确提示"不能创建包含硬编码API密钥的文件,因为它违反了安全最佳实践"。

这就是"确定性"的真正含义——它不关心上下文,每次都遵循规则。你不需要等到代码审查阶段才发现问题,钩子在代码写入的那一刻就已经完成了防护。对于企业环境来说,这意味着安全策略可以被编码为自动化规则,而不是依赖人工审查。
技能(Skills):一次安装的团队专业知识
技能是放入项目中的文件,用于教会智能体如何完成特定类型的任务。与每次聊天都要重复解释不同,技能只需安装一次,智能体就能持续理解和遵循。
技能(Skills)机制在技术实现上与检索增强生成(RAG,Retrieval-Augmented Generation)和系统提示(System Prompt)工程密切相关。RAG通过在推理时动态注入外部知识来增强模型输出的准确性和专业性,而技能文件本质上是一种结构化的持久化上下文注入机制。与每次对话手动粘贴规范文档相比,技能文件的优势在于其版本可控性——可以纳入Git管理,随项目演进而更新,并通过代码审查流程保证质量。这与Anthropic提出的"宪法AI"(Constitutional AI)理念有相通之处:通过预定义的原则文档约束模型行为,而非依赖实时的人工干预。
技能在实际项目中的应用
作者在项目中配置了两个技能:
- 品牌指南技能:定义了企业级的视觉风格,包括深色主题、专业配色方案等。所有用Gemini CLI构建的应用都会自动遵循这套设计系统。
- 3D Web体验技能:教会智能体如何使用Spline(一个3D组件平台)创建交互式3D网页体验。
当Gemini CLI启动时,它会自动识别并激活这些技能。在演示中可以看到,终端界面直接显示了"两个激活的技能"以及正在执行的品牌指南。这意味着智能体生成的每一行代码、每一个UI组件,都会自动符合预设的品牌规范。
这种机制的价值在于知识的复用和一致性。在团队协作中,你可以将团队的编码规范、架构模式、设计系统都封装为技能文件,确保每个成员使用AI编码智能体时都能得到一致的输出质量。
计划模式(Plan Mode):先思考再编码的协作方式
计划模式通过Shift + Tab快捷键激活,它强制智能体在编写任何代码之前先制定详细计划。
计划模式(Plan Mode)体现了AI系统设计中"人在回路"(Human-in-the-Loop,HITL)原则的具体实践。这一概念源自自动化控制理论,强调在关键决策节点保留人类判断权。在AI安全领域,OpenAI、Anthropic等机构均将HITL视为防止AI系统产生不可逆影响的核心机制。从工程实践角度看,计划模式与敏捷开发中的"技术方案评审"(Tech Design Review)流程高度契合——先输出可审查的方案文档,经过人工确认后再进入实施阶段。这种模式尤其适合涉及数据库迁移、API接口变更等高风险操作的场景,能有效降低AI自主执行带来的不可预期风险。
计划模式的完整工作流程
- 智能体读取你的文件和项目上下文
- 分析需求并思考实现方法
- 起草详细计划(包括颜色方案、场景配置、布局结构等)
- 等待你的批准——没有你的同意,它不会执行任何操作
- 批准后,切换到执行模式开始实际编码

在演示中,作者要求智能体"使用3D Web体验技能,用3D元素丰富登录页面
相关推荐
教程攻略Cursor+Codex双IDE协同:开源项目二开实战方法论
基于实战经验总结的开源项目二次开发完整方法论,详解Cursor+Codex双IDE协同工作流,涵盖二开七环节、MVP验证、AI读源码技巧,帮助开发者三天跑通项目、两周完成业务集成。
教程攻略Cursor多Agent实战:50分钟搭建Next.js全栈博客
使用Cursor IDE多Agent协作模式,50分钟内从零搭建全栈博客。涵盖Next.js、Clerk认证、Supabase数据库集成,详解4个AI Agent分阶段开发流程与关键避坑经验。
教程攻略从零搭建AI软件工厂:Cursor工程师的多Agent协作实战经验
Cursor工程师Eric分享AI软件工厂构建实战:从自动化六层级、护栏设计、并行Agent管理到规模化扩展,详解如何用多Agent协作实现7×24小时高效软件开发。