Field decision assistant

On this page 11

A recommendation, not another image folder

The assistant reads every layer for a field and answers in plain language: what is wrong, where, and by when.

CategoryOperate
Slugfield-assistant
CadenceAfter every flight, plus a weekly farm level brief
PayloadNo flight of its own. It reasons over the whole field record
Needs a visit firstNo

The problem

More sensing produces more imagery, and imagery is not a decision. A folder of index maps and a change layer still leaves somebody to work out whether the yellow patch in the north west matters this week, and what to do about it before Thursday.

How it works

StepWhat happens
ReadEvery layer for the field is read together: imagery, weather, soil, machine records and your own notes
ReasonFindings are weighed against growth stage and forecast, so a flag in June is not treated like the same flag in April
RecommendYou get a written recommendation naming the area, the likely cause, the action and the window
Follow upEvery recommendation is tracked, and the next flight reports whether it worked

What you get

  • Written recommendations per field
  • Priority order across the farm
  • Evidence links back to the source flight
  • Outcome tracking per recommendation

What the dashboard measures

  • Open recommendations by priority
  • Recommendations acted on
  • Outcome after action
  • Average lead time on a window

Where it matters most

Winter wheat, maize, potatoes, vineyards, cooperatives.

Build it

Rules first. This is not primarily a language model product

The reasoning that matters here is agronomic and mostly deterministic:

IF   disease change layer shows > 0.3 ha diverging
AND  crop is winter wheat at GS 37 to 59
AND  the next 5 days carry an infection risk
THEN recommend a protective fungicide window, priority high, by <date>

That rule is auditable, testable, explicable to an adviser, and it runs in microseconds. Build twenty of them per crop with an agronomist and you have most of the product. A model that generates the same sentence without the rule behind it is a liability, because nobody can say why it said that.

The sensible division of labour:

JobDo it with
Deciding whether something mattersRules over measured layers, with thresholds per crop and growth stage
Prioritising across the farmScoring: area times severity times time-criticality
Turning a finding into readable proseA language model, constrained to the retrieved facts
Translating the briefA language model, or the site's own translation pass
Answering "why do you think that"The evidence links, not the model

If you do use a language model

ConcernApproach
GroundingRetrieval over the field record only. The model composes, it does not decide
DeterminismThe same field record must produce the same recommendation. Generate the decision with rules, the wording with the model
Hosted or localA hosted API is cheaper per token than running a GPU until volume is high, and better at prose. Open-weight models run locally on the same box that does inference, keep customer data in house, and cost nothing per call
Data protectionFarm data is commercially sensitive and may be personal data. Whatever you choose, put it in the customer contract explicitly
Cost controlOne brief per field per flight, one per farm per week. Cache aggressively. This is a small number of generations per day, not a chat product

Whichever provider you use, keep the boundary clean: an interface with one implementation per backend, prompts and schemas in version control, and every generated brief stored with the record set that produced it. That way switching model, or dropping to rules-only prose, is a configuration change rather than a rewrite.

In-house software

StageWhat we runLicenceReplaces
Field record assemblyOne structured document per field per date, from the layers already storedthis repo
Growth stage trackingThermal time from DWD open data, corrected by observationown codepaid agronomy platforms
Rule engineDeclarative rules per crop, versioned, with testsown code
PrioritisationExplicit scoring function, tunable per farmown code
GenerationConstrained prose from the retrieved factsprovider of choice
Outcome trackingEvery recommendation gets an outcome after the next flightthis repo

The feedback loop is the moat

Recommendation, action, next flight, outcome. Recorded every time, that loop is the only asset in this platform that a competitor cannot buy: it says which recommendations actually worked, on which crops, in which conditions. Build the outcome capture before the recommendation generator, not after.

Cost efficiency

  • Twenty rules beat a clever model. They cost an agronomist's afternoon each and they never hallucinate a growth stage.
  • Growth stage from free weather data. Thermal time is arithmetic over DWD temperature series. Every threshold in the rule set depends on it.
  • One brief per flight, one per week. Generation cost is trivial at that cadence, whichever backend you pick. Do not build a chat interface: nobody wants to interrogate their field at 05:00, they want the three things that matter.
  • Never recommend a product, recommend a window and a reason. Product choice carries liability and is the adviser's job. "Protective window closes Thursday, 2.3 ha affected, here is the evidence" is useful and defensible.