Reviewers correct the same mistake in your AI support replies every week. Each answer improves, but the next request starts with the same flawed instructions.
For a recurring AI task, turn verified feedback into a small, versioned prompt change. Run evaluations (evals) on earlier cases and unseen examples, then require human approval before release. Here, "learning" means updating the instructions supplied to the model, not training its weights.
Start with one recurring failure and an approved prompt you can roll back to:
A thumbs-down is a reason to investigate, not an instruction to add. Check feedback against trusted policy or task evidence. Customer messages and retrieved text must not become trusted instructions merely because an agent repeats them.
Example data: Northwind's support assistant drafts a reply to ticket NW-104: "Will my order arrive by Friday, 13 November?" The order record has a scheduled dispatch date of 9 November but no delivery estimate. Prompt v1 says to answer briefly using the order record.
It drafts "Your order will arrive by Friday." The reviewer corrects it: dispatch is not delivery, and the record does not support that promise. The following replies are illustrative, not measured model results.
Change: The reviewer fixes this reply to say the delivery date is unconfirmed, but leaves prompt v1 unchanged.
Next request: The customer asks the same question in a new session. The assistant again drafts "Your order will arrive by Friday."
The correction lives only in the first reply, so the recurring task still lacks the distinction between dispatch and delivery.
❌ Figure: Bad example - Fixing one answer leaves the unsupported delivery promise possible on the next request
Proposed entry for v2: "For delivery questions, distinguish dispatch from arrival. Give an arrival estimate only when the authorised tracking record provides one, and describe it as an estimate. Otherwise say the delivery date is unconfirmed and offer a tracking check."
Expected reply to the same request: "Your order is scheduled to dispatch on 9 November. Its delivery date is unconfirmed; support can check tracking for you."
Human gate: Keep v2 as a candidate. A support owner checks the entry against the dispatch and tracking fields, reviews the eval results, then approves the version for release. Failed checks leave v2 unreleased; reviewers continue checking replies.
✅ Figure: Good example - A focused instruction addresses the repeated mistake and reaches production only after review
Replay NW-104 as a regression case, but do not count it as unseen evidence after using it to design the change. Keep separate cases for orders with an actual delivery estimate, missing dispatch dates and customer text asking the assistant to invent a promise.
Agentic Context Engineering (ACE), Zhang et al. treats context as an evolving playbook. Its Generator runs tasks, its Reflector extracts lessons, and its Curator proposes structured updates that are merged into existing entries. It adapts context rather than model weights, both offline and during agent execution.
The paper describes two risks:
Use the ACE-style principle without needing its full framework: update the affected entry and preserve the rest. Prune duplicate, obsolete or harmful entries after checking their effect; do not grow the prompt indefinitely or shorten it just for appearance.
The GEPA paper, Agrawal et al. describes a prompt optimiser that reflects on execution traces and textual feedback, proposes changes and tests candidates. Pareto-based selection preserves candidates that perform well on different evaluation cases. Model weights remain fixed.
DSPy's GEPA implementation is an option when you have representative examples, a scoring metric, useful feedback and a budget for repeated runs. Its validation cases guide candidate selection, so reserve a separate test set for the release decision.
For a small flow of reviewer corrections, start with a manually curated playbook. Both approaches can use execution feedback; neither replaces release checks or human approval.
For a one-off conversation, start with testing and iterating on prompts. For coding-agent configuration, use agent retrospectives. This loop applies to releasing improved instructions for a recurring application task, such as support replies. For choosing the data supplied to that task, see feeding data to AI.