导读Google Colab CLI 把远程 Colab 运行时接进了本地终端。高强度使用一段时间后,我越来越确定:它真正的价值不是少开一个浏览器标签,而是让脚本和 AI Agent 能把临时云端算力纳入自己的工作流。当然,认证、配额与资源回收的坑,也一个不少。
我为什么越来越离不开 Colab CLI
2026 年 6 月 5 日,Google 正式发布 Google Colab CLI。专业地说,它是 Colab 的命令行客户端:可以从本地终端创建远程运行时、执行代码、管理文件,再把结果取回来。说白了,就是代码还在你电脑上写,活交给 Colab 的机器干。
我已经高强度用了一段时间。结论先说:很好用,而且是那种用顺之后很难退回浏览器工作流的好用。
过去用 Colab,最别扭的并不是 Notebook 本身。真正磨人的是工作上下文被切成了两半:代码在本地项目里,依赖和数据在远端,运行状态又锁在浏览器标签里。改一个脚本,要复制;跑完一个结果,要下载;想让 Claude Code、Codex 这类 Agent 接手,还得在终端和网页之间来回倒腾。
Colab CLI 把这条缝缝上了。
Google 对它的定位也很直接:连接本地终端与远程 Colab 运行时,并面向开发者生产力、无头自动化和 AI Agent 集成。官方发布文章甚至演示了让 Agent 调用 T4,完成 Gemma 3 1B 的 QLoRA 微调,再下载适配器和执行日志。
这不是“网页版 Colab 换了个皮肤”。它把云端算力从一个目的地,变成了工作流里的一个动作。
真正让我形成依赖的,是让 Agent 自己创建运行时、补依赖、执行任务和回收资源,我只看日志与最终产物。
它真正改变的,是本地代码使用云端算力的方式
Colab CLI 并不能保证每次拿到 T4、L4、A100 或 H100。资源仍受账户层级、计算单元和实时供给影响,Google FAQ 也明确说,用量限制和可用硬件会动态变化。它的核心价值,是让本地项目终于能以三种方式调用远程算力。
第一种是单次执行:任务跑完,运行时也跟着结束。 对于一次性训练、转换或评测脚本,我更愿意用:
官方设计里,colab run 会依次创建运行时、执行本地脚本,并在清理逻辑中释放 VM;脚本抛异常时也应该执行回收。它像临时叫车,到站就结束,适合不需要保留中间状态的任务。
第二种是连续调试:代码留在本地,远程状态继续保留。colab exec -f train.py 会读取本地脚本,把代码发送给已经创建的远程 Kernel,不要求先手动上传文件。Kernel 是 Jupyter 的代码执行进程;同一 session 内,它会保留已经导入的包、变量和加载到内存里的模型。改一个参数再跑一次,不必每轮都重新安装依赖、加载模型。
第三种是自动编排:Agent 可以接管整段运行时生命周期。 AI Agent 不是模型的另一个名字,而是“模型 + 工具 + 状态 + 执行循环”组成的任务系统。只要它能操作终端,就能依次调用 colab new、exec、download 和 stop。本地电脑负责读仓库、改代码和判断结果,Colab 负责重计算;人不必再充当网页与终端之间的搬运工。
结果也不只是一段终端文本。官方 Demo 4 用 --output-image 在远程 VM 生成图像,再把文件保存到本地路径;执行 Notebook 时,输出也可以写回新的 .ipynb 文件。
终端没有吞掉 Notebook 的能力,它只是把交互界面换成了可组合的命令。
真正会绊人的,是认证和“忘记关机”
好用归好用,这套工具还远没到闭眼交给 Agent 的程度。
最先碰到的通常是认证。CLI 连接 Colab 控制面支持 OAuth2 与 Application Default Credentials(ADC,应用默认凭证)。ADC 的作用,是让程序沿 Google 的标准凭证链找到身份;普通话版本:让命令行知道“你是谁、你被允许做什么”。
如果选择 ADC,通过 gcloud auth application-default login 获取的用户凭证需要带齐官方列出的 scopes。少了 userinfo.email,创建、释放或查询 session 可能返回 401;而 openid、cloud-platform 等 scope 也有各自用途。更容易混淆的是,CLI 登录 Colab 控制面,与进入 VM 后执行 colab auth 给 BigQuery、GCS 等服务注入凭证,是两次不同的认证。
一个管“我能不能控制这台 Colab 机器”,一个管“机器里的代码能不能访问我的 Google Cloud 资源”。混在一起排错,人会迅速烦躁。
交互命令也不是天然适合 Agent。官方 Demo 明确跳过了 colab auth、colab drivemount 和无管道输入的交互式 repl、console,原因是它们需要浏览器授权、粘贴验证码或本地 TTY。Agent 可以发起流程,但在这些节点上,人仍可能要回来点一下。
然后是资源回收。
colab run 默认适合一次性任务;加了 --keep,或使用 colab new 创建长期 session,就要自己对生命周期负责。官方文档写得很明白:保留的 session 会持续存在,直到你调用 colab stop,或者 keep-alive 守护进程达到上限。Google FAQ 同时提醒,Colab 的空闲超时、最大运行时间和可用硬件并非固定承诺。
所以我不会只相信“脚本应该已经结束”。我会再看一眼:
图片来源:作者实测截图
我实测 0.6.0 搭配 jupyter-kernel-client 1.x 会直接报错,因为新版移除了 CLI 仍在调用的 KernelClient API。官方 Issue #94 给出的临时解法是固定到 0.9.0。仓库另有长时间 exec 超时后本地进程持续占用 CPU 的报告。自动清理不是免检通行证。 长任务结束后检查本地进程与远端 session,挺土,却管用。
如果重新开始,我会把工作流收得更窄
安装很简单,但别再往 base 环境里硬塞
官方同时支持 uv 和 pip 安装。考虑到 Colab CLI 依赖 Pydantic、Typer 等常见基础包,如果本机已经有一套 AI 开发环境,我更建议先隔离:
下面是我安装后的实际环境:独立的 colab-cli Conda 环境、Python 3.12.13、Colab CLI 0.6.0。版本号会继续变化,关键是让 colab version 正常返回。
图片来源:作者实测截图
安装完成后,我用 OAuth2 登录 Colab 控制面,再通过 colab sessions 检查服务端会话。首次执行会要求在浏览器授权;授权成功后,后续查询会直接读取本地缓存的凭证。
下面这张实测图已经隐藏了 Session endpoint。图中命令末尾的 sed 只负责截图脱敏,不是 Colab CLI 的必要用法。
图片来源:作者实测截图(Session endpoint 已隐藏)
修复上文提到的 0.6.0 依赖兼容问题后,本地终端已经可以向 article-demo 的远程 Kernel 发送代码,并取回真实输出:
图片来源:作者实测截图
如果重新配置一次,我不会一上来就让 Agent 拿着整套权限自由发挥。我会先把最短闭环跑通:
-
在独立环境安装 google-colab-cli,并确认colab version正常。 -
选定一种控制面认证方式,跑 colab whoami核对身份与 scopes。 -
用具名 CPU session 执行一段无副作用代码,再主动 stop。 -
把流程换成 colab run,验证脚本报错时也没有残留 session。 -
确认资源回收可靠后,再开放 GPU、文件下载和 Agent 自动执行。
如果你只是偶尔跑一个独立脚本,优先 colab run;如果要反复复用已加载的模型和变量,再创建具名 session;如果任务要求固定硬件、稳定时长和明确 SLA,Colab 本身就不是最稳的底座,应该看 Colab Enterprise、GCP Marketplace 或其他专用算力服务。
我现在对 Colab CLI 的评价依然很高,但理由和第一次看到它时已经不一样了。不是因为命令够酷,也不是因为它列出了一排 GPU。
而是本地编辑器、AI Agent 与远程算力之间,那层一直碍手碍脚的玻璃,终于薄了。
至于什么时候能完全放心地让 Agent 自己申请、执行、回收,然后不回头检查一眼?
我还没到那一步。
参考资料
-
Introducing the Google Colab CLI: https://developers.googleblog.com/introducing-the-google-colab-cli/ -
Google Colab CLI 官方仓库: https://github.com/googlecolab/google-colab-cli -
Google Colab CLI Demo Walkthroughs: https://github.com/googlecolab/google-colab-cli/blob/main/docs/demos.md colab run设计文档: https://github.com/googlecolab/google-colab-cli/blob/main/docs/05_run_command.md -
认证与自动化设计文档: https://github.com/googlecolab/google-colab-cli/blob/main/docs/04_automation_and_utility.md -
Google Colab FAQ: https://research.google.com/colaboratory/faq.html -
长任务超时问题记录: https://github.com/googlecolab/google-colab-cli/issues/82 -
Colab CLI 0.6.0 与 jupyter-kernel-client 1.x 兼容性问题: https://github.com/googlecolab/google-colab-cli/issues/94
— THE END —
文章仅做学术分享,如有侵权请联系删除,非常感谢!

