Around 6 years ago I quit my job as a developer to dive into agriculture. I learned about syntropic agriculture systems and felt in love with it because: - You are able to work with space and time in a way to maximize yield (not 1 crop yield, but but multi crop) - It focus on being biodiverse - It builds forests So in this systems you will see rows of trees intercalated with rows of beans, corn, soy anything "weedy"…
I think that framing agriculture's transition (hopefully) away from mono-culture into a more ecosystem focused idea seems like a tractable optimization problem. If we look at the reasons for mono-culture, I would argue part of the reason is that traditionally bigger yield is linked to bigger tools -- tractors are much larger than horses, spraying a chemical is easier when only one thing needs to survive. Monoculture makes it easy to apply big things, harvesting one row of corn is easy to scale to ten rows of corn just by making the combine harvester wider -- the harvester's problem statement is generic and scaleable in this way.
The hard problem, that you raised at the end, is how do we scale harvesting non-mono-cultures. The constraining variables are quite different when we need to perform a set of ten actions with no locality guarantees (Monoculture just guarantees locality of similar actions). I think one natural perspective is to look at how we do things non-locally at scale, which effectively reduces down to a distributed systems problem.
edit: few small changes