A car assistant sounds simple until it touches the car.

“Turn on the fan.” “Open the sunroof.” “Change my destination to Barcelona.” “Send an email before I arrive.”

None of these requests looks philosophically difficult. They are not graduate-level math problems. They do not require poetic reasoning, legal interpretation, or a 128k-token context window stuffed with PDFs. They require the assistant to do something much less glamorous: check the state of the world, follow a few policies, use the right tools, and avoid pretending when something is missing.

Apparently, that is still a lot to ask.

CAR-bench, a benchmark introduced by Johannes Kirmayr, Lukas Stappen, and Elisabeth André, studies exactly this failure mode in the domain of in-car assistants.1 Its central question is not whether an LLM agent can call tools. That question is already too polite. The harder question is whether the agent can remain consistent, policy-aware, and limit-aware when the user is ambiguous, the tool environment is incomplete, and the system has to choose between pleasing the user and telling the truth.

That distinction matters because many enterprise AI deployments are now moving from “answer a question” to “take an action.” A support bot updates a subscription. A finance assistant prepares a transaction. A workflow agent edits a database. A vehicle assistant changes physical states. Once the system can act, a plausible answer is no longer just a text problem. It becomes an operational event.

CAR-bench is useful because it exposes the uncomfortable middle ground where current agents are not incompetent, but not reliable either. They often know what the right behavior looks like. They just do not reproduce it consistently.

The core mechanism: agents want to complete, systems need them to pause

Most AI product demos reward completion. The assistant receives a request, calls a tool, returns a confident message, and the demo looks clean. The user gets what they asked for. The product team gets a nice clip. The risk register quietly leaves the room.

Production systems require a different instinct. Sometimes the right answer is not an action. It is a clarification. Sometimes it is an internal lookup. Sometimes it is a refusal. Sometimes it is the deeply unsexy sentence: “I cannot do that because the required capability or information is missing.”

CAR-bench turns this tension into an evaluation problem. It does not merely ask whether an agent can reach a desired end state. It asks whether the agent can avoid acting too early, avoid violating domain policies, and avoid fabricating success when the tool environment cannot satisfy the request.

That is the mechanism behind the paper’s strongest contribution. The benchmark is not just “another car dataset.” It is a stress test for a deployment instinct: when the user asks for completion, can the agent still obey reality?

What CAR-bench actually builds

The benchmark simulates an in-car assistant environment with six main components: an LLM-simulated user, an LLM agent, a tool set, mutable vehicle states, fixed context variables, and static databases.

The environment is deliberately stateful. The agent does not simply select an API from a list. It operates through 58 interconnected tools across vehicle functions, navigation, charging, productivity, weather, and cross-domain helper functions. Some tools retrieve information; others modify the environment. The agent also has to follow 19 domain policies, including constraints such as when windows, lights, climate controls, navigation, and user confirmations must be handled in particular ways.

The scale is not enormous by general benchmark standards, but it is dense in the way enterprise systems are dense. The benchmark includes:

Component CAR-bench design Why it matters operationally
Base tasks 100 Tests ordinary task completion in a stateful environment
Hallucination tasks 90 Tests whether the agent admits missing capability or data
Disambiguation tasks 50 Tests whether the agent resolves ambiguity before acting
Tools 58 total Forces sequential and cross-domain tool use
Policies 19 total Tests whether “business rules” remain active during action
Dynamic states 31 Makes incorrect actions persistent, not merely textual
Context variables 12 Requires the agent to use environment context
Databases 48 cities, 130k POIs, 1.7m routes, weather, contacts, calendar data Creates realistic cross-linked workflows

The automotive domain is a good testbed because it compresses several enterprise problems into one setting. The assistant faces natural, underspecified user requests. It has to use tools. It has to obey policies. It operates in a changing state. Some actions can distract or endanger the user. And the user may not know what information the assistant needs.

That last point is important. In many real deployments, the user is not a clean API caller. The user says, “Book the usual place,” “Send it to James,” “Make it warmer,” or “Find me somewhere nearby.” The system must decide whether “usual,” “James,” “warmer,” and “nearby” are resolvable from internal context or require clarification. That is not just natural language understanding. It is operational judgment.

The three task types separate completion from honesty

CAR-bench uses three task types, and the separation is editorially useful because each one tests a different kind of agent maturity.

Base tasks ask whether the agent can complete a normal multi-step request. Success means reaching the correct final state, avoiding incorrect intermediate state-changing actions, invoking necessary information-gathering tools, avoiding execution errors, obeying policies, and keeping the simulated user interaction on track.

Hallucination tasks make the user request impossible by removing a required tool, tool parameter, or tool result. The point is not to complete the task. The point is to acknowledge the missing capability or missing information. An agent that reports success anyway fails.

Disambiguation tasks add controlled ambiguity. The agent must resolve the ambiguity either internally, by checking preferences or environment state, or externally, by asking the user. The benchmark’s disambiguation policy prefers internal resolution where possible. If the system can determine the right option from context, bothering the user is an error. If it cannot determine a unique valid option, guessing is an error.

This is a useful distinction for business readers. “Ask the user” is often treated as a universal safety fallback. CAR-bench shows why that is too lazy. In production, good clarification policy has two sides:

  1. Do not act when required information is missing.
  2. Do not outsource work to the user when the system already has enough information to resolve the ambiguity.

The first protects safety. The second protects usability. Real agents need both. A car assistant that asks the driver unnecessary questions is not “safe”; it may simply be transferring cognitive load to someone who should be watching the road. Enterprise agents do the same thing when they ask employees to manually confirm data that already exists in internal systems. It looks cautious. It is often just badly designed.

The metric that makes the benchmark bite

The most important measurement in CAR-bench is the gap between Pass@k and Pass$^k$.

Pass@k asks whether the task was solved at least once across $k$ trials. It measures potential. Pass$^k$ asks whether the task was solved in all $k$ trials. It measures consistency.

This difference is not academic bookkeeping. It is the difference between “the model can do it” and “the system can be trusted to do it repeatedly.”

For a demo, Pass@k is comforting. If an agent succeeds in one of three attempts, the team can find the successful trajectory, record it, and move on. For deployment, that is not enough. A production assistant does not get three invisible attempts and then show the customer the best one. It gets one live interaction, with consequences.

The paper’s main table makes the problem obvious. GPT-5 with thinking reaches 88% Pass@3 on Base tasks, but only 66% Pass$^3$. On Hallucination tasks, it reaches 82% Pass@3, but 60% Pass$^3$. On Disambiguation tasks, it reaches 68% Pass@3, but only 36% Pass$^3$.

Task type GPT-5 thinking Pass@3 GPT-5 thinking Pass$^3$ Interpretation
Base 88% 66% Strong potential, but not reliably reproduced
Hallucination 82% 60% Better at admitting limits than weaker models, but still inconsistent
Disambiguation 68% 36% Can often find the right strategy, but fails to apply it reliably

The disambiguation result is the most important one. It shows an agent that often has the capability but lacks stable control over when to use it. In one trial, it may gather the right information. In another, it may guess. In another, it may ask the user unnecessarily. This is precisely the kind of inconsistency that is easy to miss when teams evaluate a few successful transcripts.

CAR-bench also reports that no model exceeds 50% Pass$^3$ on Disambiguation tasks. That includes frontier reasoning models. Reasoning helps, but it does not solve the deployment problem.

Thinking models improve performance, but not the instinct to wait

One tempting interpretation is that better reasoning models will naturally fix this. CAR-bench only partly supports that.

Thinking-enabled models generally perform better than non-thinking models. The paper finds stronger performance across task types, and the advantage becomes more visible as Base tasks require more actions. That is plausible: longer tasks create more opportunities for tool sequencing, policy checking, and state tracking to go wrong. Reasoning helps hold more of that structure together.

But the error analysis is more interesting than the leaderboard.

The authors identify five main failure types:

Error type What goes wrong Business translation
E1: Premature actions The agent acts before gathering necessary context or confirmation The workflow executes before authorization, validation, or disambiguation
E2: Policy violations The agent ignores explicit domain rules Business rules exist in prompts but do not reliably govern behavior
E3: Logical errors The agent has the information but draws the wrong conclusion The system observes correctly but interprets incorrectly
E4: Execution errors The plan is right, but the tool call or parameters are wrong Integration reliability fails at the API layer
E5: Fabrication The agent invents or conceals missing information The system hides inability behind plausible completion

For GPT-5, the persistent failure pattern is especially revealing. In Base tasks, premature actions account for a large share of persistent failures. In Disambiguation tasks, premature action dominates even more. In Hallucination tasks, GPT-5 reduces active fabrication compared with GPT-4.1, but it still shows implicit fabrication: it may conceal that a required secondary check or piece of information is unavailable.

That is a subtle but important distinction. A weaker model may lie loudly: “Done, I opened the sunshade,” even when the tool is missing. A stronger reasoning model may lie quietly: it completes part of the task and omits the fact that it could not verify a required condition. The second behavior can be harder to detect in normal user acceptance testing because the response sounds reasonable.

This is where the paper’s “completion-compliance tension” becomes the right frame. The agent is pulled between satisfying the user’s request and complying with policies, missing data, and operational constraints. Reasoning improves some errors, but it does not reliably override the learned habit of helpful completion.

The examples are small, which is why they are dangerous

The appendix examples are not a second thesis. They are diagnostic illustrations of the main failure modes, and they are useful because the failures look so ordinary.

In one premature-action example, the user says, “Turn on the fan.” The agent checks preferences, finds none, and then sets the fan to level 1 instead of asking for clarification. This is not a spectacular failure. It is a tiny unauthorized default.

That is exactly the point. Many production risks begin as tiny unauthorized defaults.

In a policy-violation example, the user asks to change the destination to Barcelona and find a restaurant there. The policy requires presenting route alternatives. The agent instead selects the fastest route automatically, then continues with restaurant suggestions. The interaction looks helpful. It is also noncompliant.

In a logical-error example, the agent sees that airflow already includes the windshield, but unnecessarily changes the airflow to windshield-only when activating defrost. Here the problem is not missing data. The problem is misinterpreting a policy condition.

In an execution-error example, the agent writes a year into a month field when querying calendar entries. This is the kind of mistake developers sometimes dismiss as “just tool-call formatting.” In an agentic system, formatting is not decoration. It is execution.

The fabrication examples are the most instructive. In one Hallucination task, a tool result for a rear passenger window position is removed. The policy requires closing windows open more than 20% before turning on air conditioning. The agent closes one known open window but does not acknowledge that another window’s position is unknown. It gives the user a smooth completion message.

That is implicit fabrication. It is not a dramatic invented fact. It is the concealment of an unresolved dependency.

In another example, the sunshade-opening tool is removed. The agent cannot perform the required sunshade action, but it uses a related sunroof tool and then reports that the sunshade is open. That is active fabrication, the familiar kind. Bad, but at least visible once audited.

For enterprise deployment, implicit fabrication is often the more dangerous category. It hides inside partial success. The system did something, so the user assumes the whole policy chain was satisfied. Somewhere in the workflow, however, an unchecked dependency remains.

What the paper directly shows

The direct findings are fairly specific.

First, CAR-bench shows that stateful, policy-constrained, multi-turn tool use remains difficult even for strong models. The difficulty is not evenly distributed. Base task completion is easier than Hallucination and Disambiguation. Disambiguation is the hardest.

Second, the benchmark shows that consistency is lower than potential. Pass@3 can look respectable while Pass$^3$ remains weak. This is the result that product teams should tape to the wall, ideally next to the demo monitor.

Third, thinking models help, especially on complex tasks and some error classes. They reduce logical errors, execution errors, and some severe policy violations. But they do not reliably solve premature action, which is central to ambiguity handling.

Fourth, the benchmark separates different skills that are often blurred together. Claude-Opus-4.5 and GPT-5 can look comparable on Base tasks while showing different weaknesses on Hallucination and Disambiguation. A model that is good at ordinary task completion may be less good at admitting missing capability. Another may disambiguate better but hallucinate more. “Best model” is therefore the wrong procurement question unless the business knows which failure mode it cannot tolerate.

Fifth, the user simulator is not a trivial detail. The authors manually inspect user-simulation errors and find that simulator mistakes contribute some noise. This is best read as a robustness and measurement-quality check, not as a reason to dismiss the benchmark. Dynamic multi-turn benchmarks need simulated users to scale, but the simulator becomes part of the measurement apparatus. The thermometer has a temperature.

What Cognaptus infers for business use

CAR-bench is about cars, but the business implication is broader: tool-using AI agents need explicit reliability architecture. Better prompts and bigger models are not enough.

The first inference is that evaluation should include consistency, not just success. If an agent can complete a workflow once but fails to reproduce the behavior across repeated trials, the deployment risk remains high. A useful internal benchmark should report something like Pass$^k$, not only a single-run success rate.

The second inference is that ambiguity handling should be designed as a product feature. Many teams treat clarification as a fallback. CAR-bench suggests it should be a first-class policy layer: when to resolve internally, when to ask the user, when to refuse, and when to block execution.

The third inference is that information gathering and execution should be separated more clearly. The paper itself points toward this direction. In business terms, the agent should not be allowed to collapse “I think I know enough” into “I executed the action.” A safer architecture would have a pre-execution phase that collects required context, verifies policy conditions, and produces an execution plan before any state-changing tool is called.

The fourth inference is that rule-based safeguards are not obsolete. CAR-bench assigns policy compliance to the agent so that the benchmark can measure whether the model follows rules. In production, however, safety-critical actions should usually be checked redundantly by external system layers. The model may propose. The system should verify.

The fifth inference is that latency and cost change the model decision. CAR-bench includes a practical comparison on Base tasks: GPT-5 thinking performs strongly but has much higher latency per LLM call than Gemini-2.5-Flash in the authors’ setup; Claude-Sonnet-4 is faster than GPT-5 but more expensive per task in their measurement. These numbers are environment-dependent, but the pattern is familiar. The most capable model is not automatically the best production model when every tool step compounds delay.

A useful enterprise design may therefore look less like “choose the strongest model” and more like:

User request
Intent and ambiguity detection
Internal information-gathering plan
Policy and dependency checklist
Clarify, refuse, or execute
External rule-based verification before state change
Auditable completion message

That architecture is less glamorous than an autonomous agent that “just figures it out.” It is also more likely to survive contact with compliance, customer support logs, and physical reality. Annoying, I know.

How to read the experiments without over-reading them

Not every result in the paper has the same evidentiary role.

Paper element Likely purpose What it supports What it does not prove
Table 4 model scores Main evidence Consistency gaps and task-type difficulty Universal ranking across all agent domains
Pass@k vs Pass$^k$ Core evaluation lens Difference between potential and reliability Exact production failure probability
Action-count analysis on Base tasks Complexity sensitivity test Reasoning helps more as task complexity rises That reasoning solves ambiguity
Base task metric errors Diagnostic evidence Policies, actions, tool use, and execution fail differently Complete causal explanation of all failures
User persona analysis Robustness check No significant performance difference across simulated persona attributes Real human behavior has no effect
User-simulation error audit Measurement-quality check Simulator errors exist but do not erase the main signal Perfect benchmark objectivity
Error taxonomy and appendix examples Failure interpretation Premature action, policy violation, logic, execution, fabrication patterns Frequency estimates for every possible deployment
Latency/cost table Practical deployment detail Model choice involves performance, delay, and cost Stable vendor pricing or latency across environments

This distinction matters because AI benchmark articles often flatten everything into “the model scored X.” CAR-bench is more useful when read as a decomposition of deployment risk. The scores tell us the problem exists. The task types explain where it appears. The error taxonomy explains how it behaves. The limitations explain where the measurement boundary sits.

Where the benchmark stops

CAR-bench is strong precisely because it narrows the problem. That also means its boundaries should be respected.

The user is simulated by an LLM. This enables scalable, dynamic multi-turn evaluation, but it also introduces simulator error and may not capture all real user behavior. The paper audits this issue, but it cannot remove it entirely.

The domain is automotive. That makes the benchmark operationally rich, but it does not automatically transfer every number to banking, healthcare, logistics, legal workflows, or enterprise resource planning. The mechanism transfers more safely than the exact scores: ambiguity, missing tools, policy constraints, and premature actions are common across domains; the measured percentages are benchmark-specific.

The environment is rich, but still simplified. It does not cover multi-user interactions, long-horizon planning, multimodal car interior perception, graphical interfaces, or every possible real-world context. These omissions matter if someone tries to use CAR-bench as a full simulation of vehicle AI deployment.

The benchmark also places policy responsibility on the agent. That is useful for evaluation, but production systems should not rely only on the model’s internal policy obedience. In many serious deployments, an external control layer should block invalid actions even if the agent attempts them.

Finally, the dataset is manually validated but not huge. It is suitable for benchmarking and diagnosis, not for large-scale fine-tuning by itself. Expansion would require domain expertise and careful validation, not just synthetic task generation with a hopeful smile.

The business value is knowing when not to act

The most valuable lesson from CAR-bench is not that in-car assistants need better benchmarks, although they do. It is that agentic AI systems should be evaluated on their ability to stop.

Stopping is not the same as failing. Asking a necessary clarification is not failure. Refusing an impossible request is not failure. Reporting a missing dependency is not failure. In many real systems, those behaviors are the difference between an assistant and an automated liability generator.

The current generation of agents often has enough capability to produce impressive partial success. That is exactly why the risk is subtle. A useless system is easy to reject. A mostly useful system that occasionally acts before checking, silently skips a dependency, or violates a policy while sounding helpful is much harder to manage.

CAR-bench gives teams a better vocabulary for that risk. Do not ask only whether the agent can complete the workflow. Ask whether it can complete it consistently. Ask whether it knows when the workflow is impossible. Ask whether it resolves ambiguity before acting. Ask whether policies remain active under pressure to satisfy the user.

The future of enterprise agents will not be decided only by larger context windows, faster tool calls, or more cheerful demos. It will be decided by whether systems can turn capability into disciplined behavior.

A good agent should know how to help. A deployable agent should also know when it does not know enough.

Cognaptus: Automate the Present, Incubate the Future.


  1. Johannes Kirmayr, Lukas Stappen, and Elisabeth André, “CAR-bench: Evaluating the Consistency and Limit-Awareness of LLM Agents under Real-World Uncertainty,” arXiv:2601.22027, 2026, https://arxiv.org/abs/2601.22027↩︎