Field note progress0%
← All field notes

Architecture / 2 min

LLMs are stateless. Production agent systems should preserve context.

A production agent needs explicit session, user, release and tool context so teams can reconstruct behavior and evaluate outcomes over time.

Last reviewed: September 2026

An LLM call receives an input and returns an output. The production system around it is responsible for continuity: session state, user identity, tool results, permissions, releases and the outcome that followed.

Context has two audiences

Runtime context helps the agent act. Observability context helps the team understand what happened afterward. They overlap, but they are not identical.

The agent may need the current cart, policy or repository state. The observability system needs stable identifiers, timing, model and tool spans, environment, release, validated tool arguments, client-visible results and outcome fields. Without them, a trace is an isolated event.

Preserve relationships, not just payloads

The most valuable fields are often relational:

  • Which user and session produced this call?
  • Which agent or MCP server handled it?
  • Which parent request caused the tool invocation?
  • Which release, prompt or model was active?
  • What result did the client receive?
  • Did the workflow achieve a measurable outcome?

These relationships make it possible to reconstruct a complete journey, compare cohorts and determine whether a recurring issue changed after a deploy.

Use explicit identity boundaries

Stable identity does not mean exporting every personal field. Prefer pseudonymous identifiers when they are sufficient. Document which tool arguments and results may contain personal data, customer data or source code. Add redaction where needed and obtain explicit consent before expanding telemetry.

Open standards keep the system portable

OpenTelemetry traces ↗ provide a vendor-neutral model for spans and context propagation. Existing application traces can be routed to more than one backend. MCP servers can use the same foundation for compatible call-level telemetry while keeping implementation-specific details in the maintained plugin.

Flowlines consumes that production evidence and connects it across sessions, users, intents, issues and outcomes. The model call remains stateless. The system becomes understandable because its relationships are explicit.

Review the integration paths or read the MCP observability guide.

Keep reading

Architecture

What is behavioral observability?

→
MCP observability

MCP Observability: How to Monitor an MCP Server in Production

→
MCP analytics

MCP Analytics: How to See What Users Are Actually Doing With Your MCP Server

→

Use Flowlines with your assistant

Understand what happens across your agent sessions.