Apply to my task
arXiv:2610.19659 ★ 94 Oct 14, 2026

Reply Requirements: How to Make an Agent Answer Clearly, in One Message at the End of Its Work

Key result

You simply won't be able to read more than half of AI agents' final replies: "result for crn_hierbm25_L, see R07." The Reply Requirements method gets you a reply from the agent that makes sense without decoding: the conclusion first, then what was done, and none of the agent's private labels. The trick: don't explain to the model that you haven't seen its work — give it a list of what the text must contain. A lone warning like "you haven't seen my files" changes almost nothing. A message with six points before the final answer cuts the share of unusable replies from 52% to 43%.

01

TL;DR

Reply Requirements is a short message you add right when the agent is about to write its final reply. It doesn't ask the agent to "be clearer." It lists what the reply must contain: the answer to your latest question first, what was done, the result, the next step, where to check, and a definition of every name you haven't seen. The second option: hand the draft to another model in a fresh chat. It rewrites the reply against the same requirements, seeing only what you saw.

The headline finding: you simply won't be able to read more than half of agent replies. The agent writes "result for crn_hierbm25_L, see R07, key reader_size: 70B." You've never seen those names. The agent made them up along the way or pulled them from its own notes and memory files. The task got done and the facts are right, but the reply is unusable. The longer the agent worked with tools, the worse the reply. Simply telling the model "the user hasn't seen your work" barely helps. What helps is a concrete list of what the text must include.

The method comes in two flavors. Option 1: right before the final reply, add a message with six requirements. Option 2: give the finished reply plus the work log to a second model with the same requirements, and let it rewrite. In the study, option 2 performed best.

Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

OPTION 1 (one chat, cheap):
  Agent finishes the work → you add a message with the requirements
  → agent writes the reply following the 6 points

OPTION 2 (two passes, stronger):
  STEP 1: Agent writes its reply as usual → draft
  STEP 2: New chat: your conversation + work log + draft + requirements
         → rewritten reply
  STEP 3: Check against the log: nothing lost, nothing invented

The 6 requirements: answer to the latest message → what was done → result → next step → where to check → definitions of every unfamiliar name.

03

Example in Action

Task: The owner of an Amazon store asks Claude Code to dig through the quarter's order export: why did conversion drop on the electronics product pages? The agent spent an hour crawling through files, running scripts and taking notes. It comes back with something like "for segment seg_B2 the effect is in variant v3_cut, see the table from run_14." You have no idea what seg_B2, v3_cut or run_14 are. So you add the requirements message.

Prompt (sent after the agent has finished working, before its final reply):

Write your final reply to me. Keep in mind: I have only seen my own messages
and your earlier replies. I have not seen your files, notes, script output,
or any names you made up while working.

The reply must contain, in this order:
1. A direct answer to my latest question: why conversion dropped
   on the electronics product pages.
2. What you did (2–4 bullets, no internal names).
3. The result: the key numbers and the conclusion.
4. The next step: what I need to decide or do.
5. Where to check: which file, sheet or report holds the supporting
   data. Give the path and what to look for.
6. A definition of every name, label, number or abbreviation
   I haven't seen. Better yet, replace it with a plain-words description.

Write in English.

Result: The agent opens with a direct answer to the question instead of a play-by-play of its work. Instead of "seg_B2" you get a description like "shoppers who came in from ads." Internal identifiers are either replaced with words or spelled out. At the end it tells you where the data lives so you can check it. In the study, this trick cut the share of unusable replies from about 52% to 43%, and replies had fewer errors and omissions.

04

Why It Works

The model's weakness. The agent writes its reply inside its own working context. That's where its notes, run names, source numbers and script outputs live. To the agent, all of that is "common knowledge." The model can't tell "I know this" apart from "the user knows this." So it keeps talking in its own working dialect. More than half of the invented labels were written into the agent's files and memory before it ever replied. Every new session drags those old labels back in.

The model's strength. It's good at following a concrete checklist. "Define every name I haven't seen" is a checkable action: go through the text and spell things out. "Keep the reader in mind" doesn't define any action like that. That's why the notice "the user has only seen their own messages" had almost zero effect, while the same notice plus six requirements made a noticeable difference.

How the method exploits this. The requirements go at the end, right before the reply, and each point closes off a specific type of failure. "Answer the latest question first" fixes replies that miss the point. "Definitions" fix invented labels and opaque jargon. "Where to check" swaps a "see R07" reference for a path you can actually open yourself. A second pass in a fresh chat works even better: the rewriter doesn't drag in working jargon because it sees only what you saw.

Control knobs: - The checklist → add your own items for the task ("risks," "what's still unknown"). Drop extras if the reply needs to be short. - Where the message goes → put it at the end, right before the reply. In the paper, what worked was a message at the point of reply. - The second pass → turn it on for long tasks with lots of tool calls, that's where failures pile up. - The work log → always give it to the rewriter, otherwise it may invent details. Then check the text against the log.

05

Prompt Template

Option 1. Requirements message (in the same agent chat/session, before the final reply):

Write your final reply to me. Keep in mind: I have only seen my own messages
and your earlier replies. I have not seen your files, notes, project memory,
tool output, or any names you introduced yourself while working.

The reply must contain, in this order:
1. A direct answer to my latest message: {my_latest_question}.
2. What you did.
3. The result.
4. The next step.
5. Where to check: the file path, sheet, section or command where
   the supporting data lives.
6. A definition of every name, label, identifier or abbreviation
   I haven't seen. Better yet, replace it with a plain-words description.

Write in {language}.

Option 2. The rewriter (new chat, a second model or the same one):

You are rewriting an agent's final reply for the client.

The client has seen only:
<conversation>
{my_messages_and_earlier_agent_replies}
</conversation>

The client has NOT seen the agent's work log:
<work_log>
{tool_calls_outputs_notes_files}
</work_log>

The agent's draft reply:
<draft>
{draft_reply}
</draft>

Rewrite the reply so the client can understand it from the conversation
and the text itself. The reply must contain, in this order:
1. A direct answer to the client's latest message.
2. What was done.
3. The result.
4. The next step.
5. Where to check the supporting data.
6. A definition of every name, number or abbreviation the client
   hasn't seen. Or replace them with a description.

Rules: do not add any facts that are not in the log. Do not drop key
results from the log. Reply language: {language}.

What to fill in: {my_latest_question} is your last message. {language} is the language you read in. For option 2, paste in the conversation, the log (an export of the agent's steps or its notes) and the draft.

🚀 Quick start — paste into the chat:

Here is a template of requirements for an agent's reply. Adapt it to my task: [your task].
Ask me questions to fill in the fields.

[paste the template above]

The LLM will ask what you asked the agent to do, what language you read in, and what you need to verify in the result. It needs that to make the six points match the failures you actually run into. It'll keep the template's structure and tailor it to your task.

06

Limitations

⚠️ The effect is moderate: Requirements cut the share of unusable replies from 0.52 to 0.43. That's better, but about forty percent of replies are still hard to understand. The method doesn't fully solve the problem.

⚠️ A "reader warning" doesn't work: If you write "the user can't see your work" in the system prompt, replies barely change. You need a concrete list of contents, and it has to land at the moment of the reply.

⚠️ Rewriting can distort facts: The researchers checked every rewritten reply against the work log. A rewriter without the log risks losing results or adding extras. Rewrite with the log, then verify.

⚠️ You need access to the log: The second pass requires pulling the work log or notes out of the agent. In a chat without tools that's easy; in an off-the-shelf agent you'll have to copy it by hand.

⚠️ Lab conditions: The client was played by a script with short directives. The reader was a reader model, validated against humans at the level of agreement of an individual annotator. A real client with different context may see failures differently.

⚠️ Incomplete details: The available text doesn't include the verbatim prompts from the appendix, so the templates are reconstructed from the paper's description.

07

How It Was Studied

The idea was simple: an agent reports to a person who hasn't seen its work, and that person has to understand the report. The researchers took 8 models from 7 families. Each one worked through four projects: two research projects and two business ones, such as changing a subscription price and redesigning onboarding. That produced 32 long sessions and 480 replies. The client was played by a script: 15 short messages across three sessions, and between sessions the agent saved notes into "project memory."

Reading the replies was handed to a reader model. It steps into the client's shoes, asks questions about anything unclear, and looks for answers in the reply text and the visible conversation. No answer means an information gap. The reader was validated on 300 replies: five humans labeled them independently, and the reader's agreement with the majority (κ = 0.60) matched the humans' agreement with each other (0.63).

Result: 54% of replies were unusable; the best model failed 30% of the time, the worst 82%. The surprise: Claude Opus 5 did worst and GPT-5.6 Sol did best, with GPT producing no invented labels at all. After three or more tool-using turns, failures hit 70%, versus 48% with no tool calls. Over 53% of invented labels had been written by the agent into its files or memory before it replied. The takeaway: the reply speaks the agent's working dialect because that dialect is already sitting in its context.

Next, on 256 reply points, they compared six ways of rewriting the reply. A plain "the user has only seen their own messages" gave 0.50 versus 0.52 (within the noise). The requirements message gave 0.43, and a fresh chat with requirements gave 0.42. A fresh chat without requirements gave only 0.47. A second model rewriting the reply against the requirements brought the share down to 0.36, and a blind human comparison confirmed it. The practical takeaway: what matters is the concrete list of requirements, not the separate pass by itself.

08

Original from the Paper

The full prompts are in the appendix (not in the available text). Here is how the main text describes the requirements:

The requirements condition appends a message at the point of the reply
that repeats this statement and specifies what the reply must contain:
an answer to the latest message first, what was done, the result,
the next step, where the evidence can be checked, and a definition
of every name the user has not seen.
Notice condition: adds to the system prompt a statement that the user
has seen only their own messages and the agent's earlier replies.

Context: This is how the researchers phrased the two instructions. The second one ("requirements" at the end) worked; the first one ("notice" in the system prompt) had no significant effect.

09

Adaptations and Extrapolations

💡 Adaptation for CLAUDE.md / AGENTS.md: move the six points into a standing instruction for the agent. The link to the paper's findings is indirect: in the study, requirements were added at the point of reply, not in an instructions file, so check that the agent still follows them at the end of long tasks.

## Final reply to the user
The user cannot see your files, notes, tool output,
or names you made up yourself. Every final reply contains,
in order: a direct answer to the latest question; what was done; the result;
the next step; where to check (file path or command); a definition
of every name the user hasn't seen.
Do not use internal identifiers (run_14, R07, seg_B2) without spelling them out.

🔧 Technique: rename labels at write time → less jargon in memory. The paper's data suggests that some labels come from files and memory. You can add to the instruction: "When you write notes to a file, put a plain-words explanation next to every label." This is my extrapolation; the paper did not test this intervention.

10

Resources

Paper title: Measuring and Reducing Unusable Replies of LLM Agents Authors: Yilin Jiang, Fei Tan, Xuanyu Yin, Guanchu Wang, Xia Hu, Yutao Yue Affiliations: East China Normal University; The Hong Kong University of Science and Technology (Guangzhou); Shanghai Artificial Intelligence Laboratory; Institute of Deep Perception Technology, JITRI Related ideas from the paper: decontextualization (Choi et al., 2021; Newman et al., 2023), common ground in dialogue (Clark & Brennan, 1991; Shaikh et al., 2024).

Research digest

Key result

You simply won't be able to read more than half of AI agents' final replies: "result for crn_hierbm25_L, see R07." The Reply Requirements method gets you a reply from the agent that makes sense without decoding: the conclusion first, then what was done, and none of the agent's private labels. The trick: don't explain to the model that you haven't seen its work — give it a list of what the text must contain. A lone warning like "you haven't seen my files" changes almost nothing. A message with six points before the final answer cuts the share of unusable replies from 52% to 43%.

Principle

The method comes in two flavors. Option 1 (one chat, cheap): the agent finishes its work → you send a message with six points → it delivers a reply that follows the list. Option 2 (two passes, stronger): the agent writes a draft → a new chat gets the conversation, the work log, the draft and the same points → a rewritten reply → you check it against the log. Six points, strictly in this order: answer to the latest question, what was done, result, next step, where to check, definitions of unfamiliar names. Each point is a checkable action, not a wish. "Define every name I haven't seen" is something the model can do: go through the text and spell things out. "Keep the reader in mind" is not. It's like a pilot's checklist versus a parting "fly safe." The second pass works even better because the rewriter sees only what you saw. It simply doesn't have the working jargon.

Why it works

The agent writes its reply buried in its own pile of notes: run names, source numbers, script output. To the agent, all of that is common knowledge. The model can't tell "I know this" apart from "the user knows this." So it keeps talking in its own working dialect. Most of the invented labels were written into the agent's files and memory before it replied. Every new session pulls them back in. The longer the tool work, the worse the reply. The notice "the user hasn't seen your work" did almost nothing, while the same notice plus six points made a noticeable shift. What helps isn't awareness of the problem but a concrete list at the point of reply. "Where to check" swaps "see R07" for a path you can open yourself. "Definitions" catch the labels the agent coined along the way. The effect is moderate. About 40% of replies are still hard to understand. It was tested with a scripted client and a reader model, not live humans. The paper doesn't include verbatim prompts; the templates are reconstructed from its description.

When to apply

Tool-using agents (Claude Code, Cursor and the like) → long tasks: going through files, analyzing data exports, research. Especially when the agent made dozens of calls and came back with a reply in its own internal dialect. The second pass belongs exactly where failures pile up. NOT a fit for short chats without tools: there's nothing there to be confusing. Don't expect miracles — this is a drop from 52% to 43%, not "problem solved." And don't trust a rewriter without the work log either: it may lose results or make things up.

Mini recipe

1. Wait for the work to finish: let the agent wrap up, but don't ask for the final reply yet. 2. Send the requirements message: in the same chat, right before the reply. First say that you've only seen your own messages and earlier replies. Then give the six points in order. 3. Plug in your latest question: point 1 must quote it verbatim, or the agent will start with a play-by-play of its work again. 4. Tailor the points to the task: add "risks" or "what's still unknown." Drop extras if you need a short reply. 5. For long tasks, turn on the second pass: export the agent's work log or notes. Open a new chat and give the rewriter the conversation, the log, the draft and the same points. 6. Forbid inventing: in the rewriter's rules write "do not add facts that aren't in the log, do not drop key results." 7. Check the text against the log: run through the numbers and conclusions. Is everything there, and was nothing added?

Examples

[BAD]: `Write your final reply clearly, I haven't seen your work` The agent replies: "for segment seg_B2 the effect is in variant v3_cut, see the table from run_14." No idea what that means. [GOOD]: `Write your final reply to me. I have only seen my own messages and your earlier replies. I have not seen your files, notes, script output, or any names you made up while working. The reply must contain, in this order: 1. A direct answer to my latest question: why conversion dropped on the electronics product pages. 2. What you did (2-4 bullets, no internal names). 3. The result: the key numbers and the conclusion. 4. The next step: what I need to decide or do. 5. Where to check: the file, sheet or report and what to look for in it. 6. A definition of every name, label or abbreviation I haven't seen. Better yet, replace them with a plain-words description. Write in English.` The agent opens with a direct answer. Instead of "seg_B2" it writes "shoppers who came in from ads." At the end it gives the path to the file with the data to check.

In plain words

When an autonomous AI agent spends an hour digging through files and code, it gets completely lost in its own context. At a basic level, the model can't tell its internal scratch work apart from what the user actually knows. To it, helper variables, logs and intermediate exports are just obvious stuff. So instead of a clear conclusion, it dumps on you an unusable soup of technical labels it's been stewing in the whole time.

It's like dropping your car off at the shop, and the mechanic walks out and says with a straight face: "on unit seg_B2 the valve from run number 14 is blown." You stand there blinking, trying to figure out the one thing that matters: is the car going to drive or not? The mechanic technically did a ton of work, but totally forgot to switch from shop jargon to plain human language.

Asking the model to "write more clearly" is a dead end. What actually works is Reply Requirements — a firm nudge right before the reply is generated. You demand a specific structure: a direct answer to the question on the first line, the bare result, the next step and a mandatory definition of every new term. The second option is to hand the draft to an isolated model in a clean chat that sees only the conversation history and translates the technical gibberish into plain language.

The research tested this on coding and e-commerce data, but the principle is completely universal. Any complex agent — a financial analyst, a deep-research bot or a competitor scraper — instantly catches this curse of knowledge. The more files and scripts the model churns through, the higher the odds you get useless junk instead of value at the end.

The bottom line: agents are great at digging, but they're terrible at packaging the results. Stop counting on their built-in common sense — put a strict final-reply protocol in place or keep a translator model on standby. Otherwise you'll spend hours guessing what the heck is hiding behind yet another triumphant report.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on Reply Requirements: How to Make an Agent Answer Clearly, in One Message at the End of Its Work arXiv:2610.19659

Sign in to apply this study New accounts get 50 free credits.