Register and share your invite link to earn from video plays and referrals.

Charles在路上
@Charles77xixi
00后程序员👨🏻‍💻|前大厂 Infra,目前在做 Game Agent 把 AI 真正用进项目、把工资变成资产 合作 📮:charles77xixi@gmail.com
Joined January 2025
232 Following    4K Followers
前两天踩了个坑,使用 Agent Loop时特别要注意 Agent 版本的升级,尤其是时间循环类型的Loop。 我有个美股日报的定时任务,每天早上 8 点自动跑,出一份前一夜的行情加持仓复盘。结果它连着两天没出报告,我一开始压根没发现,因为我手动重试是能够成功的,定时 Loop 没有报错告警,就只是默默执行失败。 排查下来发现根因有点意思,前几天 Claude Code 自动升级到了 2.1.209。升级之后,凡是被 launchd(macOS 管定时任务的那套)拉起来跑的 claude,一启动就崩,直接 EPERM 退出。 最本质的原因就在在有没有 TTY。 TTY 你可以理解成终端。你在 Terminal 里敲命令,背后就连着一个 TTY,程序能感知到有个人正坐在终端前面跟它交互。而 launchd、cron 这种后台把程序拉起来跑的时候是没有 TTY 的,没人盯着,纯自动。 2.1.209 大概在启动时做了个动作,依赖了 TTY 或者某种交互式终端上下文(我从现象反推的)。这个动作在没有 TTY 的后台环境里被系统拒了,报 EPERM,也就是 operation not permitted,操作不被允许,于是还没干正事就先崩了。我手动跑有 TTY,所以根本感觉不到这个坑。 影响面还是挺大的,我所有靠后台无人值守跑 claude 的任务,日报、周报,升级后全中招。而且因为我的兜底逻辑没认出这个新错误码,它是静默失败,没告警、没弹窗,只有哪天想起来看对应的看板,才发现报告已经空了好几天。 修复很简单,把定时任务用的 claude 版本回退到 2.1.208,我自己交互用的还是最新版,不受影响。
Show more