Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk4 min

Building an AI Agent That Never Forgets a Promise

Chat history isn't memory. Here's how to build an agent that tracks promises across sessions with a structured record, explicit read/write steps, user correction and tests.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An agent that reliably tracks promises needs an explicit, durable commitment record that it reads and updates on every run. A long chat transcript is not enough. Keep two things apart: conversational continuity (resuming the current thread) and cross-session memory (knowing what is still owed next week, in a brand-new conversation). Then make the stored record inspectable and correctable by the user. “Never” is a design target, not a guarantee, so you also need tests that show where the agent fails.

Why chat history alone fails

If you ask how an AI agent can remember things across sessions, the first answer most people reach for is “keep the conversation.” That solves a different problem. LangGraph’s persistence documentation separates checkpointers, which save state for a single thread, from stores, which hold application-defined information that persists across threads. The OpenAI Agents SDK follows a similar split. Its sessions keep conversation history for one session across runs, while its sandbox memory feature saves reusable lessons in files and is distinct from session history.

As an Amazon Associate I earn from qualifying purchases.

Neither mechanism knows what a promise is. Your application has to decide what counts as one, which fields to save, and how to find and update the record later. The framework documentation covers the storage primitives. The schema and workflow below are design recommendations built on them, not anything those frameworks mandate. I have not tested this design in a running agent, and I found no published benchmark for promise recall or memory reliability, so none is claimed here.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 1: Define the promise record

Use a schema your application owns rather than trusting the model’s implicit recollection. A minimal version:

  • id: stable identifier, so updates modify a record instead of creating duplicates.
  • commitment: short, faithful wording of what was promised.
  • owner and recipient: who must act and who it is owed to, when known.
  • due_at or trigger: only if the user actually stated one.
  • status: open, fulfilled, canceled, changed or needs_clarification.
  • source: the message or run identifier, or a user-approved reference, so the original statement can be shown.
  • created_at, updated_at.
  • confidence or an explicit “inferred” flag, if the model extracts candidates.

Separate what the user said from what the agent inferred. “I’ll try to send that soon” is not a firm promise with a Friday deadline. Either keep the uncertainty in the record or ask the user to confirm before saving it as a commitment.

Step 2: Split thread state from durable state

Thread continuity

Use a checkpointer (LangGraph) or a session (OpenAI Agents SDK) so the agent can resume the current conversation or workflow. This is short-term memory.

Cross-session commitments

Put the promise record in a durable store or an ordinary database, so any later thread or session can read it. LangGraph’s store and the long-term memory described in the LangGraph.js documentation fit here. A plain application database works too, and it may be the better choice if other systems need to read the same records.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 3: Make reads and writes explicit workflow steps

  1. Detect. When a message may contain a commitment, have the model extract a candidate and keep the exact source text.
  2. Confirm if unclear. If the owner, recipient or date is missing or ambiguous, mark the record needs_clarification and ask.
  3. Retrieve. At the start of each run, load the open commitments relevant to this user and context before the model responds.
  4. Update, don’t duplicate. When the user says “done” or “push that to Monday,” match the existing record and change its status or date.
  5. Validate deterministically. Let the model interpret natural language, but check dates and status transitions in ordinary code. For example, reject moving a canceled record to fulfilled without confirmation. The database, not the model, is the source of truth.

Loading open commitments on every run, rather than waiting for the model to decide to look them up, is the main reason a promise is not “forgotten.” A retrieval the model must remember to make is just another thing it can forget.

Step 4: Design for correction, retention and access

A forgotten promise is a reliability bug. A wrongly remembered one is also a bug, and it can be worse, because the agent will confidently nag about something that never happened. So treat the memory as a maintained record, not an append-only summary:

  • Let users list, edit, mark fulfilled, cancel or dispute any record, and show the source statement beside it.
  • Record changes as updates with timestamps instead of silently overwriting history.
  • Treat stored promises as retained user data. OpenAI’s sandbox memory guidance says to apply the same sensitivity and retention practices you use for workspace data to generated memory artifacts. Define who can read records, how long they live, and how deletion works under your deployment’s data policy.

Step 5: Evaluate behavior, not storage

A successful database write does not prove the agent remembers correctly. Build test conversations in which a commitment is explicit, implicit, revised, canceled, fulfilled or contradicted. Then start a fresh thread and ask what is still open. Track these measures:

Measure What it catches
Capture precision Casual remarks wrongly saved as promises
Capture recall Real promises never saved
Retrieval correctness Open items missing, or wrong user’s items surfaced, in a new session
Stale-record rate Fulfilled or canceled items still reported as open
Incorrect assertion rate The agent claiming a promise or date the user never gave

These are proposed dimensions. Set your own thresholds, and rerun the suite whenever you change the model, prompt or schema.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Framework-managed persistence or your own database?

For a prototype, compare the two on five axes:

Axis Framework-managed (checkpointer, session, store) Application-owned database
Scope Checkpointers and sessions are per thread or session; stores span threads Whatever you design, including sharing with other systems
Durability and recovery Depends on the backend you configure Your existing backup and recovery practices apply
Inspectability and correction Possible, but you build the interface Standard queries and admin tools
Retention and access control You must map your policy onto the framework’s storage Uses your existing controls
Operational complexity Lower to start Higher up front, more control later

The deciding question is whether the promise record must be shared across sessions and systems, and how your application manages user data. Frameworks and APIs change, so check current documentation for your version before committing.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.