Skip to content
Back to Blog
July 30, 2026

Agentic Memory: How Our AI Remembers Your Travel Preferences

The infrastructure behind persistent, context-aware AI conversations for travel planning — session state, long-term memory, and privacy-safe personalization.

Agentic Memory: How Our AI Remembers Your Travel Preferences
M

"I always prefer window seats."

A traveler says this once, in their first conversation. Two months later, when they book a completely different trip, the agent selects a window seat without being asked. The traveler doesn't notice, which is the point. Good personalization is invisible. It feels like the agent just knows you.

That "just knowing" is powered by an agentic memory system that stores preferences, retrieves them contextually, and applies them during the agent's reasoning process. It's the infrastructure layer that transforms a stateless chatbot into a personal travel assistant that gets better over time.

Why stateless AI fails for travel

Illustration for this section

Most AI chat products are effectively stateless. Each conversation starts fresh. The model has no memory of previous interactions. If you told it your dietary preferences last week, it doesn't know them this week.

For simple question-and-answer use cases, this is fine. For travel planning, it's a dealbreaker.

Travel planning is iterative. It happens across multiple conversations over days or weeks. You research destinations in one session, compare flights in another, finalize hotels in a third. If each session starts from zero, you repeat yourself constantly. "I'm going to Tokyo." "I prefer direct flights." "I need to be back by the 15th." Every. Single. Time.

Travel planning is also deeply personal. Your seat preference, dietary needs, airline loyalty programs, budget range, accommodation style (boutique vs. chain, city center vs. quiet neighborhood), and travel pace (packed itinerary vs. relaxed) are relatively stable preferences that shouldn't need to be re-stated every conversation.

An agent without memory treats every traveler the same. An agent with memory treats each traveler as an individual.

Three layers of memory

Our memory system operates at three time scales.

Session state is the short-term memory within a single conversation. It tracks what the traveler has said, what the agent has responded, which tools have been called, and what results have been returned. This is the context that lets the agent handle follow-up questions ("What about the later flight?" makes sense only if the agent remembers presenting flight options).

Session state lives in our cache layer for fast access. It has a TTL tied to session activity. Active conversations keep the state fresh. Inactive sessions expire after 30 minutes.

Conversation history is the medium-term memory across conversations within a trip planning context. The conversations related to a specific trip are linked through the trip entity and its associated chat threads. When a traveler starts a new conversation about a trip they've been planning, the agent can load relevant context from previous conversations.

Conversation history lives in the database. Chat messages are persisted with their thread and trip associations. The agent loads recent conversation history when a traveler resumes planning.

Long-term memory is the persistent knowledge about the traveler that spans all trips and all time. Seat preferences, dietary requirements, home airport, airline loyalty programs, travel style, budget patterns. This is the information that the agent should always know, regardless of which trip is being discussed.

Long-term memory is stored in both our Preference model (explicit preferences the traveler has stated or confirmed) and in our agentic memory service (implicit preferences learned from behavior patterns across conversations).

Memory retrieval and relevance

Supporting diagram

Having memory is only useful if the right memories are retrieved at the right time. When a traveler asks about flights to Barcelona, the agent needs their seat preference and airline loyalty program. It doesn't need their hotel preferences in Tokyo from last year.

The memory retrieval process works like this:

  1. The traveler sends a message.
  2. Before the agent starts reasoning, we retrieve relevant memory: explicit preferences from the Preference model, recent conversation context from the current thread, and relevant long-term memories from the agentic memory service.
  3. The retrieved memory is injected into the agent's context alongside the user's message.
  4. The agent reasons with the full context: the current query plus relevant history and preferences.

The agentic memory service handles relevance ranking. When we query it with the current conversation context, it returns memories scored by relevance. A memory about seat preferences scores high when booking flights. A memory about restaurant preferences scores high when looking for dining options. The scoring ensures the agent's context window is used efficiently, filled with relevant information rather than everything the agent has ever learned about the traveler.

Learning new preferences

Memory isn't just retrieved. It's also accumulated. When a traveler expresses a preference during conversation ("I don't like connecting through that airport"), the agent records it.

Explicit preferences go directly to the Preference model. "I always want aisle seats" becomes a structured preference record with a category (seating) and a value (aisle).

Implicit preferences are more subtle. If a traveler consistently books boutique hotels over chains, the pattern is captured over time. The agentic memory service identifies and stores these behavioral patterns, which the agent can then apply to future recommendations.

We're careful about the confidence level of inferred preferences. A traveler who chose a boutique hotel twice might genuinely prefer them, or they might have been choosing based on price or location those specific times. We don't apply inferred preferences with the same confidence as explicitly stated ones. The agent might suggest boutique options first while still presenting alternatives, rather than filtering out chains entirely.

Privacy considerations

Persistent memory about travelers raises real privacy questions. What do we remember? Who can access it? How long do we keep it? Can the traveler control it?

Our approach:

The traveler owns their memory. They can view what the agent knows about them, edit or delete specific memories, and clear all memory entirely. This is surfaced in the app's profile settings, not buried in a privacy policy nobody reads.

Memory is scoped to the traveler. The agent's memories about one traveler are never accessible to another traveler, even in shared trip contexts. Co-travelers on the same trip don't see each other's preference profiles.

Sensitive data has extra protection. Passport numbers, payment details, and other sensitive information stored in the memory system are encrypted at the field level and have tighter access controls than general preferences.

Memory can be forgotten. If a traveler requests deletion of their data, their memory profile is purged. The agent returns to a blank slate for that traveler. This is a compliance requirement (right to deletion) but also a trust feature.

The cost of memory is real. Retrieving and injecting memory context adds tokens to every query, which increases inference cost. We monitor the ratio of memory tokens to response quality improvement and tune the retrieval to maximize the personalization benefit per token spent.

Building agentic memory

If you're implementing memory for an AI product, the key architecture decisions are:

Separate session state from long-term memory. Session state needs to be fast (cache) and ephemeral (TTL). Long-term memory needs to be persistent (database) and queryable (relevance ranking).

Invest in relevance ranking for memory retrieval. Dumping all known memories into the agent's context wastes tokens and confuses the model. Retrieve only what's relevant to the current query.

Let users control their memory. Transparency and control build trust. A traveler who knows they can delete their memory is more comfortable with the agent learning about them.

Start with explicit preferences. "I prefer window seats" is a clear, actionable preference. Implicit behavioral learning is powerful but harder to get right. Start with what travelers tell you directly, and add behavioral inference later.


Nowah is an AI travel agent that searches and books real flights and hotels through conversation — no filters, no thirty open tabs. Plan your next trip.

Share this article

Ready to Plan with Nowah?

Bring the idea. Nowah will help turn it into a trip.

Try Nowah