<?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: S6stem</title>
    <description>The latest articles on DEV Community by S6stem (@mikeross27).</description>
    <link>https://dev.to/mikeross27</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%2F4063061%2Ffe7d8e8e-885d-41e0-bf1d-844c373e4cf7.JPG</url>
      <title>DEV Community: S6stem</title>
      <link>https://dev.to/mikeross27</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikeross27"/>
    <language>en</language>
    <item>
      <title>AI Agents Don’t Need More Context. They Need Memory.</title>
      <dc:creator>S6stem</dc:creator>
      <pubDate>Mon, 17 Aug 2026 23:11:37 +0000</pubDate>
      <link>https://dev.to/mikeross27/ai-agents-dont-need-more-context-they-need-memory-470o</link>
      <guid>https://dev.to/mikeross27/ai-agents-dont-need-more-context-they-need-memory-470o</guid>
      <description>&lt;p&gt;We keep making AI models better at reasoning.&lt;/p&gt;

&lt;p&gt;We give them larger context windows.&lt;/p&gt;

&lt;p&gt;We connect them to tools.&lt;/p&gt;

&lt;p&gt;We let them search files, browse repositories, call APIs, execute code, and operate increasingly complex workflows.&lt;/p&gt;

&lt;p&gt;And yet one problem keeps showing up:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;the agent forgets.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not necessarily because the model is bad.&lt;/p&gt;

&lt;p&gt;Because most agent systems still treat memory as an afterthought.&lt;/p&gt;

&lt;p&gt;I’ve been thinking about this problem for a while, and it eventually led me to start building &lt;strong&gt;BaseMyAI&lt;/strong&gt;: a local-first memory infrastructure layer for AI agents.&lt;/p&gt;

&lt;p&gt;This is the first post where I want to document what I’m building, why I think this problem matters, and what I’m learning along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context is not memory
&lt;/h2&gt;

&lt;p&gt;A common approach to agent memory looks roughly like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Store conversations or documents.&lt;/li&gt;
&lt;li&gt;Generate embeddings.&lt;/li&gt;
&lt;li&gt;Put them in a vector database.&lt;/li&gt;
&lt;li&gt;Retrieve the closest chunks for the next prompt.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is useful.&lt;/p&gt;

&lt;p&gt;But I don't think it is memory.&lt;/p&gt;

&lt;p&gt;It is retrieval.&lt;/p&gt;

&lt;p&gt;A real memory system has to answer harder questions.&lt;/p&gt;

&lt;p&gt;What does the agent currently believe?&lt;/p&gt;

&lt;p&gt;What information is outdated?&lt;/p&gt;

&lt;p&gt;Which fact replaced another fact?&lt;/p&gt;

&lt;p&gt;Which memories belong to this agent?&lt;/p&gt;

&lt;p&gt;Which memories are temporary?&lt;/p&gt;

&lt;p&gt;Which ones must survive for months?&lt;/p&gt;

&lt;p&gt;What happened before a certain decision?&lt;/p&gt;

&lt;p&gt;What information is actually relevant to the current task?&lt;/p&gt;

&lt;p&gt;And just as importantly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;what should be forgotten?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once agents start operating for days, weeks, or months, these questions become much more important than simply finding the nearest embedding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bigger context windows don't solve this
&lt;/h2&gt;

&lt;p&gt;Long context windows are incredible.&lt;/p&gt;

&lt;p&gt;But throwing everything into the prompt doesn't scale particularly well.&lt;/p&gt;

&lt;p&gt;Imagine an engineering agent that has worked on the same codebase for six months.&lt;/p&gt;

&lt;p&gt;During that time it has seen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;thousands of commits;&lt;/li&gt;
&lt;li&gt;architecture decisions;&lt;/li&gt;
&lt;li&gt;abandoned implementations;&lt;/li&gt;
&lt;li&gt;bug investigations;&lt;/li&gt;
&lt;li&gt;conversations;&lt;/li&gt;
&lt;li&gt;documentation;&lt;/li&gt;
&lt;li&gt;benchmarks;&lt;/li&gt;
&lt;li&gt;temporary hypotheses;&lt;/li&gt;
&lt;li&gt;user preferences;&lt;/li&gt;
&lt;li&gt;tool outputs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Technically, you could keep feeding more information back into the model.&lt;/p&gt;

&lt;p&gt;But eventually you're paying for a huge amount of irrelevant context.&lt;/p&gt;

&lt;p&gt;And worse: old information can conflict with new information.&lt;/p&gt;

&lt;p&gt;The problem becomes less about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“How much context can the model read?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and more about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What is the smallest amount of correct context the model needs right now?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is a memory problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memory needs time
&lt;/h2&gt;

&lt;p&gt;One concept I find particularly important is &lt;strong&gt;temporal memory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Consider these two facts:&lt;/p&gt;

&lt;p&gt;Database: PostgreSQL&lt;br&gt;
Database: native embedded engine&lt;/p&gt;

&lt;p&gt;A basic retrieval system might return both.&lt;/p&gt;

&lt;p&gt;But they're not necessarily contradictory.&lt;/p&gt;

&lt;p&gt;Maybe PostgreSQL was used three months ago and the project later migrated to a native engine.&lt;/p&gt;

&lt;p&gt;The missing dimension is time.&lt;/p&gt;

&lt;p&gt;The system should understand something closer to:&lt;/p&gt;

&lt;p&gt;2026-04&lt;br&gt;
Database = PostgreSQL&lt;/p&gt;

&lt;p&gt;2026-07&lt;br&gt;
Database = native embedded engine&lt;/p&gt;

&lt;p&gt;Now an agent can reason about the evolution of the project instead of treating every stored fact as equally current.&lt;/p&gt;

&lt;p&gt;That distinction becomes extremely important in long-running software projects.&lt;/p&gt;
&lt;h2&gt;
  
  
  Memory needs boundaries
&lt;/h2&gt;

&lt;p&gt;Another problem appears when multiple agents are involved.&lt;/p&gt;

&lt;p&gt;Imagine:&lt;/p&gt;

&lt;p&gt;coding-agent&lt;br&gt;
research-agent&lt;br&gt;
support-agent&lt;br&gt;
marketing-agent&lt;/p&gt;

&lt;p&gt;They may share some knowledge.&lt;/p&gt;

&lt;p&gt;But they should not automatically share everything.&lt;/p&gt;

&lt;p&gt;An agent's memory needs an identity and a boundary.&lt;/p&gt;

&lt;p&gt;This raises interesting architecture questions around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;isolation;&lt;/li&gt;
&lt;li&gt;permissions;&lt;/li&gt;
&lt;li&gt;shared memory;&lt;/li&gt;
&lt;li&gt;provenance;&lt;/li&gt;
&lt;li&gt;ownership;&lt;/li&gt;
&lt;li&gt;synchronization.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For BaseMyAI, agent isolation is one of the fundamental primitives rather than something added later.&lt;/p&gt;
&lt;h2&gt;
  
  
  Local-first changes the architecture
&lt;/h2&gt;

&lt;p&gt;There is another requirement I care about: memory should be able to live close to the user.&lt;/p&gt;

&lt;p&gt;Agent memory can contain some of the most sensitive information on a machine:&lt;/p&gt;

&lt;p&gt;source code, conversations, documents, product strategy, credentials metadata, personal preferences, and months of accumulated context.&lt;/p&gt;

&lt;p&gt;Sending all of that to another hosted database should not be the only architecture available.&lt;/p&gt;

&lt;p&gt;So BaseMyAI is being designed around a &lt;strong&gt;local-first and encrypted&lt;/strong&gt; model.&lt;/p&gt;

&lt;p&gt;That decision makes the engineering considerably more interesting.&lt;/p&gt;

&lt;p&gt;I'm currently building a native storage engine in Rust with things like persistent indexes, bounded memory management, WAL durability, snapshots, compaction, and concurrency controls.&lt;/p&gt;

&lt;p&gt;The goal isn't to build infrastructure for the sake of infrastructure.&lt;/p&gt;

&lt;p&gt;The goal is to make long-term agent memory predictable enough that developers can actually trust it.&lt;/p&gt;
&lt;h2&gt;
  
  
  A vector database is still useful
&lt;/h2&gt;

&lt;p&gt;None of this means vector search is bad.&lt;/p&gt;

&lt;p&gt;Vector search is extremely useful.&lt;/p&gt;

&lt;p&gt;BaseMyAI itself uses vector retrieval as one part of memory.&lt;/p&gt;

&lt;p&gt;The distinction I'm making is architectural:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Vector search
      ↓
is a component of
      ↓
Agent memory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;rather than:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Vector database = Agent memory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Memory also needs structure, lifecycle, chronology, identity, durability, and context selection.&lt;/p&gt;

&lt;p&gt;That's the layer I'm interested in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The direction I'm exploring
&lt;/h2&gt;

&lt;p&gt;My current mental model looks 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;                    ┌─────────────────┐
                    │    AI Agent     │
                    └────────┬────────┘
                             │
                             ▼
                    ┌─────────────────┐
                    │ Context Compiler│
                    └────────┬────────┘
                             │
             ┌───────────────┼───────────────┐
             ▼               ▼               ▼
        Semantic          Temporal        Structured
         Recall            Memory          Relations
             │               │               │
             └───────────────┼───────────────┘
                             ▼
                    ┌─────────────────┐
                    │ Durable Memory  │
                    └─────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important component here might actually be the &lt;strong&gt;context compiler&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The storage engine can know millions of things.&lt;/p&gt;

&lt;p&gt;The model shouldn't receive millions of things.&lt;/p&gt;

&lt;p&gt;The context compiler's job is to transform long-term memory into a small, relevant, current representation for a particular request.&lt;/p&gt;

&lt;p&gt;I'm increasingly convinced that this layer will be critical for serious autonomous agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building this in public
&lt;/h2&gt;

&lt;p&gt;BaseMyAI is still being built.&lt;/p&gt;

&lt;p&gt;A lot of the work right now is deep infrastructure work rather than polished product work.&lt;/p&gt;

&lt;p&gt;Rust.&lt;/p&gt;

&lt;p&gt;Storage engines.&lt;/p&gt;

&lt;p&gt;Memory accounting.&lt;/p&gt;

&lt;p&gt;Concurrency.&lt;/p&gt;

&lt;p&gt;Indexes.&lt;/p&gt;

&lt;p&gt;Durability.&lt;/p&gt;

&lt;p&gt;Retrieval.&lt;/p&gt;

&lt;p&gt;Temporal semantics.&lt;/p&gt;

&lt;p&gt;And probably many design decisions I'll discover were wrong six months from now.&lt;/p&gt;

&lt;p&gt;That's exactly why I want to write about it here.&lt;/p&gt;

&lt;p&gt;Instead of only publishing BaseMyAI once everything looks finished, I want to document the engineering decisions, experiments, failures, benchmarks, and architectural questions as they happen.&lt;/p&gt;

&lt;p&gt;Some topics I want to explore next include agent memory models, temporal retrieval, designing a storage engine in Rust, context compilation, memory isolation between agents, and why BaseMyAI is deliberately not designed as another vector database.&lt;/p&gt;

&lt;p&gt;If you're working on agents, retrieval systems, Rust infrastructure, knowledge graphs, or long-term AI memory, I'd genuinely like to compare approaches.&lt;/p&gt;

&lt;p&gt;This field still feels very early.&lt;/p&gt;

&lt;p&gt;And I think we're only beginning to understand what &lt;strong&gt;memory for software agents&lt;/strong&gt; should actually look like.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>agents</category>
      <category>rust</category>
    </item>
  </channel>
</rss>
