Перейти до основного вмісту

Pizza Tracker

Pizza Tracker — це система моніторингу прогресу в реальному часі, яка інформує користувачів під час операцій AI Agent.

🍕 Що таке Pizza Tracker?

Натхненний відстеженням замовлень Domino's, Pizza Tracker показує прогрес у реальному часі, коли:

  • Виконується Magic Search
  • Запускаються інструменти AI Agent
  • Обробляється аналіз настроїв (sentiment analysis)
  • Збираються дані з кількох джерел (scraping multiple data sources)

🎨 Візуальний дизайн

Трекер відображається як панель у стилі терміналу з:

  • Піктограмами статусу (⏳ очікує, 🔄 виконується, ✅ завершено)
  • Індикаторами прогресу для тривалих операцій
  • Статистикою в реальному часі (зібрані відгуки, оброблені сторінки)
  • Приблизним часом до завершення

📊 Що він показує

🔍 Finding Kununu profile...     ✅
🚀 Starting scraping jobs... ✅
📊 Kununu: 156/200 reviews 🔄 78%
📊 Google: 45/50 reviews 🔄 90%
📊 Reddit: 12 discussions ✅
📊 Vacancies: 8 job posts ✅
🤖 Running sentiment analysis... ⏳
✅ Analysis complete!

Під час інструментів AI Agent

🤖 AI Agent is working...
├── search_company("BMW") ✅ Found
├── get_trust_score("BMW") 🔄 Calculating...
└── get_company_reviews("BMW") ⏳ Pending

🔧 Технічна реалізація

Компонент Frontend

// ChatWidget.jsx
<AgentStatusTracker toolCalls={toolCalls} isActive={isProcessing} />

Відповідь Backend

{
"response": "BMW has a Trust Score of 74...",
"tool_calls": [
{
"name": "search_company",
"args": { "company_name": "BMW" },
"status": "complete"
},
{
"name": "get_trust_score",
"args": { "company_name": "BMW" },
"status": "complete"
}
]
}

Оновлення WebSocket

Для тривалих операцій оновлення прогресу відбувається через WebSocket:

// Real-time updates
socket.on("scraping_progress", (data) => {
setProgress(data.reviews_collected);
setTotal(data.total_expected);
});

🎯 Переваги

Досвід користувача (User Experience)

  • Зменшує тривогу – Користувачі знають, що щось відбувається
  • Встановлює очікування – Показано приблизний час
  • Будує довіру – Прозорість процесу

Залучення (Engagement)

  • Утримання – Користувачі залишаються на сторінці
  • Інтерес – Динамічні оновлення приваблюють
  • Преміальний вигляд – Професійний досвід

📊 Стани прогресу

СтанІконкаЗначення
ОчікуєОчікує на початок
Виконується🔄Обробляється зараз
ЗавершеноУспішно завершено
ПомилкаПомилка (з повідомленням)

🛠️ Конфігурація

Показати/Приховати

Трекер автоматично з'являється, коли інструменти використовуються:

  • Показується: Коли tool_calls має елементи, що очікують
  • Приховується: Коли всі інструменти завершені

Інтервал опитування (Polling Interval)

Для завдань scraping прогрес опитується кожні 2 секунди:

const POLL_INTERVAL = 2000; // ms

Pizza Tracker створює преміальний, прозорий досвід під час операцій AI.