Most AI agent tutorials show you how to make a chatbot. I wanted something that runs 24/7 without human input — observing, analyzing, deciding, and acting on its own.
So I built an autonomous fleet using the OODA Loop pattern. Here's how it works and why it's surprisingly effective.
What is OODA?
OODA stands for Observe → Orient → Decide → Act. It's a military decision-making framework created by Colonel John Boyd, and it maps perfectly to autonomous AI agents.
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ OBSERVE │───▶│ ORIENT │───▶│ DECIDE │───▶│ ACT │
│ Collect │ │ Analyze │ │ Choose │ │ Execute │
│ data │ │ context │ │ action │ │ task │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
▲ │
└───────────── feedback loop ───────────────┘
Each phase is a separate Cloudflare Worker, running on cron schedules.
The Architecture
I built 6 Workers that form a continuous loop:
| Worker | Phase | Schedule | What It Does |
|---|---|---|---|
| Cloud Recon | Observe | Every 4h | Scans APIs, collects market data |
| Market Analyst | Orient | Every 6h | Analyzes trends, detects patterns |
| Strategy Engine | Decide | Every 8h | Generates action plans |
| Cloud Executor | Act | Every 2h | Executes approved tasks |
| Health Monitor | Meta | Every 1h | Checks all workers are alive |
| Knowledge Graph | Memory | On-demand | Stores entities + relationships |
The key insight: each worker is stateless. They communicate through a shared D1 database and KV store. No WebSockets, no long-running processes, no servers to maintain.
Why Cloudflare Workers?
Three reasons:
- Cron triggers are free — Workers supports scheduled execution with no extra cost
- D1 is perfect for agent state — SQLite at the edge, reads are instant
- Zero ops — No servers to patch, no containers to manage, no cold starts
Monthly cost for the entire fleet: under $5.
The Knowledge Graph Layer
Raw data is useless. The OODA loop needs memory — a way to connect observations over time.
I built an edge-native Knowledge Graph on D1 + Vectorize:
Entities (182) ──relationships──▶ Entities
│ │
▼ ▼
Vectors (768d) Community Detection
│ │
▼ ▼
Semantic Search PageRank Scoring
Every observation gets ingested as entities and relationships. The Orient phase queries the graph to find connections the Observe phase missed.
The graph uses Agentic RAG — a retrieval pattern where the agent decides which retrieval strategy to use based on the query type:
- Simple queries → keyword FTS5 search
- Exploratory queries → semantic vector search + graph walk
- Temporal queries → time-weighted retrieval
- Causal queries → causal DAG traversal
- Multi-hop queries → all strategies combined with RRF
Lessons Learned
1. Start with the feedback loop
The most important part of OODA isn't any single phase — it's the loop. If Act doesn't feed back into Observe, you just have a pipeline, not an agent.
I store every action result in the knowledge graph. The next Observe cycle picks up what worked and what didn't.
2. Human-in-the-loop for high-stakes decisions
Full autonomy sounds cool until your agent buys 1000 API calls at 3 AM. I added a Telegram approval workflow for actions above a configurable threshold.
3. Multi-LLM failover is essential
Single-provider AI agents break constantly. Rate limits, outages, billing issues. My system has 6 LLM providers with automatic failover:
Primary: Groq (free, fast)
↓ fail
Fallback 1: Mistral (cheap)
↓ fail
Fallback 2: OpenRouter (Gemini Flash)
↓ fail
...and so on
4. Belief decay prevents stale knowledge
Old observations should matter less. I run a cron job that decays confidence scores over time (tau=0.95 per cycle). This prevents the agent from acting on outdated information.
Try It Yourself
The OODA pattern works for any domain:
- Market intelligence — Track competitors, detect trends
- Content automation — Observe topics → Generate → Publish → Measure
- Security monitoring — Scan → Analyze → Alert → Remediate
- DevOps — Monitor → Diagnose → Plan → Fix
The full architecture is documented in the OpenClaw repository.
If you want a pre-built OODA system, I sell the complete blueprint with all 6 Workers, the Knowledge Graph, and the Telegram integration.
What patterns do you use for autonomous AI agents? I'd love to hear about alternatives to OODA.
Top comments (0)