← Back to Writing
AI Systems Field Notes

The Reusability Trap in AI Systems

3 min read

Reading note

Essays for people who want the pattern behind the pattern.

This page is designed to read like a quiet, deliberate argument rather than a feed item.

There’s a recurring conversation I have with engineering teams: “We want to build this agent so other teams can reuse it.” Good instinct. Almost always premature.

Here’s why reusability fails in practice:

The first implementation is never general enough. You build an agent for one team’s use case. You think you’ve abstracted it. Then a second team tries to use it and discovers that your “general” prompt template has fifteen assumptions baked in that are specific to the first team’s data model.

Shared components need shared ownership. Reusable AI infrastructure requires someone to maintain it — update the prompts as models change, manage the vector store, monitor for drift. If that ownership isn’t explicit from the start, the “reusable” component becomes abandonware within three months.

The right sequence is: build specific, observe patterns, then extract. Don’t build a reusable AI service. Build three specific AI implementations for three teams. Then look at what they have in common. The shared layer reveals itself — you don’t design it in advance.

This is the same lesson from software engineering (premature abstraction kills) applied to AI. But teams keep making the mistake because “we’ll build it once and everyone can use it” sounds so efficient in a planning meeting.

Efficiency in planning meetings is not the same as efficiency in production.