<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: VentAiLabs</title>
    <description>The latest articles on DEV Community by VentAiLabs (@ventailabs).</description>
    <link>https://dev.to/ventailabs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4125566%2F0302d06a-7c1b-4f6f-a7a5-7401aba7778d.png</url>
      <title>DEV Community: VentAiLabs</title>
      <link>https://dev.to/ventailabs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ventailabs"/>
    <language>en</language>
    <item>
      <title>Why does everything in an agent go through the LLM?</title>
      <dc:creator>VentAiLabs</dc:creator>
      <pubDate>Tue, 15 Sep 2026 05:48:44 +0000</pubDate>
      <link>https://dev.to/ventailabs/why-does-everything-in-an-agent-go-through-the-llm-3k1a</link>
      <guid>https://dev.to/ventailabs/why-does-everything-in-an-agent-go-through-the-llm-3k1a</guid>
      <description>&lt;p&gt;I've been building an agent system for a while now, and one question keeps coming back the deeper I get into it: why does everything have to go through the LLM?&lt;/p&gt;

&lt;p&gt;Obviously there are plenty of cases where the model belongs in the middle. Human input is messy. People are vague, change their mind halfway through a sentence, leave out context, or ask for something where there isn't one objectively correct answer. That's exactly where a model is useful.&lt;/p&gt;

&lt;p&gt;But a lot of work inside an agent isn't like that. Sometimes the system already knows what kind of operation it's dealing with, and regular software already knows how to handle it reliably. In those cases, sending the request through a model just so the model can tell the system to do something it already knew how to do feels unnecessary.&lt;/p&gt;

&lt;p&gt;A lot of agent systems can be simplified down to something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;request → model → tool → model → result
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I've started questioning whether the model really needs to be the default path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let software be software
&lt;/h2&gt;

&lt;p&gt;The direction I've been experimenting with is pretty simple in theory. If a request actually needs interpretation, reasoning, planning, or some understanding of what the person means, use the model. If it can be handled predictably by software, let software handle it.&lt;/p&gt;

&lt;p&gt;Something closer to this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 ┌→ deterministic handling
request → route ─┤
                 └→ model reasoning
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The point isn't to avoid AI or minimize model calls just for the sake of it. It's more about not using probabilistic reasoning for a problem that doesn't actually require probabilistic reasoning.&lt;/p&gt;

&lt;p&gt;Of course, drawing that diagram is the easy part. The routing problem shows up almost immediately.&lt;/p&gt;

&lt;p&gt;You can start with rules, regex, intent classifiers, and special cases, but that can become its own mess pretty quickly. Keep adding enough exceptions and eventually you've built a giant state machine that somebody has to babysit forever. At that point, maybe you've just moved the complexity somewhere else.&lt;/p&gt;

&lt;p&gt;A smaller model acting as a classifier is another option. It doesn't need to solve the task; it could simply decide whether the request needs semantic reasoning or whether an existing piece of software is better suited for it.&lt;/p&gt;

&lt;p&gt;I like that idea for the ambiguous cases, but I don't think I'd want it to become a mandatory first hop either. If something is already obvious to the runtime, calling a model just to classify what the system already knows puts probabilistic inference right back in front of every request.&lt;/p&gt;

&lt;p&gt;What makes more sense to me right now is a layered approach. Handle the things you already know how to handle. Use semantic classification where the answer genuinely isn't obvious. Fall back to deeper reasoning when you actually need it.&lt;/p&gt;

&lt;p&gt;I'm still figuring out where that line should sit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reasoning isn't authority
&lt;/h2&gt;

&lt;p&gt;The other thing this has made me think about is how much responsibility we put on the model once it does enter the picture.&lt;/p&gt;

&lt;p&gt;Understanding what should happen and having the authority to make it happen are two different problems.&lt;/p&gt;

&lt;p&gt;I keep coming back to a separation that looks roughly like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;reason → authorize → execute → verify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model may be involved in reasoning about an action, but that doesn't mean the same component should automatically decide the action is allowed, perform it, and then declare that it worked.&lt;/p&gt;

&lt;p&gt;That distinction matters more as agents get more capable. A model confidently saying something was completed isn't the same thing as the system actually knowing it happened.&lt;/p&gt;

&lt;p&gt;I don't think this requires taking all decision-making away from the model. Models are useful precisely because they can deal with situations that don't fit nicely into a pile of hard-coded rules. I just don't think that usefulness automatically makes them the right place to put every other responsibility too.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part I'm not convinced we've solved
&lt;/h2&gt;

&lt;p&gt;There's an obvious criticism of all of this: eventually the router itself can become the problem.&lt;/p&gt;

&lt;p&gt;If you keep expanding the deterministic side, how long before you're maintaining a second system that's more complicated than the model call you were trying to avoid? If you use a model to route to another model, when does the extra layer stop being worth it? And what happens when something gets routed down the wrong path?&lt;/p&gt;

&lt;p&gt;Those are the questions I find more interesting than simply asking whether agents should use more or less AI.&lt;/p&gt;

&lt;p&gt;I don't think the answer is "use less AI." I think the question is where AI actually earns its place in the system.&lt;/p&gt;

&lt;p&gt;Use the model for the parts that need meaning. Let deterministic software handle the things it already does well. Keep reasoning separate from authority. Then figure out what to do with everything that falls somewhere in between.&lt;/p&gt;

&lt;p&gt;I'm curious how people building real agent systems are approaching this. Are you letting the model handle most of the routing and putting deterministic controls around what happens afterward? Are you keeping some work away from the model entirely? And if you've tried splitting the two, at what point did the routing layer start becoming harder than the problem it was supposed to solve?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>llm</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
