Most AI prototypes hit their ceiling long before the model runs out of capability. When the output quietly changes shape in production, everyone reaches for a bigger model, but that gap between "it worked yesterday" and "genuinely dependable" is almost never a capability problem. In part 2 of the datapro.news series, we are breaking down why the prompt string is the least trustworthy component in your entire stack. Hardcoded instructions are the only part of a modern pipeline with no tests, no types and no version history, meaning every fix is a guess and every provider update is a silent regression you find out about from a customer. Here are 3 open-source tools that we think change the game: - 🧩 DSPy: Learn how to treat prompts as compiled artifacts rather than text, so when a new model drops you recompile against a small validation set instead of hand-editing dozens of brittle strings. - 📐 Instructor: Discover how to define your output as a Pydantic schema and let an automatic retry loop catch the malformed JSON and missing fields before they ever reach your database. - 🔒 Outlines: See how constrained decoding makes invalid output structurally impossible rather than merely unlikely, so enum values, ISO dates and numeric totals come back correct every single time. Each one buys reliability with a different currency - compile time, latency or infrastructure - and the issue closes with a side-by-side table so you can choose on your constraints rather than on hype. Before you spend another week tuning wording, you need to look hard at whether your instructions are code or just text. Otherwise you don't have a product, you have a demo with good manners. Check out the video edition below 👇