This article discusses the architectural implications of integrating and self-hosting AI models, particularly focusing on 'harness engineering' for context management and computational sensing. It explores the trade-offs and challenges associated with managing costs, ensuring sovereignty, and handling security when moving towards self-hosted, open-weight models versus relying on frontier model firms. The discussion also touches on the shift in how engineers and managers interact with AI agents, emphasizing objective-based management and the importance of robust acceptance criteria.
Read original on Martin FowlerThe increasing sophistication and widespread adoption of AI models are introducing new architectural challenges and considerations for software development. This article from Martin Fowler's "Fragments" highlights key discussions from a Thoughtworks retreat, focusing on two primary areas: Harness Engineering and the Self-Hosting of AI Models.
Harness Engineering is emerging as a critical discipline to effectively manage interactions with AI models. It involves two main aspects:
The drive to self-host open-weight AI models is influenced by escalating token costs, a desire for greater model sovereignty (reducing dependence on frontier model firms), and information security concerns. However, this path is not without architectural and operational hurdles:
Avoiding the 'Private Cloud' Trap
A crucial question arises: Will self-hosting AI models lead to similar pitfalls as "half-arsed private clouds," where companies overspend on poorly managed infrastructure? The answer hinges on whether model hosting proves simpler than cloud infrastructure management, perhaps due to streamlined interaction protocols and clearer abstractions for GPU management.
The article also delves into the evolving relationship between humans and AI agents, particularly the shift towards managing by objective rather than by method. When interacting with tireless AI machines, the "Bring me a Rock" approach (iterative refinement through rejection) becomes defensible. However, the core challenge remains: how much confidence can be placed in an agent's decisions? The human role shifts to defining clear objectives and robust acceptance criteria, particularly for unstated or emergent requirements like security and undesired functionalities. The human is still responsible for the ultimate judgment of whether a request was properly executed and for teaching the AI the underlying mental model to better achieve those objectives.