PromptBase
Upgrade
Close icon
General
Home
Marketplace
Create
Hire
Login
Chat
Sell
Explore

Prompt Details

Model
(claude-5-5-sonnet)
Token size
3,902
Example input
[PASTE AGENT ARCHITECTURE, COMPONENTS, MODELS, MEMORY, TOOLS, ORCHESTRATION, AND SYSTEM DESIGN]: Customer-support AI agent LLM + conversation memory refund_order API tool Workflow: classify request → retrieve order → call refund tool → verify result → respond [PASTE ERROR MESSAGES, LOGS, TRACES, TIMESTAMPS, STACK TRACES, EVENTS, OR OBSERVABILITY DATA]: 10:02:11 Order lookup: ORDER-4821 found 10:02:13 Agent called refund_order 10:02:13 refund_order response: 200 OK 10:02:14 Agent response: "Your refund has been completed." 10:03:01 Payment system: refund status = FAILED [DESCRIBE THE EXPECTED WORKFLOW AND THE ACTUAL EXECUTION SEQUENCE IF KNOWN]: Expected: Request → Order lookup → Refund → Verify refund → Respond Actual: Request → Order lookup → Refund → Respond [DESCRIBE RELEVANT MEMORY, STATE, CONTEXT, RETRIEVAL, UPDATES, STALE DATA, OR STATE TRANSITIONS]: Agent stored refund_id = RF-991 No later state update confirmed whether the refund actually settled. [DESCRIBE WHAT THE AGENT SHOULD HAVE DONE, INCLUDING EXPECTED OUTPUT, ACTION, STATE, OR WORKFLOW RESULT]: Agent should verify the refund status before telling the customer that the refund is completed.
Example output
🔎 PHASE 1 — FAILURE CONTEXT RECONSTRUCTION 🎯 Intended Task The agent needed to process a customer's ₹499 refund and accurately communicate its status. ✅ Expected Behavior Customer request ↓ Find order ↓ Submit refund ↓ Verify refund status ↓ Only then report final status ❌ Actual Behavior Customer request ↓ Find order ↓ Submit refund ↓ Assume success from HTTP 200 ↓ Tell customer "completed" 📌 Supplied Facts ORDER-4821 was successfully located. The refund API returned HTTP 200. The API response contained "status":"accepted". The agent interpreted this as completed. Later payment-system evidence showed refund status = FAILED. No verification step occurred. 🔍 Inference The agent appears to have treated request acceptance as equivalent to business completion. Confidence: High, because the tool response explicitly says "accepted" rather than "completed". --- 🔎 PHASE 2 — EXPECTED VS ACTUAL EXECUTION Step Expected Actual Result 1 Identify order Order found ✅ 2 Submit refund Refund submitted ✅ 3 Verify business status Not performed ❌ 4 Determine final state Assumed completed ❌ 5 Customer response Report verified status ❌ 6 Final output "Completed" ❌ 🚨 Earliest Observable Divergence The earliest defensible divergence is: After refund_order returned {"status":"accepted"}, the workflow should have entered verification but instead proceeded directly to customer response. This occurred before the payment system reported the final failure. --- 🔎 PHASE 3 — FAILURE TIMELINE ⏱️ Order Event Component Evidence Consequence 1 Order found Order service ORDER-4821 found Correct state 2 Refund submitted Agent + API HTTP 200 Refund request accepted 3 Tool response received Agent "status":"accepted" Intermediate state 4 Verification skipped Workflow No verification event Critical divergence 5 Customer response generated LLM "refund ... completed" False final status 6 Payment system reports failure Payment system status = FAILED Actual refund failure exposed 🧭 Earliest Abnormal Event Missing verification transition after an intermediate tool state. --- 🔎 PHASE 4 — FAILURE CHAIN ⛓️ TRIGGER Customer requests refund ↓ REFUND REQUEST Agent calls refund_order ↓ FIRST FAILURE Workflow treats "accepted" as "completed" ↓ FAILURE MECHANISM No business-state verification ↓ PROPAGATION Agent's internal state becomes effectively "refund complete" ↓ SECONDARY EFFECT LLM generates a definitive success message ↓ FINAL FAILURE Customer receives incorrect refund confirmation ↓ DOWNSTREAM IMPACT Customer may believe money has already been refunded 🔬 Causal Assessment Confirmed: Tool returned accepted. Verification did not occur. Agent reported completion. Payment system later showed failure. Strongly supported causal relationship: Missing verification allowed an intermediate state to be presented as a final state. Unknown: Why the payment system eventually rejected the refund. Whether the API itself had documentation explicitly defining accepted as asynchronous. Whether the workflow controller or LLM made the decision to skip verification. --- 🔎 PHASE 5 — ROOT CAUSE ISOLATION 🧩 📝 Instruction Layer Finding: Possible weakness. The supplied architecture does not show an explicit instruction such as: > "Never report refund completion until the payment system confirms final settlement." Status: Plausible contributing factor, not confirmed root cause. --- 🧠 Planning Layer The workflow should have recognized: accepted ≠ completed Instead, the execution proceeded to final response. Status: High-confidence failure mechanism. --- 📚 Context Layer No evidence of context truncation or contradictory context. Status: Not supported. --- 🧠 Memory Layer Memory stored: refund_id = RF-991 But there was no confirmed final refund state. Status: Contributing factor if the system treated the stored refund ID as evidence of completion. --- 🔧 Tool Layer The tool returned: { "status": "accepted", "refund_id": "RF-991" } The tool itself did not claim: completed Status: Tool failure is not established. --- 🔄 Workflow Layer The expected workflow included: Refund → Verify → Respond The actual workflow was: Refund → Respond Status: High-confidence root-cause candidate. --- 🤖 Model Layer The model generated: > "Your ₹499 refund has been completed." However, the available evidence only established: > refund request accepted Status: Output-generation failure, but not necessarily the originating root cause. --- 🔎 PHASE 6 — EVIDENCE MATRIX 📊 Finding Evidence Type Confidence Missing Evidence Order existed ORDER-4821 found Direct High None Refund request was accepted HTTP 200 + "accepted" Direct High API contract Refund was not verified No verification event Derived High Complete trace Agent reported completion Failed output Direct High None Payment ultimately failed Payment status FAILED Direct High Detailed payment logs Workflow skipped verification Expected vs actual sequence Derived High Controller trace Tool caused failure No evidence Unavailable Low Tool/server logs LLM independently hallucinated Final output Circumstantial Medium Model/tool decision trace --- 🔎 PHASE 7 — SYMPTOM VS ROOT CAUSE 🩺 Symptom Customer was told: > "Your ₹499 refund has been completed." Immediate Cause The agent generated a final-success response without confirmed final refund status. Trigger Customer's refund request. Contributing Factor The workflow exposed an intermediate tool result directly to final-response generation. Root Cause Missing business-state validation gate between refund submission and final customer confirmation. Latent Weakness The architecture did not enforce: accepted → verify → completed as a mandatory state transition. --- 🔎 PHASE 8 — AGENT / TOOL / MEMORY INTERACTION 🤝 The important interaction is: Tool ↓ "accepted" ↓ Agent state ↓ No verification ↓ LLM ↓ "completed" The problem is therefore not adequately described as an LLM problem. The failure emerged from the interaction between: Tool response semantics Workflow state management Validation logic Final-response generation 🚨 Critical Boundary The system failed to distinguish: REQUEST ACCEPTED from: BUSINESS OPERATION COMPLETED --- 🔎 PHASE 9 — FAILURE PROPAGATION & IMPACT 💥 Workflow validation gap ↓ Incorrect internal interpretation ↓ Incorrect final response ↓ Customer receives false confirmation Observed Impact Customer received incorrect refund information. Refund actually failed according to the payment system. Potential Impact Customer may incorrectly expect ₹499 to arrive. Support workload may increase. Customer may initiate another support request. If retry logic existed elsewhere, duplicate-refund risk could potentially arise. The duplicate-refund risk is hypothetical because no duplicate execution is shown in the evidence. --- 🔎 PHASE 10 — RECOVERY ANALYSIS 🛠️ Existing Recovery No recovery mechanism is shown. Did It Activate? No evidence of recovery. Recovery Failure The system apparently had no transition such as: accepted ↓ poll/check status ↓ FAILED ↓ inform customer Recommended Recovery For an asynchronous refund: accepted ↓ create pending state ↓ verify status ↓ COMPLETED → confirm success FAILED → report failure + recovery path PENDING → bounded retry/poll UNKNOWN → escalate 🔐 Important Retries should be bounded and should not resubmit the refund automatically unless the operation is confirmed idempotent. --- 🔎 PHASE 11 — ROOT CAUSE CONFIRMATION 🧪 Candidate A: Missing Verification Gate Supporting evidence: Expected workflow includes verification. Actual execution skips verification. Tool only says accepted. Final response says completed. Contradicting evidence: No direct workflow-controller trace proving exactly which component skipped it. Confidence: High Confirmation test: Run the same scenario with the verification gate enforced and make the payment system return FAILED. Expected: Agent must NOT say "completed". --- Candidate B: Tool Failure Supporting evidence: Payment system eventually reports FAILED. Contradicting evidence: Refund submission itself returned HTTP 200. Tool response explicitly says accepted. Confidence: Low as root cause Additional evidence needed: Payment-provider server logs Refund state transition logs API contract --- Candidate C: Model Instruction-Following Failure Supporting evidence: Model generated a stronger claim than the evidence supported. Contradicting evidence: Workflow itself failed to provide a verified final state. Confidence: Medium as contributing factor; low as originating root cause. --- 🔎 PHASE 12 — REMEDIATION & FIX DESIGN 🔧 🚑 Immediate Fix Add a hard validation gate: IF refund_status != COMPLETED THEN do not generate "refund completed" --- 🏗️ Architectural Fix Represent refund states explicitly: REQUESTED ACCEPTED PROCESSING COMPLETED FAILED UNKNOWN The final-response node should accept only validated terminal states. --- 🔄 Workflow Fix Change: Refund API ↓ Final Response to: Refund API ↓ Validate intermediate state ↓ Check refund status ↓ Validate terminal state ↓ Final Response --- 🔧 Tool Fix Define the tool contract clearly: accepted ≠ completed If the refund is asynchronous, expose a separate: get_refund_status(refund_id) operation. --- 🧠 Memory Fix Store: refund_id = RF-991 refund_status = ACCEPTED status_verified_at = <timestamp> Do not store: refund_status = COMPLETED until the payment system confirms it. --- 🔎 PHASE 13 — PREVENTION CONTROLS 🛡️ Failure Mechanism Prevention Control Accepted interpreted as completed Explicit state machine Missing verification Mandatory verification gate Unsupported final claim Output-state validation Stale refund state Freshness timestamp Infinite status polling Maximum polling attempts Duplicate refund Idempotency key Payment provider unavailable UNKNOWN state + bounded retry Incorrect customer response Response generated from verified state 🚨 Key Invariant Agent MUST NOT claim COMPLETED unless an authoritative system has returned COMPLETED. --- 🔎 PHASE 14 — REGRESSION TEST SUITE 🧪 TEST-001 — Original Failure Reproduction Scenario: Refund API returns accepted, payment system later returns FAILED. Expected: Agent must not say refund completed. Failure condition: "Your refund has been completed." --- TEST-002 — Successful Refund Input: refund_order → accepted get_refund_status → completed Expected: Agent confirms completed refund. --- TEST-003 — Pending Refund Input: refund_order → accepted get_refund_status → processing Expected: Agent reports that the refund is still processing. --- TEST-004 — Failed Refund Input: refund_order → accepted get_refund_status → failed Expected: Agent reports failure and does not claim completion. --- TEST-005 — Malformed Tool Output Input: {"refund_id":"RF-991"} No status field. Expected: Agent does not infer completion. --- TEST-006 — Timeout Input: get_refund_status → timeout Expected: Agent enters bounded recovery / unknown state. --- TEST-007 — Stale Memory Input: Memory: refund_status = COMPLETED Payment API: current status = FAILED Expected: Fresh authoritative state overrides stale memory. --- TEST-008 — Repeated Execution Input: Same refund request submitted twice. Expected: System uses idempotency protection and does not create an unintended duplicate refund. --- TEST-009 — Invalid Workflow Transition Attempt: ACCEPTED → CUSTOMER_CONFIRMED Expected: Transition rejected. --- TEST-010 — Future Regression Modify the response-generation prompt/model. Expected invariant: No verified COMPLETED state ↓ No completion confirmation --- 🔎 PHASE 15 — RECOVERY & PREVENTION BLUEPRINT 🛡️ Failure Detection 🚨 Detect: tool_status = ACCEPTED AND verified_status != COMPLETED --- Diagnosis 🔍 Check: 1. Refund ID 2. Latest payment status 3. Status timestamp 4. Tool response 5. Workflow state --- Recovery 🔄 ACCEPTED ↓ Check status ↓ COMPLETED → confirm FAILED → explain failure PROCESSING → bounded retry UNKNOWN → escalate --- Escalation 👤 Escalate when: provider remains unavailable after bounded retries status remains ambiguous conflicting authoritative states exist duplicate execution is suspected --- Monitoring 📈 Track: accepted → completed conversion accepted → failed rate verification failures unsupported completion claims refund-status polling timeouts duplicate-refund attempts --- 🔗 PHASE 16 — FAILURE PREVENTION TRACEABILITY MATRIX Root Cause Fix Recovery Prevention Monitoring Regression Missing verification gate Add mandatory status check Check authoritative status State-machine validation Verification success rate TEST-001 Accepted ≠ completed confusion Explicit state semantics Map intermediate states Tool contract validation Invalid state transitions TEST-003 Unsupported final claim Response validator Block unsupported claim Terminal-state invariant False-confirmation alerts TEST-002 Stale memory Fresh status lookup Override stale state Freshness requirement Stale-state events TEST-007 Duplicate execution risk Idempotency key Stop/reconcile duplicate Idempotency enforcement Duplicate attempts TEST-008 --- 🔎 PHASE 17 — MISSING EVIDENCE & INVESTIGATION GAPS 📋 The following evidence would make the investigation more definitive: 1. Workflow-controller trace Who decided to skip verification? 2. Tool API contract Exact semantic meaning of accepted. 3. Payment-provider logs Why did the refund eventually become FAILED? 4. Complete state-transition log Whether the system explicitly changed state from ACCEPTED → COMPLETED. 5. Model/tool decision trace Whether the LLM itself selected the final response or application logic supplied the status. 6. Idempotency information Whether retrying the refund could create duplicate financial operations. --- 🏁 FINAL ENGINEERING CONCLUSION Confirmed Root Cause The supplied evidence supports a missing business-state verification step between refund submission and customer confirmation. High-Confidence Failure Mechanism The system treated: ACCEPTED as equivalent to: COMPLETED without obtaining authoritative confirmation. Contributing Factors No mandatory verification gate. Final response was allowed to rely on an intermediate state. Memory did not contain a verified terminal state. Tool-state semantics were not sufficiently enforced at the workflow boundary. Plausible but Unconfirmed Instruction-level weakness. Model interpretation error. Payment-provider-specific failure mechanism. Unsupported Assumptions The refund API itself was defective. The LLM independently caused the entire incident. A database or infrastructure failure caused the refund failure. Defensible Causal Chain Refund Request ↓ Refund API returns ACCEPTED ↓ Verification step skipped ↓ Intermediate state treated as terminal state ↓ Agent generates unsupported completion claim ↓ Customer receives incorrect refund confirmation ↓ Payment system later reports FAILED 🎯 Core Engineering Lesson The critical failure was not simply that the agent gave a wrong answer. The system lacked a hard boundary preventing an intermediate external-system state from becoming a final business claim. That boundary should be enforced by workflow state validation, not by relying solely on the model's judgment.
Claude

Agent Failure Root Cause Investigators

Add to Cart
Instant accessInstant access
Usage rightsCommercial use
Money-back guaranteeMoney‑back
By purchasing this prompt, you agree to our terms of service
CLAUDE-5-5-SONNET
Tested icon
Guide icon
4 examples icon
Free credits icon
Your AI agent failed—but knowing what failed is not enough. You need to know why it failed, where the failure originated, how it propagated, and what must change to prevent recurrence. This advanced prompt transforms your agent architecture, logs/errors, workflow, tool calls, memory behavior, and failed outputs into an evidence-driven failure investigation. Stop treating agent failures as isolated errors. Turn every failed execution into a structured root-cause investigation and prevention plan
...more
Added 1 week ago
Report
Browse Marketplace