Umfangs-Umschalter: Checkbox "Auch bestehende Stundeninhalte anpassen" im AiAssistDialog steuert, ob die KI bestehende Stunden inhaltlich ändern darf oder die Einheit nur um neue Stunden erweitern soll. Zweifach durchgesetzt (Systemprompt + hartes client-seitiges Verwerfen in ApplyResponse), nicht nur der KI-Antwort vertraut. Dabei auch einen Bug gefixt: eine bereits "Durchgeführt" markierte Stunde wurde durch eine übernommene KI-Änderung stillschweigend auf "Geplant" zurückgesetzt. Prompt Caching: der Systemprompt ist jetzt vollständig statisch (Voraussetzung für Caching) und wird von AnthropicProvider.php als "cache_control: ephemeral" markiert — wiederholte Anfragen innerhalb der 5-Minuten-TTL zahlen nur den reduzierten Cache-Read-Preis. transactions-Tabelle und Preistabelle um Cache-Token-Spalten erweitert, Migration für bereits deployte Installationen beigelegt.
16 lines
584 B
PHP
16 lines
584 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
interface ProviderInterface
|
|
{
|
|
/**
|
|
* cacheCreationInputTokens/cacheReadInputTokens sind für Provider ohne Prompt-Caching-
|
|
* Unterstützung einfach immer 0 (siehe FakeProvider) — plan.php rechnet damit trotzdem
|
|
* korrekt, ohne je nach Provider zu unterscheiden.
|
|
*
|
|
* @return array{content: string, inputTokens: int, outputTokens: int,
|
|
* cacheCreationInputTokens: int, cacheReadInputTokens: int}
|
|
*/
|
|
public function sendMessage(string $systemPrompt, string $userContent, int $maxTokens): array;
|
|
}
|