Claude Code 不用傻轮询了——Monitor 上线,后台盯梢省一大截 token
Claude Code 新上了 Monitor 工具,不用再让 AI 傻轮询了——跑个后台脚本盯着日志,出错了自动推过来,轮询场景省掉 80% 的 token。四个参数就够用,一行命令上手。
上周我用 Claude Code 跑一个 20 分钟的测试套件,让它每 2 分钟检查一次有没有失败的 case。跑完一看 token 用量——好家伙,5 次完整 API 调用,其中 4 次就问了句"有没有挂",然后收到一句"没有"。这钱花得跟打车在原地等红绿灯一样。
4 月 9 号,Claude Code 的产品经理 Noah Zweben 发了个推:Monitor 工具正式上线。一句话总结——Claude 不用轮询了,改成后台盯梢,有事才叫它。
从"每 5 分钟问一嘴"到"有事自动推过来"
以前的逻辑是这样的:你让 Claude 盯着一个部署或者日志,它就在 agent 循环里每隔一段时间问一次"好了没?出错没?"每次提问都是一次完整的 API 调用,加载上下文、处理 prompt、返回响应。10 分钟的流程,轮询 5 次,其中可能只有 1 次有料——剩下 4 次全是白花钱。
Monitor 的做法完全不一样。你给它一个 shell 命令,它启动一个后台进程,这个进程的 stdout(标准输出)就是事件流。每一行输出就是一个通知,直接推到你的对话里。 进程没输出的时候,Claude 花半个 token 都不花。
Noah 原话是:“Claude can now follow logs for errors, poll PRs via script, and more. Big token saver and great way to move away from polling in the agent loop.”
这就好比以前是你每隔 5 分钟给外卖小哥打电话问"到哪了",现在是小哥到了直接按你门铃。
Claude Code 不用傻轮询了——Monitor 上线,后台盯梢省一大截 token
一句话就能用
来看个实际例子。Anthropic 官方发了个演示视频,14 秒,信息量拉满:
你在 Claude Code 里打一行字:
I just deployed the API, monitor the logs for any errors
Claude 回你一句:“Got it – dispatching a Monitor so I can keep working while it watches the log.”
然后它自动启动了一个后台监控,执行的命令是:
tail -f /var/log/app.log | grep --line-buffered ERROR
persistent background task——持续运行,不会自己停。
接着就出现了一个独立的监控窗口,实时刷日志。大部分是正常的 HTTP 请求信息,突然蹦出来一条红的:
ERROR db: connection refused to postgres:5432
Claude 立马收到了这条错误,自动开始分析:“Error detected in the logs. Starting an investigation into the postgres connection failure.”
整个过程——你只说了一句话,剩下全是它自己搞定的。
四个参数,看一眼就会
Monitor 的配置就四个参数,没有多余的东西。
description——给监控起个名字。这个名字会出现在每一条通知里,所以别起"monitoring"这种废话。写成"errors in deploy.log",收到通知一眼就知道是哪个监控报的。
command——最核心的。一个 shell 命令,它的 stdout 就是事件流。每一行打印出来的东西都会变成一条通知。200 毫秒内的多行输出会自动合并成一条,不用担心一秒钟收到二十条轰炸。
timeout_ms——多久之后自动杀掉这个监控。默认 5 分钟,最长能设到 1 小时。适合那种"盯 10 分钟部署流程"的场景。
persistent——设成 true 的话,监控会一直跑到你手动关掉或者会话结束。适合日志监控、PR 监听这种需要长期盯着的活。
两种玩法:过滤流和轮询脚本
Monitor 的命令有两种典型写法。
第一种:过滤流。 接一个持续输出的源,只捞你关心的部分。
盯日志里的错误:
tail -f /var/log/app.log | grep --line-buffered "ERROR"
盯文件系统变化:
inotifywait -m --format '%e %f' /watched/dir
或者跑一个 Node 脚本从 WebSocket 里捞事件也行:
node watch-for-events.js
第二种:轮询脚本。 自己写个循环,隔一段时间查一次,有变化才输出。
比如每 30 秒查一下 GitHub PR 有没有新评论:
last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
while true; do
now=$(date -u +%Y-%m-%dT%H:%M:%SZ)
gh api "repos/owner/repo/issues/123/comments?since=$last" \
--jq '.[] | "\(.user.login): \(.body)"'
last=$now; sleep 30
done
两种玩法的核心规则一样:stdout 有输出就是事件,没输出就是静默。Claude 该干别的干别的,不用等着。
token 到底省多少?
算一笔账。
用 /loop 每 2 分钟检查一次测试套件,跑 10 分钟,总共 5 次完整 API 调用。每次都要加载上下文、处理 prompt、返回响应。5 次调用,4 次是在问"好了没"。
换成 Monitor 呢?Claude 通过过滤器盯着测试进程的输出。第 4 分钟测试 #23 挂了,那一行失败信息直接推到会话里。Claude 立刻开始诊断,同时测试 #24 到 #47 还在跑。
5 次 API 调用 vs 1 次事件推送。省了 80% 的 token,还提前 6 分钟发现问题。
部署流水线、夜间构建、几小时的 CI 跑批——时间越长,Monitor 省得越多。

我用它干了什么
盯开发服务器。 起一个 Vite 或者 Next.js 的 dev server,让 Monitor 盯着。编译报错或者崩溃循环一出来,Claude 立刻知道。不用再回头翻终端日志找哪行报错了。
更省心的是跑测试——200 个用例,第 47 个挂了,Monitor 把失败信息推过来的时候,剩下 150 多个还在跑。Claude 已经在分析第 47 个为什么挂了,等测试跑完,修可能都修完了。
还有个场景我经常用:盯部署流水线。CI/CD 的输出跟了一路,失败、警告、特定阶段完成,每个都能触发通知。不用一直盯着屏幕刷日志了。
三个容易踩的坑
用过一段时间之后,有几个要注意的点。
管道里必须加 --line-buffered。 这是新手最常踩的坑。你写 tail -f app.log | grep "ERROR",管道缓冲会导致事件延迟好几分钟才到。加上 grep --line-buffered 才能实时推送。
轮询脚本里记得加 || true。调外部 API 的循环,一次网络超时就把整个监控搞崩了。每条命令后面跟一个 || true,挂了继续跑,不会让整个 monitor 死掉。
还有个事儿——别把原始日志全扔进 stdout。每一行输出都会变成对话里的一条消息,输出太多 Monitor 会自动停掉。只捞你关心的:
tail -f app.log | grep --line-buffered "ERROR\|WARN\|FATAL"
别这么干:
tail -f app.log
上面只捞错误,下面把全部日志灌进去——后者会被自动杀掉。
跟其他工具怎么选
Claude Code 现在有三套自动化机制,容易搞混。
Hooks 是 Claude 自己操作的时候触发的——比如编辑文件之前、提交代码之后。属于"内部守卫"。
Scheduled Tasks(定时任务) 是按时间表跑的,适合周期性维护——每天检查依赖、每周生成报告。
Monitor 是外部事件驱动的——日志出了错误、PR 有了新评论、部署失败了。它不是按时间表来的,是按事件来的。
还有一个容易混淆的:run_in_background。这俩都跑后台,区别在于反馈模式。run_in_background 是"跑完告诉我一声",你只收到一个完成通知。Monitor 是"跑的过程中有任何匹配的事件都推给我"。前者是发完就忘,后者是实时直播。
我的判断
Monitor 解决的是 Claude Code 之前一个很尴尬的问题:它只会"问",不会"听"。
一个 AI 编程助手,如果每次想知道后台发生了什么都要主动问一次,那它本质上还是个问答机器。Monitor 让它有了被动接收的能力——就像手机推送通知,不用你打开 App,消息自己过来。
这不是什么"革命性突破",但对日常开发效率的提升是实打实的。尤其是跑长任务、盯部署、做持续集成的场景,以前要么忍着 token 浪费轮询,要么干脆不盯——出了问题回头查。现在有了 Monitor,该盯的盯,该省的省。
如果你已经在用 Claude Code,更新到最新版就能用。最简单的上手方式:下次跑 dev server 的时候,跟 Claude 说一句"Start my dev server and monitor it for errors"。一句话的事。
Monitor 最大的意义不是省 token,是让 AI 编程助手第一次有了"后台值守"的能力。 以前它是你喊它才动,现在它会自己盯着了。
你之前让 Claude 轮询后台任务的时候,token 烧了多少?评论区晒晒账单。
更多推荐



所有评论(0)