Skip to Content
DocsProductionAuto-extract observability

Auto-extract observability

AutoExtractMemory runs a small LLM extraction pass after every agent.run() to pull structured (subject, predicate, object) facts into the bi-temporal store. It’s on by default for real network adapters, which means it’s also on your bill. You should know when it fires and how long it takes.

Telemetry signals

Two signals are emitted when Agent(telemetry=...) is wired:

MetricTypeTagsUse
loom.auto_extract.duration_mshistogramuser_id, status (ok/error)Latency budget per tenant
loom.auto_extract.invocationscounteruser_id, statusFailure rate; cost attribution

Startup notice

A one-time-per-process INFO log notice tells you when the default-on heuristic fires:

INFO loomflow.memory.auto_extract: AutoExtractMemory enabled by default for this model class. Each remembered episode triggers a small extraction call to pull (subject, predicate, object) facts. Pass Agent(auto_extract=False) to disable, or Agent(auto_extract=True) to silence this notice.

Toggling

To disable for cost reasons, pass auto_extract=False:

agent = Agent("...", model="gpt-4o", auto_extract=False)

To enable explicitly (and silence the startup notice):

agent = Agent("...", model="gpt-4o", auto_extract=True)
Last updated on