Project 5: Automated Trip Planner

Build a multi-step agent that plans a trip with constraints, budgets, and day-by-day itineraries.

Quick Reference

Attribute Value
Difficulty Level 3: Advanced
Time Estimate 12-18 hours
Language Python or JavaScript
Prerequisites Tool calling, planning basics
Key Topics planning, constraint handling, itinerary generation

1. Learning Objectives

By completing this project, you will:

  1. Gather constraints (dates, budget, preferences).
  2. Plan activities with ordering and time windows.
  3. Use tools for data lookup (maps, weather, events).
  4. Generate a day-by-day itinerary.
  5. Explain tradeoffs when constraints conflict.

2. Theoretical Foundation

2.1 Constraint Satisfaction

Trip planning is a constraint optimization problem: cost, time, distance, and preferences must be balanced.


3. Project Specification

3.1 What You Will Build

A trip planner agent that asks questions, uses tools, and outputs a structured itinerary with budgets.

3.2 Functional Requirements

  1. Constraint capture for dates, budget, preferences.
  2. Planning logic to order activities.
  3. Tool calls for location and event data.
  4. Itinerary output in structured format.
  5. Conflict resolution explanations.

3.3 Non-Functional Requirements

  • Deterministic planning for same inputs.
  • Safe tool usage with allowlists.
  • Fallback when tools fail.

4. Solution Architecture

4.1 Components

Component Responsibility
Constraint Collector Gather user inputs
Planner Build itinerary
Tools Fetch maps/events/weather
Formatter Output itinerary

5. Implementation Guide

5.1 Project Structure

LEARN_LANGCHAIN_PROJECTS/P05-trip-planner/
├── src/
│   ├── constraints.py
│   ├── planner.py
│   ├── tools.py
│   ├── formatter.py
│   └── chat.py

5.2 Implementation Phases

Phase 1: Constraints (3-4h)

  • Capture dates, budget, preferences.
  • Checkpoint: missing constraints prompt follow-ups.

Phase 2: Planning (4-6h)

  • Build itinerary with ordering.
  • Checkpoint: itinerary respects time windows.

Phase 3: Output + conflict resolution (3-5h)

  • Add structured output and tradeoff notes.
  • Checkpoint: conflicts explained clearly.

6. Testing Strategy

6.1 Test Categories

Category Purpose Examples
Unit constraint checks missing budget
Integration itinerary ordered activities
Regression conflicts consistent resolutions

6.2 Critical Test Cases

  1. Missing dates triggers follow-up questions.
  2. Budget too low produces alternative plan.
  3. Tool failure yields partial itinerary.

7. Common Pitfalls & Debugging

Pitfall Symptom Fix
Overloaded day too many activities enforce time caps
Missing costs budget ignored add cost estimates
Tool errors no itinerary add fallback defaults

8. Extensions & Challenges

Beginner

  • Add PDF export.
  • Add packing checklist.

Intermediate

  • Add collaborative planning for groups.
  • Add map visualizations.

Advanced

  • Add optimization (shortest travel times).
  • Add price monitoring alerts.

9. Real-World Connections

  • Travel assistants require constraint-aware planning.
  • Event planners balance budgets and schedules.

10. Resources

  • LangChain agent docs
  • Constraint satisfaction references
  • Travel API documentation

11. Self-Assessment Checklist

  • I can gather and validate constraints.
  • I can generate ordered itineraries.
  • I can explain tradeoffs clearly.

12. Submission / Completion Criteria

Minimum Completion:

  • Constraint capture + itinerary

Full Completion:

  • Tool integration
  • Conflict resolution logic

Excellence:

  • Optimization and alerts
  • Visual itinerary outputs

This guide was generated from project_based_ideas/AI_AGENTS_LLM_RAG/LEARN_LANGCHAIN_PROJECTS.md.