Prompts Are Not Programs

October 23, 2024

It seems the “architecture astronauts” are at it once more, crafting elaborate abstractions and overcomplicating something as straightforward as prompts. At the heart of it, a prompt is simply a text input — a request we pass to an LLM, and it does its best to respond. There’s no hidden complexity, no need for layers of abstraction or intricate frameworks. It’s just you, the input, and the model’s response.

However, there’s a recurring tendency, especially among those who love to theorize and build layers on top of technology, to treat prompts as if they were some kind of program — something that requires optimization, rigorous structure, or specialized language. But here’s the catch: prompt crafting only matters insofar as the model’s capabilities allow it. The focus should always be on what the model can do, not the fanciness or complexity of the prompt itself.

Yes, a well-worded prompt can help the model deliver better responses, but it doesn’t need to be dressed up with abstraction. Overcomplicating this simple mechanism misses the point. The LLM is the one doing the heavy lifting, its knowledge and training underpinning everything. A basic, well-crafted prompt will leverage the model’s inherent capabilities far better than an overly abstract prompt ever could.

We should prioritize model capability over prompt shenanigans. Don’t fall for the trap of believing that complex prompt engineering can substitute for the limitations or strengths of the underlying model. A robust model will respond well to a simple prompt, while no amount of prompt complexity will magically fix a subpar model.

In the end, it’s not about building abstract architectures around prompts — it’s about leveraging the model’s capabilities. Keep it simple, keep it direct, and let the model show what it’s really capable of.