After talking with poteto, Matt Pocock argued that in the AI era we should use abstractions more, backed by strict lint rules that narrow the agent's design space and keep it making good decisions. High-leverage abstractions let you do more with less code, which saves tokens; and with agents around, cleaning up the damage from a bad abstraction is far cheaper. He says this runs against the popular belief that "agents just want to read raw code," and calls for being bolder about designing abstractions.
My hot take from chatting to @poteto is that we should use MORE abstractions in the AI age
You can use them (combined with harsh lint rules) to reduce the design space available to the agent and constrain them only to good decisions.
Combined with the fact that high-leverage abstractions let you do more with less code - so, more token efficient.
Plus, unwinding the damage from a bad abstraction is much cheaper with agents.
This runs counter to a lot of folks thinking that agents just want to read the raw code. They can, but they're not maximally efficient that way.
Be braver! Design abstractions.
Source: Matt Pocock · x.com