Урок 07

Production: middleware и guardrails

AI в продакшене требует защиты: prompt injection, PII, лимиты.

Laravel Guardrail

composer require fr3on/laravel-guardrail

Middleware для input/output safety:

use Fr3on\Guardrail\Middleware\Guardrail;

class CustomerSupportAgent implements Agent, HasMiddleware
{
    public function middleware(): array
    {
        return [
            new Guardrail([
                'input' => ['max_length' => 5000],
                'output' => ['redact_pii' => true],
            ]),
        ];
    }
}

Intercept: Prompt Injection

composer require promptphp/intercept
use PromptPHP\Intercept\InjectionGuard\PromptInjectionGuard;

public function middleware(): array
{
    return [
        new PromptInjectionGuard(
            action: 'block',
            patterns: [
                '/disregard (?:all )?(?:previous|prior) instructions/i',
                '/pretend (?:you are|to be) /i',
            ],
        ),
    ];
}

Паттерны для common injection.

PII Redaction

use PromptPHP\Intercept\PIIRedactor;

new PIIRedactor(
    action: 'redact',
    entities: ['email', 'phone', 'credit_card'],
    allowedDomains: ['acme.test'],
);

Credit cards, API keys — block on sight.

Rate limiting

RateLimiter::for('ai', function ($request) {
    return Limit::perMinute(10)->by($request->user()->id);
});

Итоги

  • Guardrail для input/output
  • PromptInjectionGuard для injection
  • PIIRedactor для персональных данных
  • Rate limiting обязателен
  • Middleware на агента