Post-tool-call validation

AI Agent Tool-Call Reliability

When your agent calls a tool and gets a response back, the hard question isn't whether the call succeeded — it's whether the response is reliable enough to act on. Those are different questions, and only one of them is answered by an HTTP 200.


Transport success is not semantic reliability

A tool call succeeds at the transport level when the API endpoint responds without an error. The request reached the server, was processed, and returned a result. This is what a green status code tells you.

What a green status code does not tell you: whether the response contains reliable information, whether the structure of the response matches what downstream code was built to expect, whether the agent is making the same call it just made, or whether the response exhibits patterns associated with increased risk of unreliable downstream output.

AI agents are particularly exposed to this gap. A model receiving a response — even a malformed, empty, or hedging one — will typically try to use it. It may produce plausible-sounding values to fill gaps it noticed. It may not recognize that the response contradicts a parameter it passed. A validation step inserted before the agent acts can surface these conditions while the information is still isolated.

The failure modes that live between a successful call and a reliable response

Several distinct problems can appear in a tool response that a successful status code leaves completely invisible. ReliAgent publicly documents eight:

Hallucination risk signals

A tool response may contain assertive knowledge-claim phrasing or hedging language co-occurring with numeric values. These are patterns in the response associated with increased risk of unreliable downstream output — not a determination of whether the values are factually correct.

Sycophantic gap-filling

When a tool response has gaps, a model-backed component in the pipeline may produce plausible-sounding content to fill those gaps rather than admitting what is missing. This is detectable in the response text itself through direct agreement-and-backtracking language, unsupported consensus claims, or overclaiming phrasing.

Schema violations

Your downstream code was built to expect a response of a particular shape. A response that deviates — wrong types, missing required fields, count fields that disagree with the list they describe — will cause failures downstream, either loudly or silently.

Repetition loops

An agent making the same tool call with the same parameters again and again may be receiving identical responses each time. Neither the call nor the response looks broken in isolation. The problem is the pattern: no progress is being made.

Context degradation

In long multi-step workflows, response quality can slip as the context window fills. Parameters present in earlier calls to the same tool begin disappearing. Detecting this requires comparing calls across a session.

Confidence collapse

If your agent reports its own confidence score, a declining trend across consecutive calls is a leading indicator of a session going wrong — not a lagging one.

Parameter drift and timeouts

A tool called again with the same keys but mostly different values — without an apparent reason for the change — is worth examining. A call that took significantly longer than recent averages for the same tool is worth flagging before the result is acted on.

Post-tool-call validation as an architectural layer

The general approach is to insert a validation step between the tool response and the point at which the agent acts on it. That step receives the tool name, the parameters that were passed, the raw response, and available metadata. It checks the response against a set of known failure-mode patterns and returns a reliability assessment before the agent's next turn begins.

This is a different layer from input validation (which checks what the agent intends to send) and from output filtering (which checks what the model says after acting on a tool result). It operates specifically on the tool response itself, while the information is still isolated.

Agent

Makes a tool call

Tool is called with parameters. Response returns.

ReliAgent

Validates the response

Eight publicly documented reliability checks run against the call record. A status and report are returned.

Orchestrator

Acts on the reliability report

Proceed normally, inject a directive, reset state, or switch tools — based on the verdict.

Where ReliAgent fits

ReliAgent implements this validation layer as an API. After your agent's tool call returns, you POST the call record — tool name, parameters, response, and latency — to /run. ReliAgent runs eight publicly documented reliability checks and returns an overall status (pass, warn, fail, or critical), a list of detected failure modes with confidence scores, and concrete remediation steps for each.

All detection is pattern and heuristic based — ReliAgent does not call out to any external model to judge the response. Schema validation runs only if you supply an expected_schema in the request, and covers a documented subset of JSON Schema keywords. History-dependent checks compare each call against your own recent call history, tracked per session.

ReliAgent returns a reliability report. What your orchestration layer does with that report — proceed, pause, escalate — is your decision.

Who this is appropriate for

Post-tool-call validation is most valuable when tool responses feed directly into downstream actions or structured pipelines, when tool calls are made by a model-backed component that may gap-fill rather than admit uncertainty, or when agent sessions run long enough that context degradation and repetition become realistic failure modes. If your agent calls one deterministic, well-validated internal tool in a short supervised session, this layer may not be warranted.

Validated by Basanos
ReliAgent has been evaluated through the Basanos validation program across 4,200 trials, including cross-model testing. Results, methodology, corrections, and limitations are publicly available.

Pricing and getting started

ReliAgent costs $0.01 per validated call, with no subscription. Your first 15 calls are free — no account required, just solve a short proof-of-work challenge for a trial token. Payment on the paid tier is settled in USDC on Base via x402.