Key Takeaways
- Most developers treat models like external oracles, packaging prompts and begging for structured output over slow API calls.
- Diego's company, Typesafe, built Jev to shrink model scope down to single inline choices and probability estimates.
- System 1 models run directly inside programming execution paths, operating as casually as regular if statements.
- Fast, low-latency execution allows models to run game loops like Doom where traditional chatbots fail.
- Reliability matters more than raw speed; typed, bounded outputs prevent runtime failures across critical code paths.
Stop Praying to the Model
Most AI products look the same today: a standard application collects user input, bundles a messy prompt, and sends a prayer over an API call. Shawn Wang pointed out this exact habit ahead of the AI Engineer conference in Shanghai. Wang explained that teams spend their days building complex wrappers around a model: “I'll do a bunch of work and then I'll hand off to a model and say please god model give me the right answer.” (play from 47:20)
This setup treats the model like an unpredictable contractor. You send it off with instructions, wait several seconds, and hope it returns valid JSON. When it fails, you add another retry loop or adjust your prompt instructions. It turns software engineering into superstition.
Diego, founder of Typesafe, wants to flip that relationship. His project, Jev, treats models as tools for the engineer rather than masters of the stack. Wang summarized Diego's view: “Jev is like well no models are for us we don't work for the model and so I will reduce the scope of the model to only one thing which is to make choices or to estimate probabilities.” (play from 47:30)
Models Belong Directly Inside Code Paths
Instead of delegating entire features to an external text generator, System 1 models sit inside standard logic. They do not talk. They do not maintain chat histories or explain their reasoning. They answer one targeted question in milliseconds.
Wang explained the mechanical shift clearly: “it is that they are in the path of code you write it as casually as you write an if statement inside of a normal programming language.” (play from 48:12)
Think about what an if statement actually does. It evaluates a condition, branches execution, and moves forward. When your condition relies on messy real-world data, standard syntax breaks down. You cannot easily write a rule for whether an email contains a purchase order or whether a string looks like an address. Jev replaces brittle string matching with an inline probability check.
Speed matters here, but reliability matters more. As Wang noted, “The speed stuff is almost secondary to the reliability which is what he really is trying to say. That's why the company is called Typesafe.” (play from 48:38) If a model can only pick from three strictly typed enums, it cannot hallucinate unexpected keys or drift off topic.
From Chat Sidebars to Running Doom
The distinction between slow reasoning and fast execution mirrors the split between System 1 and System 2 human thought. Large reasoning models spend seconds planning steps and checking their work. That is System 2. They are useful for drafting complex documents or analyzing multi-page contracts, but they fall apart when an application requires instantaneous reaction.
Jev focuses entirely on System 1: rapid, bounded reflexes. Wang highlighted how Diego demonstrated this boundary: “He made it into a system one versus system 2 thing which I think was makes the communication very clear to the point where you can play Doom.” (play from 50:27)
You cannot play Doom through a chat interface. A game loop needs answers in fractions of a second: move left, shoot, open door. If every frame waited on a three-second chain-of-thought prompt, the game would freeze. By dropping models directly into the loop to estimate single probabilities, software gains fast judgment without pausing the world.
What to Do With This
Audit your backend services for functions where you use prompt templates to extract structured categories or route user requests. Replace those slow, external agent calls with a typed classification model that runs inline. Restrict the model's output strictly to a fixed enum or a raw probability score before merging it into your branching logic.