REVIEW 3 major objections 5 minor 31 references
AgentCheck claims that by holding every tool response constant except one, a single injected fault can be reproduced, mitigated, and confirmed fixed before deployment.
Reviewed by Pith at T0; open to challenge. T0 means a machine referee read the full paper against a public rubric. the ladder, T0–T4 →
T0 review · deepseek-v4-flash
2026-08-02 07:00 UTC pith:NSP33S55
load-bearing objection A genuinely useful closed-loop fault-injection workbench, with a real replay-vs-live ambiguity that needs resolving before the controlled-comparison claim stands. the 3 major comments →
AgentCheck: A Reproduce-Intervene-Mitigate Workbench for LLM Agents over MCP
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
AgentCheck's central discovery is that a single perturbed tool response, with all other responses replayed from cache, is enough to separate clean from faulted behavior and to confirm a fix: the faulted run diverges at the injection point, the failed checks identify the failure mode, and a mitigated run against the identical fault passes those checks, yielding fix_confirmed. Applied to 120 scenarios over five agent configurations, the paper finds a 28-point spread (105/120 to 77/120), with Category B data-quality faults the weakest band for every agent; even the strongest scores 29/40 on those faults. A retry mitigation on the weakest agent lifts timeout-error success from roughly 30% to 100
What carries the argument
The mechanism is Algorithm 1's controlled comparison over a response cache K: a clean run records each (tool, arguments, call index) answer; the faulted run's replay function returns everything from K except at injection point p, where it substitutes the injector's perturbed value; an optional mitigated run applies the same injector to a wrapped agent. This single-perturbation replay is what makes the divergence attributable and the fix confirmation deterministic.
Load-bearing premise
Everything hinges on the controlled-comparison premise: the clean, faulted, and mitigated runs must share the same tool responses except for the one injected perturbation; the paper's own replay algorithm only guarantees this for matching calls, and later live calls after divergence can introduce unrelated variation, leaving cache-miss behavior unspecified.
What would settle it
Instrument the replay to log, for every tool call in the clean, faulted, and mitigated runs, whether the response came from the cache or from a live call; if any two runs differ on a response that is neither the injected fault nor a cached replay, the controlled-comparison claim fails. A simpler proxy: re-run the same faulted scenario twice and check that the verdict and divergence point are identical; variance would signal uncontrolled live calls.
If this is right
- A developer can reproduce a specific tool fault on their own agent and MCP server, apply a candidate mitigation, and receive a deterministic fix_confirmed verdict for that exact fault before deployment.
- Tool-execution failures such as timeouts, API errors, and permission denials are largely fixable with a simple retry wrapper; on the weakest agent, timeout success rose from 30% to 100%.
- Silent data-quality faults — stale, contradictory, irrelevant, or empty tool responses — cannot be repaired by output-layer wrappers and would require retrieval-time or cross-call consistency changes.
- Task-success benchmarks that assume healthy tools overstate agent readiness; under identical faulted responses, five agent configurations span a 28-point range (77–105 out of 120).
- Because the deterministic checks and judge labels are independent and sometimes disagree, the verdict should be read from the deterministic checks, with the judge's propagation rate treated as an upper bound.
Where Pith is reading between the lines
- A natural extension the paper leaves implicit: use the same cached-replay design for compound or cascading faults by perturbing a sequence of responses and checking attribution; the paper explicitly excludes compound failures.
- The taxonomy's Category B difficulty suggests a concrete testable hypothesis: adding a timestamp or provenance field to tool responses should substantially improve freshness failures, which the paper's own Table 7 predicts but does not run.
- The auto-discovery schema could be extended beyond the bundled 120 scenarios to generate new injectors from a developer's own tool schemas, giving coverage estimates rather than curated samples.
- A stronger falsification check would enforce strict cache-only replay even after divergence (no live calls), testing whether the 'divergence is attributable' claim holds when the environment is fully frozen.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. AgentCheck is a web workbench that treats an MCP server as an intervention surface for testing LLM agents against tool faults. A clean run is recorded, then replayed with exactly one tool response perturbed by one of 12 fault types; an optional mitigation is applied and the same fault is re-injected to produce a fix_confirmed verdict. The system combines deterministic pass/fail checks with an LLM judge, validated against human annotations, and is evaluated on 120 scenarios across five agent configurations. The paper reports that the best agent passes 105/120 and the weakest 77/120, that silent data-quality faults dominate, and that a retry mitigation lifts Llama's timeout-fault success from 3/10 to 10/10.
Significance. If the controlled-comparison premise is sound, AgentCheck fills a real gap: existing benchmarks assume healthy tools, while observability tools do not provide a reproduce-intervene-confirm loop. The workbench is open-source, includes a scenario library, reports deterministic checks alongside a judge, and provides human-alignment numbers for the judge. The strongest contribution is the closed loop: a developer can re-run the identical fault after applying a mitigation and receive a deterministic fix_confirmed verdict. However, the central methodological claim that the clean/faulted/mitigated runs differ only at the injection point is jeopardized by the paper's own description of post-divergence live tool calls. This is a load-bearing issue that must be resolved before the empirical results can be interpreted. The empirical evaluation also relies on small per-cell sample sizes without confidence intervals or statistical tests.
major comments (3)
- [§4.1 / Algorithm 1 / Abstract] Algorithm 1 (lines 2–5) implements full cached replay: REPLAY returns the cached response r for every (tool, args, i), changing only the response at the injection point (p, g). The abstract, however, states that 'Matching tool calls are replayed from cache, and later tool calls go live after the agent diverges.' These two specifications are inconsistent. If later calls go live, then any difference in those responses—due to environment nondeterminism, latency, time-dependent data, or rate limits—is confounded with the effect of the injected fault. The paper's Section 1 claim that 'the divergence is attributable to the injected fault' and Section 5.1's assertion that 'A difference between two runs is therefore the fault, not measurement noise' are not supported under this behavior. The cache-miss case is also unspecified: K is keyed by (tool, args, i), but a post-divergence call with novel
- [§5.2, Figure 3, Table 5] All pass counts are reported as raw counts out of 10 (or out of 120) with no confidence intervals or statistical tests. Several claims about mitigation impact rest on differences of one or two runs, e.g., Table 5: B1 goes 4→3, B2 6→7, B3 3→2 under '+All'. These are well within sampling noise for n=10 and do not support the statement that these types 'barely improve.' Even the headline result for A1 (3→10) is significant, but the paper does not provide a test or interval. Please report effect sizes with confidence intervals or exact tests, and adjust the language to reflect uncertainty for the small cells.
- [§5.1 / §3] The scenario library is largely authored by the same team that evaluates the agents: 64 of 120 scenarios are newly authored (Table 3), and the pass criteria are defined by the authors. The paper's Limitations section acknowledges that Category-B scenarios are 'authored, so the findings should be read as a hypothesis,' which is appropriate. However, the abstract and Section 5 present the cross-agent pass rates as empirical facts without this caveat. At minimum, the body text should carry the same 'hypothesis-generating' framing for the specific numerical comparisons, and the pass criteria should be published in full (Appendix A is referenced but not included in the main text) so that the numbers are independently auditable.
minor comments (5)
- [§4.6] The walkthrough in Section 4.6 says the faulted run 'passed' for the Timeout fault on get_incident_brief, yet the same fault type is reported as a failure mode in Section 5.3. This is not contradictory, but the text should clarify whether the walkthrough is illustrating the interface or the agent's actual performance.
- [Figure 3 caption] The caption labels the right-hand columns as 'Prop.' and 'Sec.P.' but the table body values (e.g., 47%, 2.5%) lack row labels in the rendered figure. It is hard to tell which values correspond to which agent. Please add explicit row identifiers and a legend.
- [Table 4] The human-alignment κ values are reported to two decimals, but the number of annotators and the exact labeling procedure are not stated. Please specify how disagreements were resolved and how many traces were double-annotated (the text says 96 traces and 224 labeled instances, but the breakdown is unclear).
- [Algorithm 1, line 3] REPLAY indexes K by (tool, args, i), but line 4 changes only the response at (tool, i). If the same tool is called twice with identical args, the index is ambiguous. Please clarify whether i is a per-tool call counter or a global step counter, and how duplicate calls are disambiguated.
- [References] Several references are cited as 'arXiv preprint' with 2026 dates (e.g., Liu et al., 2026; Wang et al., 2026). Please verify that these are the intended versions and that no published versions are available.
Circularity Check
No circular derivation: pass/fail verdicts are empirical measurements against explicit check rules; the live-call concern is a consistency/correctness issue, not a definitional loop.
full rationale
AgentCheck is a systems workbench, not a derivation or first-principles prediction. The pass/fail checks and diagnostic labels are explicit, author-specified operational criteria (Table 2, Appendix A), and the reported numbers—105/120, 77/120, mitigation lift on A1 from 30% to 100%—are measured outcomes. No parameter is fitted to a subset of data and then reported as a prediction of closely related data. fix_confirmed (Algorithm 1, line 11) is defined as the previously failed checks passing after re-running with the same injected fault and a wrapped agent; this is an operational definition of the tool's verdict, not a circular inference, because the mitigation can fail (Table 5 shows B1/B2/B3 barely improve and C4 is unchanged), so the outcome is not forced by the definition. The LLM judge is explicitly subordinated to deterministic checks, labeled as an upper bound, and independently compared with human annotations (Table 4), so it is not used as its own ground truth. The paper's self-identified limitations—'Category-B scenarios are authored, so the findings should be read as a hypothesis' and 'deterministic checks and judge labels are independent, fallible signals rather than ground truth'—are honest validity caveats, not admissions of circularity. The paper does not rely on load-bearing self-citations: MCPTox, ToolMisuseBench, and other cited benchmarks are external prior work. The one substantive concern is internal consistency, not circularity: Section 1 claims the system 'holds every tool response constant except one,' and Algorithm 1's REPLAY implements that, but the Abstract says 'later tool calls go live after the agent diverges.' If a post-divergence call misses the cache, non-injected responses could differ across runs, undermining causal attribution. This is a correctness/implementation-consistency problem about whether the stated controlled-comparison guarantee holds, not a case where a result is equivalent to its inputs by construction. Under the supplied circularity criteria, no circular step can be exhibited, so the score is 0.
Axiom & Free-Parameter Ledger
axioms (4)
- domain assumption A single perturbed tool response, with all other responses held constant, is sufficient to attribute agent behavior changes to the injected fault.
- domain assumption Replaying cached responses across clean, faulted, and mitigated runs is behavior-preserving for the agent.
- domain assumption The 120 scenarios, including 64 newly authored ones, are representative of real MCP deployment faults.
- domain assumption The LLM judge's labels are reliable enough for diagnostic use because of kappa agreement with human annotators.
read the original abstract
Tool-using LLM agents are mostly evaluated assuming all tools work. When a tool times out, returns a week-stale value, or has its description poisoned in deployment, the developer needs a controlled way to reproduce the failure, test a fix, and confirm the fix worked before deployment. We present AgentCheck, an open-source web workbench that turns an MCP server into an intervention surface. AgentCheck runs an agent against its real tools and records every tool response, then re-runs the agent with the response perturbed by a fault (12 types) injector. Matching tool calls are replayed from cache, and later tool calls go live after the agent diverges. This yields a reproduce-intervene-confirm loop: the developer toggles a mitigation, re-runs against the identical fault, and sees if the failure goes away. Scoring has two parts: deterministic pass/fail rules, plus an LLM judge for interpretive labels, validated against human annotations. Across five agents, the best passes 105/120 scenarios and the weakest only 77. The failures are usually silent, confident use of incorrect tool outputs rather than crashes. On the weakest agent, a retry mitigation raises success on timeout error faults from as few as 30% of cases to 100%, whereas stale-data faults remain near 3-4 of 10 regardless of the mitigation. AgentCheck makes these failure modes reproducible, comparable, and verifiable before deployment.
Figures
Reference graph
Works this paper leans on
-
[1]
International Conference on Learning Representations , volume=
Gaia: a benchmark for general ai assistants , author=. International Conference on Learning Representations , volume=
-
[2]
International Conference on Learning Representations , volume=
Swe-bench: Can language models resolve real-world github issues? , author=. International Conference on Learning Representations , volume=
-
[3]
International Conference on Learning Representations , volume=
Toolllm: Facilitating large language models to master 16000+ real-world apis , author=. International Conference on Learning Representations , volume=
-
[4]
arXiv preprint arXiv:2604.01508 , year=
ToolMisuseBench: An Offline Deterministic Benchmark for Tool Misuse and Recovery in Agentic Systems , author=. arXiv preprint arXiv:2604.01508 , year=
-
[5]
arXiv preprint arXiv:2606.05806 , year=
When Tools Fail: Benchmarking Dynamic Replanning and Anomaly Recovery in LLM Agents , author=. arXiv preprint arXiv:2606.05806 , year=
-
[6]
Proceedings of the AAAI Conference on Artificial Intelligence , volume=
Mcptox: A benchmark for tool poisoning on real-world mcp servers , author=. Proceedings of the AAAI Conference on Artificial Intelligence , volume=
-
[7]
arXiv preprint arXiv:2508.13220 , year=
MCPSecBench: A systematic security benchmark and playground for testing Model Context Protocols , author=. arXiv preprint arXiv:2508.13220 , year=
-
[8]
arXiv preprint arXiv:2512.07497 , year=
How Do LLMs Fail In Agentic Scenarios? A Qualitative Analysis of Success and Failure Scenarios of Various LLMs in Agentic Simulations , author=. arXiv preprint arXiv:2512.07497 , year=
-
[9]
Advances in Neural Information Processing Systems , volume=
Why do multi-agent llm systems fail? , author=. Advances in Neural Information Processing Systems , volume=
-
[10]
Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: System Demonstrations , pages=
Mcpeval: Automatic mcp-based deep evaluation for ai agent models , author=. Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: System Demonstrations , pages=
2025
-
[11]
Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: System Demonstrations , pages=
AgentDiagnose: An Open Toolkit for Diagnosing LLM Agent Trajectories , author=. Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: System Demonstrations , pages=
2025
-
[12]
Advances in neural information processing systems , volume=
Judging llm-as-a-judge with mt-bench and chatbot arena , author=. Advances in neural information processing systems , volume=
-
[13]
Educ Psychol Meas , volume=
A coefficient of agreement for nominal scale , author=. Educ Psychol Meas , volume=
-
[14]
arXiv preprint arXiv:2606.22388 , year=
PlanBench-XL: Evaluating Long-Horizon Planning of LLM Tool-Use Agents in Large-Scale Tool Ecosystems , author=. arXiv preprint arXiv:2606.22388 , year=
-
[15]
ACM Transactions on Software Engineering and Methodology , year=
Model context protocol (mcp): Landscape, security threats, and future research directions , author=. ACM Transactions on Software Engineering and Methodology , year=
-
[16]
Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems , pages=
Interactive debugging and steering of multi-agent ai systems , author=. Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems , pages=
2025
-
[17]
arXiv preprint arXiv:2601.17549 , year=
Breaking the Protocol: Security Analysis of the Model Context Protocol Specification and Prompt Injection Vulnerabilities in Tool-Integrated LLM Agents , author=. arXiv preprint arXiv:2601.17549 , year=
-
[18]
arXiv preprint arXiv:2604.07536 , year=
Trustdesc: Preventing tool poisoning in llm applications via trusted description generation , author=. arXiv preprint arXiv:2604.07536 , year=
-
[19]
arXiv preprint arXiv:2512.08273 , year=
AgentEval: Generative Agents as Reliable Proxies for Human Evaluation of AI-Generated Content , author=. arXiv preprint arXiv:2512.08273 , year=
-
[20]
Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining V
Evaluation and benchmarking of llm agents: A survey , author=. Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining V. 2 , pages=
-
[21]
arXiv preprint arXiv:2506.15741 , year=
Oagents: An empirical study of building effective agents , author=. arXiv preprint arXiv:2506.15741 , year=
-
[22]
Findings of the Association for Computational Linguistics: ACL 2024 , pages=
Stabletoolbench: Towards stable large-scale benchmarking on tool learning of large language models , author=. Findings of the Association for Computational Linguistics: ACL 2024 , pages=
2024
-
[23]
arXiv preprint arXiv:2512.20352 , year=
Multi-LLM Thematic Analysis with Dual Reliability Metrics: Combining Cohen's Kappa and Semantic Similarity for Qualitative Research Validation , author=. arXiv preprint arXiv:2512.20352 , year=
-
[24]
arXiv preprint arXiv:2210.03629 , year=
React: Synergizing reasoning and acting in language models , author=. arXiv preprint arXiv:2210.03629 , year=
-
[25]
arXiv preprint arXiv:2406.12045 , year=
-Bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains , author=. arXiv preprint arXiv:2406.12045 , year=
-
[26]
arXiv preprint arXiv:2604.16706 , year=
Evaluating Tool-Using Language Agents: Judge Reliability, Propagation Cascades, and Runtime Mitigation in AgentProp-Bench , author=. arXiv preprint arXiv:2604.16706 , year=
-
[27]
arXiv preprint arXiv:2606.09863 , year=
From Confident Closing to Silent Failure: Characterizing False Success in LLM Agents , author=. arXiv preprint arXiv:2606.09863 , year=
-
[28]
2025 IEEE/ACM 4th International Conference on AI Engineering--Software Engineering for AI (CAIN) , pages=
Assessing and enhancing the robustness of LLM-based multi-agent systems through chaos engineering , author=. 2025 IEEE/ACM 4th International Conference on AI Engineering--Software Engineering for AI (CAIN) , pages=. 2025 , organization=
2025
-
[29]
arXiv preprint arXiv:2512.06749 , year=
Dover: Intervention-driven auto debugging for llm multi-agent systems , author=. arXiv preprint arXiv:2512.06749 , year=
-
[30]
arXiv preprint arXiv:2602.06593 , year=
AgentStepper: Interactive Debugging of Software Development Agents , author=. arXiv preprint arXiv:2602.06593 , year=
-
[31]
arXiv preprint arXiv:2606.17114 , year=
An Evaluation of Data Leakage Risks in Tool-Using LLM Agents in Realistic Scenarios , author=. arXiv preprint arXiv:2606.17114 , year=
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.