Inspiration

AI agents are becoming increasingly powerful, but what happens when they fail halfway through an important task? An API might become unavailable, a tool might time out, or an AI model might produce invalid output. A single failure can interrupt an entire workflow and waste valuable progress.

We were inspired to solve this problem by building PHOENIX — "When AI fails, PHOENIX rises." Our vision is to make AI agents more reliable, resilient, and capable of recovering from unexpected failures without requiring users to restart their tasks manually.

What We Built

PHOENIX is a self-recovering AI agent web application built using Jac. It monitors agent execution, detects failures, selects appropriate recovery strategies, and attempts to resume tasks from saved checkpoints.

Our project focuses on three key capabilities:

  • Intelligent Recovery: Detects execution failures and attempts recovery through retries, alternative tools, and output validation.
  • Checkpoint-Based Resumption: Preserves completed work so interrupted tasks can continue from the last saved checkpoint.
  • Chaos Lab: Simulates failures, such as API outages and timeouts, to evaluate how effectively the agent recovers.

Through a visual dashboard, users can observe execution workflows, inspect failure events, and monitor recovery attempts.

How We Built It

We developed PHOENIX as a team of three during an eight-hour hackathon, using Jac and AI-assisted development. We divided responsibilities across the backend execution engine, frontend dashboard, and recovery logic.

We used agentic AI coding tools to accelerate implementation, explore solutions, debug issues, and integrate components. Jac's graph-based programming model helped us structure execution flows and manage task state.

Challenges We Faced

Our biggest challenge was coordinating three independently developed components within a limited time. The backend, frontend, and recovery engine needed consistent interfaces and a shared understanding of execution states.

We also had to consider how to reproduce failures reliably, preserve completed work, prevent endless retries, and verify that recovery actually succeeded rather than simply hiding an error.

We addressed these challenges by dividing responsibilities, defining shared interfaces, testing controlled failure scenarios, and prioritizing a working end-to-end demonstration.

What We Learned

This project taught us that building useful AI agents involves more than generating intelligent responses. Reliable agents also need state management, failure detection, controlled recovery, validation, and observability.

We gained practical experience with Jac, agentic AI-assisted development, full-stack integration, and rapid teamwork under hackathon constraints.

What's Next

We envision PHOENIX evolving into a reliability layer for autonomous AI workflows, with smarter recovery policies, richer monitoring, comprehensive failure testing, and measurable reliability benchmarks.

Our long-term goal is to improve the probability of successful task completion, (P(\text{success})), even when individual tools or services fail.

PHOENIX is built around one principle: an AI agent should not give up just because something goes wrong. It should understand the failure, recover intelligently, and keep moving forward.

Built With

  • css
  • jac
  • jachammer
Share this project:

Updates

Submission history