Back to blog

Don't Fire Your Cron Jobs

A scheduler decides when work runs. Whether that work needs a model is a separate decision, with different tests and controls.

agentsautomationreliability

Clockwork runs scheduled checks beside a separate path that requires judgment.

A scheduler decides when a job runs. I decide whether that job needs a model.

Exporting yesterday's totals follows the same steps every day. Select the records, calculate the totals, write the file, and check it. A scheduled script can do that without interpreting a conversation.

An incoming message can be different. Take this message: “Send the report after Maya confirms the figures.” A rule matching the word “send” misses the condition. A model can catch that condition when people phrase it ten different ways.

I'd test whether it does that reliably. Calling it an agent doesn't supply the result.

Guardian, my personal AI system, runs scheduled backup work alongside model-driven tasks. Its restore verifier decompresses a backup, checks its structural integrity, checks a minimum expected record count, and sends the result.

I can inspect each of those steps. A model doesn't need to choose a new procedure each morning.

The script still has limits. An older intact database can pass its checks while lacking recent edits. Testing for those edits requires a comparison with known recent values. Replacing the script with a model wouldn't create that evidence.

In the report example, I'd also keep sending separate from interpretation. The system won't send until Maya confirms in writing that the figures are right. If the model can't tell whether a message supplies that confirmation, the work waits for an operator.

I'd label a small set of representative messages before comparing a fixed rule with a model-assisted version: send is permitted, wait for confirmation, or ask the operator.

If the model understands more variations but sometimes sends while it should wait, I wouldn't call that an improvement. A correct interpretation still has to meet the permission check.

In my experience, the fixed procedure should get the first comparison because it's easier to inspect. If it handles the work reliably, another model call adds cost and another failure mode without adding a useful decision.

For Guardian's backup job, the scheduled script should keep doing the restore and integrity checks. I still need to compare the restore with known recent values. A model can't supply those missing values after the fact.

Source: Anthropic's guidance on workflows and agents.