Урок 05

Prompts: шаблоны диалога

Prompts — переиспользуемые шаблоны для AI-клиента.

Зачем нужны

Пользователь не должен каждый раз писать «Проверь код на безопасность, стиль и производительность». Он выбирает Prompt из списка.

Создание

php artisan make:mcp-prompt ReviewCode

Базовая структура

namespace App\Mcp\Prompts;

use Laravel\Mcp\Prompt;
use Laravel\Mcp\Prompt\Response;

class ReviewCode extends Prompt
{
    protected string $description = 'Проверяет код на безопасность и стиль.';

    public function handle(Request $request): Response
    {
        return Response::text(<<<'PROMPT'
        Проверь следующий код:

        1. Безопасность (SQL-инъекции, XSS)
        2. Стиль (PEP, PSR)
        3. Производительность

        Код: {{code}}
        PROMPT);
    }
}

Аргументы

public function arguments(JsonSchema $schema): array
{
    return [
        'code' => $schema->string()->required(),
        'language' => $schema->string()->enum(['php', 'js']),
    ];
}

Регистрация

protected array $prompts = [
    ReviewCode::class,
];

Использование

В ChatGPT или Claude пользователь видит список Prompts. Выбирает «Review Code», вводит код — AI получает готовый шаблон.

Разница с Tools

  • Tools — AI решает, когда вызвать
  • Prompts — пользователь выбирает вручную

Итоги

  • make:mcp-prompt создаёт
  • handle() возвращает шаблон
  • arguments() для параметров
  • Для переиспользуемых задач
  • Пользователь выбирает сам