Built an agent fleet that helps farmer's for free A developer built Fieldhand, an agent fleet for the All Things Agentic Hackathon that helps farmers by trying to disprove its own satellite-based crop diagnoses. The system uses a Watchman to select fields, then a Diagnostician, Skeptic, Agronomist, and Operations agent to validate findings, with a policy layer that prevents agents from spending money. It successfully avoided false alarms on a Palouse field and a mock 'dying' field drawn over downtown Pullman. I built this for the All Things Agentic Hackathon. This post covers how it works and what broke along the way. A satellite can't see crop disease. It sees one signal — plants looking less healthy than they should — and that has a dozen causes: drought, harvest, haze, a field boundary drawn over a car park. Every satellite tool alerts on that drop, and because most alerts are nothing, farmers stop opening them. So I built Fieldhand : a fleet of agents where most of the effort goes into trying to prove its own findings wrong. Nobody logs in. Cloud Scheduler → Pub/Sub wakes it at 4am, a Watchman picks the fields worth looking at, and each runs through a Google ADK fleet: Diagnostician reads the satellite evidence → Skeptic attacks the diagnosis → Agronomist plans treatment + a real spray window → Operations work orders . Anything that costs money stops at a human. It's not told to "verify" — a model asked to verify goes and finds supporting evidence. It's told to find the reason the diagnosis is wrong . Its main instrument is arithmetic: compare this field to its neighbours, and to its own history in prior years. On a real Palouse field reading −5.5σ catastrophic , the Skeptic pulled 3 years of history, saw it's harvested and bare every August, and refused to alarm. During testing it also caught a "dying 400-acre field" I'd drawn over downtown Pullman — it looked at the imagery, saw rooftops, and dropped confidence to 0.10. max output tokens covers thinking AND the answer. "$6,044" , which crashed the policy layer until I coerced at the tool boundary.The policy layer is plain code with no model in it. Even a wrong or prompt-injected agent physically can't spend a grower's money. The interesting engineering wasn't making the agents smart — it was deciding where they don't get a vote. Built with Google ADK · Gemini 3.5/3.7 Flash on Vertex AI · Gemma · Cloud Run · Firestore · Cloud Scheduler + Pub/Sub. Data from Sentinel-2 and Open-Meteo, both free. Live: https://fieldhand-web-37zk72cqha-uc.a.run.app https://fieldhand-web-37zk72cqha-uc.a.run.app Code: https://github.com/OJ-IRO/fieldhand https://github.com/OJ-IRO/fieldhand