Skip to content
EndueEndue
Docs

Testing and iterating

An agent is tuned by iteration: change one thing, run the same task, compare. Endue keeps prompt revisions so the “get back” step is always available.

Whenever an agent is nearly right. The failure mode this page exists to prevent is the common one: three changes at once, the agent gets better in one way and worse in another, and nothing can be attributed to anything.

  1. Keep a task you re-run. Two or three real requests you have asked before, whose good answer you can recognize immediately. This is your test set. Without one, “better” is a feeling.
  2. Change one thing. The prompt, or the model, or a binding — not all three.
  3. Run the same task in a new conversation. A new conversation matters: an existing thread carries history that changes the answer independently of your edit.
  4. Compare against what you saw before. Look at the tool calls, not only the final text — that is where a prompt change usually shows up first.
  5. Keep it or roll back. If it is worse, restore the previous prompt revision and try a different change.

Work down this list. The earlier items move results more, per unit of effort.

TryWhen the symptom is
Sharpen “what a good result looks like” in the promptThe answer is right but not usable — wrong format, wrong depth, buries the point
Add a hard ruleIt repeats a specific mistake
Bind a connector or skillIt guesses at something it should look up
Turn off a built-in tool groupIt reaches for a capability that is noise for this agent
Raise reasoning effortIt skips steps in long tasks
Change the modelEverything above is right and it still cannot follow the task
Split into two agentsThe prompt has grown to cover two unrelated jobs

Most “the agent is bad” problems are visible in the run itself.

  • It called no tools. It thinks it should answer from memory. Usually a prompt problem, sometimes a missing binding.
  • It called the right tool with bad arguments. It is missing context — say it in the prompt, or store it in memory.
  • It called tools in a loop without converging. The task is underspecified, or the effort setting is too low for its length.
  • It asked you something it should know. That fact belongs in the prompt or in memory.
  • There is no built-in evaluation harness or automated scoring. Comparison is by hand, against tasks you choose.
  • There is no draft mode: an agent has one live configuration, and changes take effect on its next run. To try something risky without disturbing an agent you rely on, build a copy and experiment on that.
  • Revision history covers the system prompt. Other settings — model, bindings, tool groups — are not versioned, so note what you changed.