Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Junior: питання на співбесіді з теми «AI SDK, MCP і Boost»

Питання з реальних співбесід з відповідями: Laravel і PHP, бази даних, JavaScript і фронтенд, Git, Docker, API, безпека й архітектура. Тими самими темами, що й тести.

2 питання

Laravel AI SDK (laravel/ai) - офіційний пакет для роботи з великими мовними моделями та іншими AI-сервісами через єдиний API: OpenAI, Anthropic, Gemini, Mistral, DeepSeek, xAI, Ollama та інші. Код застосунку не залежить від конкретного провайдера - його можна змінити в конфігурації.

composer require laravel/ai

Ключі провайдерів задаються в .env (OPENAI_API_KEY, ANTHROPIC_API_KEY...), налаштування - у config/ai.php.

Агент - окремий PHP-клас, що інкапсулює все потрібне для однієї задачі: інструкції (системний промпт), контекст розмови, інструменти й схему відповіді.

php artisan make:agent SupportAssistant
namespace App\Ai\Agents;

use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;

class SupportAssistant implements Agent
{
    use Promptable;

    public function instructions(): string
    {
        return 'Ти асистент підтримки інтернет-магазину. Відповідай коротко й лише про замовлення та доставку.';
    }
}

Виклик:

$response = (new SupportAssistant)->prompt('Де моє замовлення №1042?');

return (string) $response;

SupportAssistant::make(...) створює агента через контейнер - з автоматичним впровадженням залежностей.

Налаштування через атрибути:

#[Provider(Lab::Anthropic)]
#[MaxTokens(1024)]
#[Temperature(0.2)]
#[Timeout(60)]
class SupportAssistant implements Agent

Що ще вміє SDK, крім текстових агентів:

  • структурована відповідь за JSON-схемою;
  • інструменти - функції застосунку, які модель може викликати;
  • стримінг відповіді й обробка в черзі;
  • збереження розмов у базі (RemembersConversations);
  • ембединги для семантичного пошуку (Str::of($text)->toEmbeddings(), whereVectorSimilarTo у Query Builder);
  • генерація зображень, аудіо, транскрибування;
  • резервні провайдери: provider: [Lab::OpenAI, Lab::Anthropic] - якщо перший недоступний чи вичерпав ліміт.

Чому агент - клас, а не просто виклик API: інструкції, інструменти й налаштування зібрані в одному місці, агента можна підробити в тестах (SupportAssistant::fake()) і перевикористати в контролері, команді чи черзі.

Докладніше в документації: AI SDK: агенти

MCP (Model Context Protocol) - відкритий протокол, через який AI-клієнт (Claude Code, Cursor, Codex, Copilot, Junie) отримує доступ до інструментів, ресурсів і промптів зовнішньої системи. Сервер MCP описує, що він уміє, а модель вирішує, коли цим скористатися.

Laravel Boost (laravel/boost) - пакет для розробки, що робить AI-асистента обізнаним саме про ваш застосунок і версії пакетів.

composer require laravel/boost --dev
php artisan boost:install

boost:install питає, якими агентами ви користуєтеся, і генерує для них файли:

  • конфігурацію MCP (.mcp.json тощо) - агент запускає php artisan boost:mcp;
  • настанови (guidelines) - файли на кшталт CLAUDE.md, AGENTS.md з правилами для вашої версії Laravel і встановлених пакетів (Livewire 4, Filament 5, Pest...);
  • навички (skills) - детальні інструкції, що завантажуються на вимогу під конкретну задачу.

Інструменти MCP-сервера Boost:

Інструмент Навіщо агенту
Application Info версії PHP, Laravel, пакетів, список моделей
Database Schema / Query структура таблиць і запити до бази
Search Docs документація саме для встановлених версій пакетів
Last Error / Read Log Entries останні помилки з логів
Browser Logs помилки з консолі браузера
Get Absolute URL правильна адреса сторінки застосунку

Чому це важливо: модель навчена на коді різних версій. Без контексту вона охоче напише код для Livewire 2 чи старий синтаксис маршрутів. Boost дає їй документацію й правила для того, що реально встановлено, і можливість перевірити схему бази замість вгадування.

Власні правила проєкту:

  • .ai/guidelines/*.md (чи .blade.php) - додаткові настанови, що потрапляють у згенеровані файли;
  • .ai/skills/{назва}/SKILL.md - власні навички.

Оновлення: php artisan boost:update - перегенерувати настанови й навички після оновлення пакетів (зручно додати в post-update-cmd Composer).

Безпека: Boost - залежність лише для розробки (--dev). Інструмент запитів до бази виконується з правами застосунку, тож підключати агента варто до локальної бази, а не до продакшену.

Докладніше в документації: Boost: MCP-сервер