Why Does an AI Agent Stop Early When a Tool Returns Partial Success?

Eva Wong is the Technical Writer and resident tinkerer at ZimaSpace. A lifelong geek with a passion for homelabs and open-source software, she specializes in translating complex technical concepts into accessible, hands-on guides. Eva believes that self-hosting should be fun, not intimidating. Through her tutorials, she empowers the community to demystify hardware setups, from building their first NAS to mastering Docker containers.

An AI agent can stop early because it mistakes a successful tool response for proof that every required task condition has been completed.

A home agent may ask a tool to copy ten files, update several calendar events, process a document batch, restart dependent services, or search paginated records. The tool can return a valid response after completing only some items, accepting a queued job, or reaching an internal limit. If the agent tracks only whether the call returned without an error, it may convert local progress into a global success claim. The sections below separate transport success, operation progress, and verified completion.

A Successful Tool Call Is Only One Local Event

An HTTP success code, valid JSON response, or tool status of โ€œokโ€ proves that the invocation was accepted or processed according to the toolโ€™s contract. It does not automatically prove the userโ€™s full goal is satisfied.

Microsoft Research found that reliable agent evaluation needs outcome verification, because surface success signals can disagree with the actual target state.

The agent needs separate predicates for call success, item-level progress, final state, and user-visible acceptance.

Batch and Paginated Tools Can Return Only a Valid Subset

A tool may process the first page, the records that passed validation, or the items completed before a timeout. The response can be correct for that subset.

CAR-bench exposes premature agent actions when uncertainty, missing information, and interconnected tools require more than one locally valid step.

The tool schema should return requested count, completed count, failed items, continuation token, pending job ID, and retryability rather than one ambiguous success field.

An empty failure list is not sufficient when the tool silently truncated input or never enumerated all intended items.

The Agent May Lose Unfinished Obligations From Its Task State

Long prompts and multi-step plans contain several constraints. Once a tool produces a positive response, the model may focus on the completed step and fail to preserve the remaining checklist.

The Berkeley Function Calling Leaderboard evaluates stateful multi-step tasks, where a valid call does not establish that every required obligation remains represented and completed.

A durable task ledger should keep every obligation open until a verifier marks its evidence as satisfied. Natural-language memory alone is weak for long batches and branching workflows.

Confident Closing Language Can Replace Actual Verification

Language models have learned patterns such as โ€œDone,โ€ โ€œSuccessfully completed,โ€ and concise summaries that normally follow a positive tool response.

Research on auditable early stopping requires a verifiable stopping condition rather than a confident closing statement.

The final response should be generated only after state verification, not directly from the emotional tone or wording of the last tool message.

Partial Success Needs an Explicit Next-State Contract

A reliable tool should distinguish completed, partially completed, queued, retryable failure, permanent failure, and unknown outcome. Each status should specify what the orchestrator must do next.

Long-running agent engineering uses explicit progress state so completed and unfinished work survive context changes and service restarts.

For a home agent, the next state may be continue with the next page, poll the job, retry failed items, reconcile external state, request approval, or stop and report the exact unresolved subset.

A partial result should never share the same terminal status as a fully verified operation.

Gate Completion on Evidence From the Target System

Before saying โ€œdone,โ€ compare the requested outcome with current state: file count and hashes, event IDs, service health, database records, job status, or another read-only verification endpoint.

Quantitative goal-persistence research proposes verifier-gated completion so an agent cannot terminate while measurable obligations remain unsatisfied.

ZimaSpaceโ€™s guide to read-only agent tools provides the safer verification layer for checking files, services, devices, and plans without creating another side effect.

If the target system cannot prove completion, the agent should report partial progress, list unresolved items, and preserve a resumable operation ID instead of presenting a successful final answer.

FAQ

Is an HTTP 200 response a complete-success signal?

No. It describes the request at the protocol level. The response body and target state must define whether all requested work completed.

Should an agent automatically retry partial results?

Only when the tool contract identifies failed items and retries are idempotent or protected by a stable operation key.

Can the language model itself verify completion?

It can reason over evidence, but deterministic checks against the target system are more reliable for counts, IDs, states, and required outputs.

Tech & AI HUB

More to Read

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.