<?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: Liedson Habacuc</title>
    <description>The latest articles on DEV Community by Liedson Habacuc (@lhabacuc).</description>
    <link>https://dev.to/lhabacuc</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%2F3259483%2F87890c8d-9c32-4068-9d97-bf2a092d221d.png</url>
      <title>DEV Community: Liedson Habacuc</title>
      <link>https://dev.to/lhabacuc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lhabacuc"/>
    <language>en</language>
    <item>
      <title># Colibri Made Me Rethink How We Run LLMs — And There Might Be a Next Step</title>
      <dc:creator>Liedson Habacuc</dc:creator>
      <pubDate>Sun, 19 Jul 2026 01:24:05 +0000</pubDate>
      <link>https://dev.to/lhabacuc/-colibri-made-me-rethink-how-we-run-llms-and-there-might-be-a-next-step-52bj</link>
      <guid>https://dev.to/lhabacuc/-colibri-made-me-rethink-how-we-run-llms-and-there-might-be-a-next-step-52bj</guid>
      <description>&lt;p&gt;Over the past few days, I came across a project that made me stop everything to understand how it worked. It wasn't just another framework for running language models, nor another GPU-based optimization. It was something different.&lt;/p&gt;

&lt;p&gt;The project is called &lt;strong&gt;Colibri&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At first glance, it almost seems impossible. The idea is simple, yet remarkably bold: run a massive Mixture of Experts (MoE) model on an ordinary computer using nothing more than a CPU and an SSD, loading into memory only the experts that are actually needed at each step.&lt;/p&gt;

&lt;p&gt;When I first read that, my reaction was probably the same as everyone else's:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"How could that possibly work?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After studying the architecture, I realized that Colibri's real innovation isn't simply that it can run an enormous model. The real breakthrough is that it completely changes the way we think about inference.&lt;/p&gt;




&lt;h1&gt;
  
  
  A Shift in Perspective
&lt;/h1&gt;

&lt;p&gt;For years, we've been taught that running a model means loading the entire model into memory.&lt;/p&gt;

&lt;p&gt;More VRAM.&lt;/p&gt;

&lt;p&gt;More RAM.&lt;/p&gt;

&lt;p&gt;More GPUs.&lt;/p&gt;

&lt;p&gt;Colibri challenges that assumption.&lt;/p&gt;

&lt;p&gt;Instead of keeping hundreds of billions of parameters resident in memory, it treats the model as a living system.&lt;/p&gt;

&lt;p&gt;The router selects which experts are needed.&lt;/p&gt;

&lt;p&gt;Those experts are loaded from the SSD.&lt;/p&gt;

&lt;p&gt;They perform their computation.&lt;/p&gt;

&lt;p&gt;And once they're no longer needed, they can be discarded.&lt;/p&gt;

&lt;p&gt;It's an incredibly elegant approach.&lt;/p&gt;

&lt;p&gt;In practice, storage is no longer just a place where model weights are kept—it becomes an active participant in the inference process.&lt;/p&gt;

&lt;p&gt;It's one of those ideas that feels both simple and brilliant.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Bottleneck Isn't the Architecture
&lt;/h1&gt;

&lt;p&gt;Once I understood how it worked, another question came to mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if the real problem isn't the algorithm?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because the architecture itself makes perfect sense.&lt;/p&gt;

&lt;p&gt;The bottleneck appears somewhere else.&lt;/p&gt;

&lt;p&gt;Every time an expert is needed, there's an unavoidable sequence:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSD → RAM → CPU&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That process happens thousands of times during a single generation.&lt;/p&gt;

&lt;p&gt;In other words, the real limitation is no longer computational power—it's the time spent waiting for data to move from storage into memory.&lt;/p&gt;

&lt;p&gt;That's when I started wondering what the next step for this architecture could be.&lt;/p&gt;




&lt;h1&gt;
  
  
  What If Colibri Could Predict the Future?
&lt;/h1&gt;

&lt;p&gt;Modern CPUs already do this.&lt;/p&gt;

&lt;p&gt;They try to predict which instruction will be executed next.&lt;/p&gt;

&lt;p&gt;Operating systems do it.&lt;/p&gt;

&lt;p&gt;Databases do it.&lt;/p&gt;

&lt;p&gt;Web browser caches do it.&lt;/p&gt;

&lt;p&gt;So why couldn't an MoE inference engine do the same?&lt;/p&gt;

&lt;p&gt;Imagine that after processing thousands of tokens, the system discovers patterns like these:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Expert 15
 ↓ 92%
Expert 48

Expert 48
 ↓ 87%
Expert 102

Expert 102
 ↓ 95%
Expert 211
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this scenario, the engine wouldn't need to wait for the next token before loading the next expert.&lt;/p&gt;

&lt;p&gt;While the CPU is computing the current expert, another thread could already be loading the most likely next experts.&lt;/p&gt;

&lt;p&gt;By the time they're needed, they're already sitting in RAM.&lt;/p&gt;

&lt;p&gt;The waiting time nearly disappears.&lt;/p&gt;


&lt;h1&gt;
  
  
  Storage Would No Longer Be the Bottleneck
&lt;/h1&gt;

&lt;p&gt;Today, the SSD is used reactively.&lt;/p&gt;

&lt;p&gt;First, the router makes a decision.&lt;/p&gt;

&lt;p&gt;Then, the SSD responds.&lt;/p&gt;

&lt;p&gt;But what if we reversed that logic?&lt;/p&gt;

&lt;p&gt;Instead of reacting to requests, the system begins anticipating them.&lt;/p&gt;

&lt;p&gt;That transforms storage from a passive component into a proactive one.&lt;/p&gt;

&lt;p&gt;One possible architecture could consist of four independent modules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;An intelligent scheduler&lt;/strong&gt;, responsible for predicting upcoming experts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An asynchronous I/O manager&lt;/strong&gt;, performing disk reads in parallel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A smart expert cache (LRU/LFU)&lt;/strong&gt;, keeping frequently used experts in memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A dedicated inference engine&lt;/strong&gt;, focused solely on computation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This separation would allow disk I/O and computation to happen simultaneously, dramatically reducing idle time.&lt;/p&gt;


&lt;h1&gt;
  
  
  Other Interesting Ideas
&lt;/h1&gt;

&lt;p&gt;As I explored the project further, a few additional possibilities came to mind.&lt;/p&gt;
&lt;h3&gt;
  
  
  Frequency-Based Caching
&lt;/h3&gt;

&lt;p&gt;Experts that are used hundreds of times shouldn't be evicted from memory as aggressively as experts that are rarely selected.&lt;/p&gt;


&lt;h3&gt;
  
  
  Intelligent Prefetching
&lt;/h3&gt;

&lt;p&gt;As soon as the router makes its decision, immediately begin loading the most likely upcoming experts.&lt;/p&gt;


&lt;h3&gt;
  
  
  Memory-Mapped I/O (mmap)
&lt;/h3&gt;

&lt;p&gt;Allow the operating system to manage page caching directly, reducing unnecessary memory copies and making better use of the existing virtual memory subsystem.&lt;/p&gt;


&lt;h3&gt;
  
  
  Physical Expert Clustering
&lt;/h3&gt;

&lt;p&gt;Experts that are frequently activated together could be stored physically close to one another on disk, enabling much more efficient sequential reads.&lt;/p&gt;


&lt;h3&gt;
  
  
  A Fully Pipelined Engine
&lt;/h3&gt;

&lt;p&gt;While one group of experts is executing...&lt;/p&gt;

&lt;p&gt;Another group is already being loaded.&lt;/p&gt;

&lt;p&gt;And a third group is waiting in memory.&lt;/p&gt;

&lt;p&gt;Ideally, the CPU would spend almost no time waiting for the SSD.&lt;/p&gt;


&lt;h1&gt;
  
  
  The Core Idea Remains the Same
&lt;/h1&gt;

&lt;p&gt;The most interesting part is that none of these ideas changes Colibri's original philosophy.&lt;/p&gt;

&lt;p&gt;The entire model still isn't loaded into memory.&lt;/p&gt;

&lt;p&gt;Inference still runs entirely on CPUs.&lt;/p&gt;

&lt;p&gt;The SSD remains an active part of the inference pipeline.&lt;/p&gt;

&lt;p&gt;The difference is that the system stops reacting to events and starts anticipating them.&lt;/p&gt;

&lt;p&gt;It's an evolution of the same idea.&lt;/p&gt;

&lt;p&gt;Not a replacement.&lt;/p&gt;


&lt;h1&gt;
  
  
  Perhaps This Is Only the Beginning
&lt;/h1&gt;

&lt;p&gt;Colibri demonstrates that there's still plenty of room for innovation in inference engines.&lt;/p&gt;

&lt;p&gt;For years, the conversation has revolved around bigger GPUs, more memory, and greater computational power.&lt;/p&gt;

&lt;p&gt;Maybe there's another path.&lt;/p&gt;

&lt;p&gt;Maybe we can build increasingly intelligent systems for moving data.&lt;/p&gt;

&lt;p&gt;Because in the end, the hardest problem may not be computing faster.&lt;/p&gt;

&lt;p&gt;It may simply be ensuring that the right data is in the right place at exactly the right time.&lt;/p&gt;

&lt;p&gt;That's what made Colibri so fascinating to me.&lt;/p&gt;

&lt;p&gt;And perhaps that's exactly where the next major step in this idea lies.&lt;/p&gt;

&lt;p&gt;Congratulations to the creator of the project for the creativity and the courage to challenge a paradigm that many considered unquestionable. I hope these ideas inspire further discussion and experimentation, because I believe architectures like this still have tremendous room to evolve.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/JustVugg" rel="noopener noreferrer"&gt;
        JustVugg
      &lt;/a&gt; / &lt;a href="https://github.com/JustVugg/colibri" rel="noopener noreferrer"&gt;
        colibri
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Run GLM-5.2 (744B MoE) on a 25GB-RAM consumer machine — pure C, zero deps, experts streamed from disk. Tiny engine, immense model. 🐦
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/JustVugg/colibri/assets/colibri.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FJustVugg%2Fcolibri%2FHEAD%2Fassets%2Fcolibri.svg" width="500" alt="colibrì — tiny engine, immense model"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tiny engine, immense model.&lt;/strong&gt; Run &lt;strong&gt;GLM-5.2 (744B-parameter MoE)&lt;/strong&gt; on a consumer machine with ~25 GB of RAM — in pure C, with zero dependencies, by streaming experts from disk.&lt;/p&gt;
&lt;p&gt;Colibrì is a lightweight, quality-preserving MoE runtime that treats VRAM
RAM, and storage as one managed memory hierarchy. Insufficient fast memory may
reduce speed, but the default policy never silently changes model precision or
router semantics.&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;$ ./coli chat
  🐦 colibrì v1.0 — GLM-5.2 · 744B MoE · int4 · streaming CPU
  ✓ ready in 32s · resident 9.9 GB
  › ciao
  ◆ Ciao! 😊 Come posso aiutarti oggi?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;See it running&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/JustVugg/colibri/docs/media/colibri-dashboard.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FJustVugg%2Fcolibri%2FHEAD%2Fdocs%2Fmedia%2Fcolibri-dashboard.png" width="900" alt="colibrì web dashboard — live metrics, hardware panel, expert tiers"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The web dashboard (&lt;code&gt;./coli web&lt;/code&gt;): a 744B model answering at 4+ tok/s end-to-end on 6× RTX 5090 —
with live token metrics, the hardware panel, and the VRAM/RAM/disk expert tiers.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/JustVugg/colibri/docs/media/colibri-brain.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FJustVugg%2Fcolibri%2FHEAD%2Fdocs%2Fmedia%2Fcolibri-brain.png" width="900" alt="the Brain page — 19,456 experts as a live cortex"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The &lt;strong&gt;Brain&lt;/strong&gt; page: all 19,456 experts as a living cortex — colour is the storage tier
brightness&lt;/em&gt;…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/JustVugg/colibri" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
Follow me &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://github.com/lhabacuc" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F147350020%3Fv%3D4%3Fs%3D400" height="460" class="m-0" width="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://github.com/lhabacuc" rel="noopener noreferrer" class="c-link"&gt;
            lhabacuc (Liedson Habacuc) · GitHub
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            lhabacuc has 44 repositories available. Follow their code on GitHub.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg" width="32" height="32"&gt;
          github.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How I Created SmartAgent — and How It Helped Me Finally Understand AI Agents</title>
      <dc:creator>Liedson Habacuc</dc:creator>
      <pubDate>Wed, 18 Feb 2026 13:44:48 +0000</pubDate>
      <link>https://dev.to/lhabacuc/how-i-created-smartagent-and-how-it-helped-me-finally-understand-ai-agents-194h</link>
      <guid>https://dev.to/lhabacuc/how-i-created-smartagent-and-how-it-helped-me-finally-understand-ai-agents-194h</guid>
      <description>&lt;p&gt;Hi Dev.to community 👋&lt;/p&gt;

&lt;p&gt;I recently started diving deep into &lt;strong&gt;AI agents&lt;/strong&gt; — systems that can reason, decide, and act autonomously. At first, I experimented with popular frameworks like &lt;strong&gt;LangChain&lt;/strong&gt;, but I realized I didn’t fully understand &lt;strong&gt;what an agent actually does&lt;/strong&gt; or how decisions and tools really work under the hood.&lt;/p&gt;

&lt;p&gt;So I decided to &lt;strong&gt;build my own library from scratch&lt;/strong&gt;: &lt;strong&gt;SmartAgent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goal was simple: make agents &lt;strong&gt;transparent, understandable, and easy to experiment with&lt;/strong&gt;. I wanted a library that clearly separates the agent’s reasoning steps so anyone (including myself!) could actually learn how an agent works.&lt;/p&gt;




&lt;h3&gt;
  
  
  How SmartAgent works
&lt;/h3&gt;

&lt;p&gt;SmartAgent uses a &lt;strong&gt;three-phase flow&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Analysis&lt;/strong&gt; – the agent reasons about the problem&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution&lt;/strong&gt; – the agent decides what to do and uses tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response&lt;/strong&gt; – the agent produces a final answer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By designing it this way, I could finally understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What an agent &lt;em&gt;really is&lt;/em&gt; (not just prompts)&lt;/li&gt;
&lt;li&gt;How decisions are made step by step&lt;/li&gt;
&lt;li&gt;How tools fit into the reasoning loop&lt;/li&gt;
&lt;li&gt;How to design my own agents intentionally&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Why I’m sharing it
&lt;/h3&gt;

&lt;p&gt;I built SmartAgent not just for myself, but as a &lt;strong&gt;learning tool for others&lt;/strong&gt;. If you’re curious about AI agents, want to experiment, or even contribute, it’s approachable and educational.&lt;/p&gt;

&lt;p&gt;It’s also open-source, so anyone can explore, tweak, or add new tools.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Try it out:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/lhabacuc/smartagent" rel="noopener noreferrer"&gt;https://github.com/lhabacuc/smartagent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;PyPI: &lt;a href="https://pypi.org/project/smartagent-sf/" rel="noopener noreferrer"&gt;https://pypi.org/project/smartagent-sf/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d love to hear how other people are experimenting with agents, and any feedback or ideas are very welcome!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
