<?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: Dhananjay Das</title>
    <description>The latest articles on DEV Community by Dhananjay Das (@dhananjay_das_4f2c7e1ba31).</description>
    <link>https://dev.to/dhananjay_das_4f2c7e1ba31</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%2F4006532%2Fb49f0a92-f720-4964-8f20-b29818b9cb6a.png</url>
      <title>DEV Community: Dhananjay Das</title>
      <link>https://dev.to/dhananjay_das_4f2c7e1ba31</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dhananjay_das_4f2c7e1ba31"/>
    <language>en</language>
    <item>
      <title>Before and After Adding Memory to Our AI Agent</title>
      <dc:creator>Dhananjay Das</dc:creator>
      <pubDate>Sun, 28 Jun 2026 13:14:17 +0000</pubDate>
      <link>https://dev.to/dhananjay_das_4f2c7e1ba31/before-and-after-adding-memory-to-our-ai-agent-2c9i</link>
      <guid>https://dev.to/dhananjay_das_4f2c7e1ba31/before-and-after-adding-memory-to-our-ai-agent-2c9i</guid>
      <description>&lt;h1&gt;
  
  
  Building a Memory-Powered Agent in Python:
&lt;/h1&gt;

&lt;p&gt;What I Learned&lt;/p&gt;

&lt;p&gt;I spent a weekend integrating &lt;br&gt;
&lt;a href="https://hindsight.vectorize.io/" rel="noopener noreferrer"&gt;Hindsight&lt;/a&gt; &lt;br&gt;
into a sales agent. Here's what surprised me.&lt;/p&gt;
&lt;h2&gt;
  
  
  What We Built
&lt;/h2&gt;

&lt;p&gt;A sales agent that remembers prospect objections &lt;br&gt;
across sessions and drafts personalized follow-ups.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;Three components:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Memory layer&lt;/strong&gt; — Hindsight stores and retrieves objections&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI layer&lt;/strong&gt; — Groq's llama-3.3-70b-versatile drafts emails&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orchestration&lt;/strong&gt; — Python ties it together&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  The Code That Surprised Me
&lt;/h2&gt;

&lt;p&gt;I expected memory to be complex. It wasn't.&lt;/p&gt;

&lt;p&gt;Saving a memory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;hindsight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;retain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;bank_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;BANK_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Prospect: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;prospect_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; | Objection: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;objection&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Recalling memories:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;hindsight&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;recall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;bank_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;BANK_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What objections did &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;prospect_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; raise?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The recall uses semantic search — you don't need &lt;br&gt;
exact matches. "What concerns did John have about &lt;br&gt;
cost?" returns results about budget objections &lt;br&gt;
even if those exact words weren't used.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Hindsight Actually Does
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/vectorize-io/hindsight" rel="noopener noreferrer"&gt;Hindsight&lt;/a&gt; &lt;br&gt;
is a memory system built specifically for AI agents. &lt;br&gt;
It handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persistent storage across sessions&lt;/li&gt;
&lt;li&gt;Semantic retrieval&lt;/li&gt;
&lt;li&gt;Memory organization by type&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Unexpected Part
&lt;/h2&gt;

&lt;p&gt;The memories compound. After multiple runs, &lt;br&gt;
the recall gets richer — it surfaces context &lt;br&gt;
from earlier sessions automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Agent memory is simpler than you think&lt;/li&gt;
&lt;li&gt;Semantic recall is more powerful than keyword search&lt;/li&gt;
&lt;li&gt;Persistent memory compounds over time&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://hindsight.vectorize.io/" rel="noopener noreferrer"&gt;Hindsight SDK&lt;/a&gt; 
is genuinely easy to use&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Full code: &lt;a href="https://github.com/ronak0206/sales-memory-agent" rel="noopener noreferrer"&gt;https://github.com/ronak0206/sales-memory-agent&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
