π€ What if a coding agent could actually remember?
AI coding agents are becoming surprisingly capable.
They can write code, inspect repositories, debug errors, interact with tools, and reason through complex development tasks.
But there is still a frustrating limitation:
They forget.
A new session often starts without the useful experience accumulated during previous sessions.
A developer might have already explained:
π security requirements
ποΈ architectural constraints
πΌ customer requirements
π° commercial conditions
π§ important project decisions
π οΈ recurring development patterns
Yet the next session may require the agent to rediscover that context.
That made me ask a different question:
What if an AI coding agent could remember important project knowledge and also learn from repeated patterns in its own interactions?
That question led me to build DIAS β Deal Intelligence Agent Skill.
DIAS combines persistent memory, telemetry, reflection, and controlled tool evolution using Hindsight.
The core idea is simple:
π§ Remember
β
π Observe
β
π Reflect
β
π οΈ Adapt
β
β‘ Execute
π§© The Problem: Coding Agents Have Short-Term Context
A coding agent usually works within a session.
Imagine this workflow:
π¨βπ» Developer
β
π€ Coding Agent
β
π» Solve Problem
β
β
Task Completed
β
π Session Ends
The problem appears when the next session begins.
The project still has context, but the agent may not have access to everything it learned previously.
For a real engineering workflow, that can mean repeatedly explaining the same things.
DIAS approaches this by treating useful project information as persistent memory rather than temporary conversation context.
π§ Two Different Types of Memory
One of the key design decisions in DIAS is separating memory into two dimensions.
1οΈβ£ dias_deals β Domain Memory
dias_deals focuses on information that should remain useful across sessions.
Examples include:
π€ customer disclosures
π security mandates
π° commercial terms
ποΈ architectural constraints
π important domain context
The purpose isn't to remember every conversation.
The purpose is to preserve information that can influence future decisions.
2οΈβ£ dias_telemetry β Developer Interaction Memory
The second memory dimension is:
dias_telemetry
This captures patterns around agent usage and developer interaction.
For example, imagine an agent repeatedly performing relational database queries through a manual workflow.
One occurrence may be completely normal.
But if the same pattern keeps appearing, it may indicate developer friction.
That makes telemetry useful for something beyond logging.
It becomes input for reflection.
π§ Where Hindsight Fits
DIAS uses Hindsight as the persistent memory and reflection layer.
The architecture can be represented like this:
π€ Coding Agent
β
βΌ
βββββββββββββ
β DIAS β
βββββββ¬ββββββ
β
ββββββββββ΄βββββββββ
βΌ βΌ
π§ dias_deals π dias_telemetry
Domain Memory Telemetry
β β
β βΌ
β π Hindsight Reflect
β β
β βΌ
β π Friction Pattern
β β
β βΌ
β π οΈ Tool Proposal
β β
β βΌ
β π€ Human Approval
β β
β βΌ
β π Neon PostgreSQL
β MCP
βββββββββββββββββββ
This creates an important distinction:
Memory isn't only about retrieving old information.
It can also provide the history needed to identify recurring patterns.
π From Memory to Reflection
This is where the architecture becomes more interesting.
Traditional memory might answer:
"What happened previously?"
Reflection asks:
"What can we learn from what happened previously?"
DIAS explores that second question.
The conceptual flow is:
π» Agent Interaction
β
π Telemetry Captured
β
π§ Persistent Memory
β
π Reflection
β
π Recurring Pattern
β
π‘ Potential Improvement
This means previous interactions can become useful signals for future agent behavior.
ποΈ Example: Repeated Database Work
Consider a developer working on an application that repeatedly requires relational database operations.
Without persistent telemetry:
π» Database Task
β
π§ Manual Workflow
β
β
Task Completed
β
π Session Ends
The next session can repeat the same workflow.
With DIAS:
π» Database Task
β
π Telemetry Recorded
β
π§ Pattern Retained
β
π Repeated Behavior Detected
β
π Hindsight Reflect
β
π‘ Friction Identified
Now the system has additional information it can use to reason about the workflow.
π οΈ From Friction to Tool Evolution
This is where MCP becomes important.
If repeated database interactions suggest that the agent would benefit from a dedicated database capability, DIAS can stage the Neon PostgreSQL MCP server.
But there is an important safety boundary.
The agent should not simply be allowed to install or activate arbitrary capabilities without oversight.
DIAS therefore introduces a human approval step:
π Detect
β
π§ Reflect
β
π‘ Propose
β
π€ Human Approval
β
π οΈ Activate
β
β‘ Use
The idea is controlled adaptation, rather than unlimited autonomy.
π Before vs After
β Before DIAS
π¨βπ» Developer
β
π€ Coding Agent
β
ποΈ Repeated Database Work
β
π Session Ends
β
β Experience Lost
β
π Next Session Repeats
β
With DIAS
π¨βπ» Developer
β
π€ Coding Agent
β
ποΈ Database Interaction
β
π Telemetry
β
π§ Persistent Memory
β
π Hindsight Reflect
β
π‘ Friction Identified
β
π€ Human Approval
β
π οΈ Neon PostgreSQL MCP
The important change isn't simply:
"The agent remembers more."
It is:
Previous experience can become an input into future decisions.
π» How the Implementation Works
The DIAS repository contains the implementation of the memory and agent workflow.
π§ 1. Persisting Memory
β οΈ Replace the following placeholder with the actual DIAS code.
INSERT REAL HINDSIGHT RETAIN CODE FROM DIAS REPOSITORY
The important part to demonstrate here is how information is actually persisted into Hindsight.
π 2. Recalling Memory
β οΈ Replace with the actual DIAS recall implementation.
INSERT REAL HINDSIGHT RECALL CODE FROM DIAS REPOSITORY
This snippet should demonstrate how previously retained information becomes available to the agent.
π 3. Telemetry / Reflection
β οΈ Replace with the actual telemetry or Reflect implementation.
INSERT REAL DIAS TELEMETRY / REFLECT CODE
This is especially important because it demonstrates the bridge between:
π Observation
β
π§ Memory
β
π Reflection
β
π οΈ Adaptation
The submission guide specifically asks for 2β4 small real code snippets, so these should be taken directly from the actual repository rather than invented examples.
π€ Human-in-the-Loop Safety
Adaptive systems create another important question:
If an agent identifies a tool it needs, should it activate that tool automatically?
DIAS keeps a human approval boundary.
That gives the workflow an explicit control point:
π€ Agent observes
β
π System reflects
β
π‘ Potential capability identified
β
π€ Human reviews
β
π οΈ Capability activated
This makes the architecture more controlled.
The objective isn't to give an agent unlimited autonomy.
It is to allow the agent to identify potential improvements while keeping humans in the loop for capability changes.
πΈ Screenshots to Add
The submission guide asks for screenshots or images that show the system in action.
Add these underneath the relevant sections:
πΈ Screenshot 1 β DIAS Architecture
Show:
Agent β DIAS β Hindsight β Reflection β MCP
πΈ Screenshot 2 β Memory
Show the Hindsight memory/recall workflow.
πΈ Screenshot 3 β Telemetry
Show dias_telemetry or the relevant telemetry workflow.
πΈ Screenshot 4 β Tool Evolution
Show the Neon PostgreSQL MCP activation / approval flow if available.
π What I Learned
1οΈβ£ Persistent memory should be selective
An agent doesn't need to remember everything.
It needs to remember information that has future value.
2οΈβ£ Domain memory and telemetry are different
Project knowledge answers:
"What should the agent know?"
Telemetry answers:
"What patterns are emerging?"
Separating them makes the architecture easier to reason about.
3οΈβ£ Reflection is different from retrieval
Retrieval asks:
"What happened before?"
Reflection asks:
"What pattern can we learn from what happened before?"
That distinction is central to DIAS.
4οΈβ£ Tool evolution needs boundaries
Giving an agent more tools is relatively easy.
Giving it a controlled mechanism for recognizing when another tool may be useful is a different problem.
That is why the human approval boundary matters.
5οΈβ£ The goal isn't memory itself
The real goal isn't:
"Make the agent remember everything."
It is:
"Make previous experience useful."
β οΈ Limitations
DIAS is an exploration of this architecture, not a claim that persistent memory solves every problem with coding agents.
There are still important engineering questions around:
π§ deciding what information is worth retaining
π§Ή avoiding irrelevant memories
π handling outdated information
π measuring whether reflection improves outcomes
π determining when repeated behavior actually represents friction
π οΈ deciding which tool should be proposed
π€ maintaining appropriate human approval boundaries
Adding memory doesn't automatically solve these problems.
It creates another layer that the agent can use to reason about its previous experience.
π― Conclusion
The most interesting property of an AI coding agent may not be how much context it can process in one session.
It may be whether useful experience from previous sessions can change what happens next.
That's the idea explored with DIAS.
The architecture can be summarized as:
π§ Remember
β
π Observe
β
π Reflect
β
π οΈ Adapt
β
β‘ Execute
Hindsight provides the persistent memory and reflection foundation.
DIAS uses that foundation to explore an agent that can:
π§ retain domain context
π observe interaction patterns
π identify recurring friction
π‘ propose capability changes
π€ keep humans in the approval loop
The goal isn't an agent that remembers everything.
It's an agent that remembers what matters. π
π Resources
π» DIAS GitHub
https://github.com/Manibhushanamk/DEAL-INTELLIGENCE-AGENT-SKILL-DIAS-
π§ Hindsight GitHub
https://github.com/vectorize-io/hindsight
π Hindsight Documentation
https://hindsight.vectorize.io/
π Vectorize Agent Memory
Top comments (0)