Most teams building AI agent systems believe they have monitoring in place.
What they actually have is logging.
These are not the same thing — and the difference matters when your agent starts behaving unexpectedly.
What Logging Gives You
Logs are a record of what happened. Useful for post-mortem. Terrible for real-time intervention.
A well-logged AI agent can produce 10,000 lines of output per day. Good luck finding the signal when something goes wrong.
Logging answers: What did the agent do?
What Monitoring Gives You
Monitoring answers: Should I intervene right now?
For AI agents, that requires three things:
- Structured state after each action — machine-readable, not buried in a log file
- Cost per run — if a $0.02 task suddenly costs $0.80, you want to know before it runs 50 more times
- Escalation flags — a dedicated output where the agent writes when it needs human input
The Three-File Monitoring Stack
- current-task.json — status, cost_so_far, next_step after each action
- action-log.jsonl — append-only, one line per action with cost
- outbox.json — escalation queue where the agent flags ambiguity or risk
The Rule That Changes Everything
Add to your SOUL.md:
After every action:
- Write updated current-task.json with status, cost_so_far, and next_step
- If uncertain, write to outbox.json and stop
- Never report success until you verify the output exists
That's monitoring. Not logging.
What This Looks Like in Practice
Logging only: agent runs 6 hours, costs $18, produces nothing useful. You find out when you check manually.
With monitoring: a watcher script checks cost_so_far every 5 minutes. At $0.80 it alerts you. You intervene at $0.80, not $18.
The distinction isn't subtle — it's the difference between a paper trail and a control panel.
Implementing It This Week
You don't need a monitoring platform. You need three files and one rule in your SOUL.md.
Full pattern, with example configs and the watcher script: askpatrick.co
Top comments (0)