Back to index
OtherSelf-paced, running locally within an hour, notebooks a few evenings·Free and open source, paid Arize platform available

Arize Phoenix Documentation and Tutorials

3.8

Runs on your laptop with one command and shows you what your agent is actually doing, which is more educational than any explanation of how agents work.

What We Liked

  • Runs entirely locally, so nothing leaves your machine while you learn
  • Agent trace visualisation makes multi step behaviour comprehensible
  • Built on OpenTelemetry, so instrumentation knowledge transfers
  • Notebook examples are runnable and cover realistic workflows
  • Experiments feature connects evaluation back to specific changes

What Could Be Better

  • Local instance is ephemeral by default and people lose data to it
  • Evaluation documentation assumes you know what to evaluate
  • Overlap between Phoenix and the commercial Arize platform is confusing
  • Automatic instrumentation coverage varies by framework
  • Interface changes often enough that screenshots mislead

Detailed review

Phoenix does one thing that changed how I debug language model applications. You run a command, a local interface opens, you add a couple of lines to instrument your app, and every call becomes a visible trace tree. For a single prompt and response that is mildly interesting. For an agent that plans, calls three tools, retrieves documents, reconsiders and answers, it is the difference between understanding your system and guessing at it.

The agent trace visualisation is the strongest feature. Multi step agents are hard to reason about because the failure is rarely in the final output. The agent called the wrong tool, or called the right tool with badly formed arguments, or retrieved documents that did not contain the answer and then confabulated one, or looped between two tools until it hit a limit. Reading through a trace tree makes all of that obvious in seconds.

I have watched people who had been debugging an agent for two days find the problem within five minutes of adding tracing, and it is nearly always something that should have been visible from the start. Running locally matters more than it sounds. No account, no data leaving your machine, no vendor decision. That removes the barrier that stops people trying observability tooling at all, and it means you can point it at something with sensitive data while you learn.

The OpenTelemetry foundation is the right choice architecturally. Your instrumentation is standard, so if you later move to a different backend, or to the commercial Arize product, or to something else entirely, the work is not wasted. The docs explain the relationship clearly enough. The example notebooks are the main teaching material and they are decent.

Trace a retrieval pipeline, evaluate its output, build a dataset from traces you have collected, run an experiment comparing two versions. That last loop, traces become datasets become experiments, is the workflow the whole tool is arranged around, and following it once teaches you a way of working that most people building these systems never develop. The prompt playground where you can pull a real production example, edit the prompt against it and compare results, is a good idea well implemented. Iterating on real failures rather than invented test cases is how prompts actually improve.

Now the problems. The local instance is ephemeral unless you configure persistence, and the getting started path does not make this loud enough. People collect traces for an afternoon, restart, and lose everything. It is documented.

It is not documented where someone would read it in time. The evaluation documentation has the same gap I keep finding across this whole category. It shows you how to run an evaluator and how to build a custom one, and it does not help you decide what matters for your application. Hallucination, relevance, toxicity, question answering correctness, they are all offered as options with no framework for choosing.

That decision is the hard part. The relationship between the free Phoenix and the paid Arize platform is not always clear while reading. Some documentation covers both, some features exist in one and not the other, and working out which applies to you takes more effort than it should. Automatic instrumentation coverage is inconsistent.

For the major frameworks it works with a single line. For anything less common you are writing manual spans, which is fine and is not what the marketing implies. Check whether your stack is properly supported before assuming a five minute setup. The interface moves, so screenshots in third party tutorials and even in some official pages are behind.

Concepts are stable, exact button locations are not. My three point eight is for local first tooling that removes every barrier to trying it, agent tracing that genuinely teaches you how your system behaves, and a sensible standards based foundation, marked down for a default configuration that loses your data, evaluation guidance that stops short of the actual decision, and a fuzzy line between the free and commercial products. If you are building agents and cannot see inside them, start here.

[ final ]

The verdict.

The fastest way to understand what a multi step agent is really doing. Install it, point it at something you built, and prepare to find out your agent is dumber than you thought.