PrefillErrorHandler
PrefillErrorHandler est un Processor d’erreurs qui traite les erreurs de préremplissage de la réponse de l’assistant. Cette erreur se produit lorsqu’une conversation se termine par un message de l’assistant et que le modèle rejette la requête parce qu’il l’interprète comme un préremplissage de sa réponse.
Lorsque l’erreur est détectée, le Processor envoie un signal system-reminder masqué dont le contenu est continue, puis demande une nouvelle tentative. Le rappel est conservé dans les métadonnées du signal : il reste ainsi disponible pour reconstruire la nouvelle tentative et dans l’historique brut, tandis que les conversions de messages standard destinées à l’interface utilisateur le masquent.
Ajoutez ce Processor à errorProcessors lorsque vous souhaitez que Mastra récupère après un rejet du préremplissage de l’assistant, par exemple les erreurs "assistant message prefill" d’Anthropic et "assistant response prefill is incompatible with enable_thinking" de Qwen/llama.cpp.
FonctionnementLien direct vers Fonctionnement
- L’appel à l’API du LLM échoue avec un message connu de rejet du préremplissage de l’assistant
PrefillErrorHandlervérifie qu’il s’agit de la première nouvelle tentative- Il envoie un signal
system-remindermasqué dont le contenu estcontinue - Il renvoie
{ retry: true }pour indiquer que l’appel au LLM doit être relancé avec les messages modifiés
Le Processor réagit désormais directement au rejet de l’API au lieu de vérifier à nouveau si la conversation se termine par un message de l’assistant. Il reste ainsi robuste lorsque le Provider rejette la requête en raison de la sémantique du préremplissage, même si la structure du dernier message a déjà été transformée en amont.
Exemple d’utilisationLien direct vers Exemple d’utilisation
Ajoutez PrefillErrorHandler à errorProcessors pour chaque Agent qui doit effectuer une nouvelle tentative après un échec lié au préremplissage de l’assistant :
import { Agent } from '@mastra/core/agent'
import { PrefillErrorHandler } from '@mastra/core/processors'
export const agent = new Agent({
id: 'my-agent',
name: 'my-agent',
instructions: 'You are a helpful assistant.',
model: 'anthropic/claude-opus-4-7',
errorProcessors: [new PrefillErrorHandler()],
})
Pour personnaliser le comportement de récupération, fournissez votre propre Processor d’erreurs doté d’une méthode processAPIError :
import { Agent } from '@mastra/core/agent'
import type { Processor } from '@mastra/core/processors'
const customErrorHandler: Processor = {
id: 'custom-prefill-error-handler',
processAPIError({ error, messageList, retryCount }) {
// Your custom logic here
},
}
export const agent = new Agent({
id: 'my-agent',
name: 'my-agent',
instructions: 'You are a helpful assistant.',
model: 'anthropic/claude-opus-4-7',
errorProcessors: [customErrorHandler],
})
Paramètres du constructeurLien direct vers Paramètres du constructeur
Le constructeur de PrefillErrorHandler n’accepte aucun paramètre.