上一篇手写了一个机票追踪 Agent。这篇用 Claude Cowork 做同一件事,看看差在哪里。 代码:github.com/jeremyhxx/a...
装好 Cowork,给它同一个任务:帮我盯着新加坡到珀斯的机票,出发 11 月 28 号,返程 12 月 7 号,目标价格 400 新币,告诉我现在买合适吗。
然后看它怎么做。
它先尝试调 SerpAPI,失败了
Cowork 跑在一个沙盒 VM 里,出站 HTTP 请求走代理,serpapi.com 被拦了。它试了两次------直接调 API,再用 WebFetch------都不通。
然后它自己切到了 Plan B:用 WebSearch 搜市场参考价,把结果整理成和我 JSON 格式一致的结构,直接写入历史文件。
这个回退不是我告诉它怎么做的,它自己判断"这步走不通"然后换了方式继续。后来我让它把流程固化成 Skill 的时候,它也把这个降级逻辑写了进去。这让我意识到我们手写的 Agent 其实还不够完善------遇到 API 报错是会直接停的,错误处理和回退逻辑是需要专门去写的,不会自动有。
它能读写我的本地文件
沙盒 VM 挂载了我的项目目录,文件系统是通的。它读了 data/新加坡-珀斯.json,拿到了之前 Python 脚本写进去的历史数据,做了完整的趋势分析。
分析结果和手写版差不多:历史均价 SGD 423,当前 SGD 427,趋势平稳,建议暂不购买,截止日期 9 月 1 日。
推理质量没有损失,因为判断逻辑本来就在 LLM 那里,不在代码里。
我让它把流程固化成一个 Skill
我问它能不能把这个流程固化下来,它写了一份 SKILL.md,放在 .skills/flight-tracker/ 目录下。里面是完整的六步流程:查价格 → 写历史 → 读历史 → 分析趋势 → 给建议 → 发通知。还写了降级逻辑------SerpAPI 不通就 WebSearch 兜底。
Skill 本质上是一份结构化的 prompt,不是可执行程序。它能不能跑,取决于触发它的环境有没有对应的工具权限。同一份 SKILL.md,在 Cowork 里跑,SerpAPI 那步失败;在 Claude Code 本机跑,SerpAPI 直连,全程没问题。Skill 本身没变,执行结果不同,差别完全在环境。
但真正的自动化还是做不到
Cowork 创建了一个每周一 9 点的定时任务。但它跑在 VM 里,外部 API 全被代理封了------数据拿不到,通知也发不出去。这个限制绕不过去。
Claude Code 在本机跑就没有这个问题,网络完全畅通。可以在 .claude/settings.json 里预设权限,不需要每次授权确认------理论上可以实现自动化。但每次运行都会启动一个完整的 LLM session,在 Agent 循环本身的 token 之上再叠一层开销。
如果工具集是固定的、场景是明确的,cron + 手写 Agent 是开销最小的选择。如果希望 LLM 能动态调用更广泛的工具,不想自己定义每个工具函数,Claude Code Skill 值得多付那层 session token 的代价。
三种方式试完,总结一张表
| cron + Python | Claude Code Skill | Cowork | |
|---|---|---|---|
| 需要写什么 | 完整 Agent 代码 | 只写 SKILL.md | 只写 SKILL.md |
| 完全自动化 | ✅ | ⚠️ 需预设权限 | ❌ VM 网络限制 |
| Token 消耗 | 仅 Agent 循环 | Agent + session 两层 | session |
| 适合场景 | 无人值守生产 | 有自动化需求但不想写 Agent | 临时探索分析 |
三种方式的真实差异:cron 只消耗 Agent 循环本身的 token,没有额外开销;Claude Code Skill 在此之上还要加一层 session token,但换来的是不用写 Agent 代码;Cowork 零代码门槛最低,代价是 VM 网络限制让外部 API 调不通。
写完之后的感受
第一篇说"策略归 LLM,机制归代码"。这篇试下来发现,Cowork 的策略和机制都在 LLM 那里------它自己决定要不要降级、用什么格式写文件、分析到什么程度。
这在个人使用、临时探索的场景下完全没问题。但"可预期"这件事,在你一个人用的时候不重要,在要稳定跑半年、或者交给别人用的时候就很重要了。手写版每次跑都走同一套代码路径,结果可以预判;Cowork 版每次 LLM 推理的过程可能略有不同,输出格式可能变,判断逻辑可能漂移。
不是说哪个更好,是两种不同的可靠性模型。如果要把这个东西交给别人用,或者让它稳定跑半年,我还是会选代码版------不是因为更聪明,而是因为可预期。
代码和 Skill 都在这里:github.com/jeremyhxx/a...
下一篇打算把这个 Agent 做得更通用一点------不只是查机票,而是一个可以挂载多个 Skill 的本地助手。