What surprised me is not what’s hard, but what breaks immediately: – dynamic planning – tool abstraction layers – prompt-heavy orchestration – anything assuming async I/O is “cheap”
In practice, the architecture ends up looking very different from most agent frameworks discussed today.
For people who’ve worked on embedded systems, edge inference, or constrained runtime environments: what design assumptions did you have to unlearn first?