Plan a 5-day trip to Japan. Tokyo + Kyoto. $3,000 budget. Love food and temples, hate crowds.
That single sentence is the input. The output is a validated, day-by-day itinerary with real POIs, neighborhood-level stays, transport legs between cities, a budget breakdown that adds up, and a Critic that says passed or sends specific agents back to revise.
Most "AI travel planner" demos are a single mega-prompt that hallucinates fluently. I wanted to find out what changes when you treat it as a systems problem instead of a prompting problem — typed contracts, specialized agents, deterministic validation, retries, and observability.
This post walks through the architecture, the agents, the Critic loop, the schemas, and the production concerns (cost, tracing, edge cases).…