Docs
Decisions and feedback
How Agent Memory records what you corrected, adopted and rejected, and how that changes search.
Saving conversations is half of it. Agent Memory also keeps what happened to an agent's output, so the next agent can start from your decision rather than from its first guess.
Three kinds of record
| Record | What it holds |
|---|---|
| Feedback event | The context, what the agent produced, how you reacted (corrected, adopted or rejected), the corrected version and the reason, with the agent, the workspace and the time. |
| Decision review | A later look at a feedback event: the final decision, the outcome and your confidence. If the verdict differs from the first one, the review marks it as reversed. |
| Preference pair | An accepted output and a rejected output for the same context, with a weight. |
Who writes them
Your agents do, through MCP tools. The first release of the apps has no screens for these records; they live in the data model, the CLI and MCP.
| Tool | Where | Records |
|---|---|---|
memory_create_feedback_event | MCP stdio | A feedback event |
memory_create_decision_review | MCP stdio | A decision review |
memory_create_preference_pair | MCP stdio | A preference pair |
memory_log_event | MCP stdio | Any other event, such as a checkpoint |
memory_feedback | Remote MCP | Whether a memory helped: accepted, rejected or corrected |
Pass source_event_id when you create a feedback event, so a resend is safe: the same value in the same workspace returns the existing event.
How they change search
Search counts these records. In cloud memory search, a memory's score rises with feedback that accepted it, reviews that judged it a success and preference pairs that chose it, and falls with the opposite. Search on your computer adjusts its ranking the same way from recent feedback, decision reviews and preference pairs. What you adopted moves up; what you rejected moves down.
Example
{
"input_context": "Add retries to the webhook sender",
"ai_output": "Retry every 30 seconds until it succeeds.",
"user_reaction": "Changed the retry policy",
"user_correction": "Use exponential backoff, at most 5 attempts. Don't retry 4xx.",
"corrected_output": "Exponential backoff, max 5 attempts, skip 4xx.",
"state": "corrected",
"reason": "A 4xx means the request is wrong; sending it again won't fix it.",
"agent_id": "codex",
"workspace": "payments-api"
}