SystemPromptScrubber
SystemPromptScrubber est un Processor de sortie qui détecte et traite les prompts système, les instructions et les autres informations révélatrices susceptibles d'introduire des vulnérabilités de sécurité. Ce Processor contribue à préserver la sécurité en identifiant les types de prompts système et en proposant des stratégies flexibles pour les traiter, dont plusieurs méthodes de masquage qui garantissent un nettoyage approprié des informations sensibles.
Exemple d'utilisationLien direct vers Exemple d'utilisation
import { SystemPromptScrubber } from '@mastra/core/processors'
const processor = new SystemPromptScrubber({
model: 'openrouter/openai/gpt-oss-safeguard-20b',
strategy: 'redact',
redactionMethod: 'mask',
includeDetections: true,
lastMessageOnly: true,
})
Paramètres du constructeurLien direct vers Paramètres du constructeur
options:
model:
strategy?:
customPatterns?:
includeDetections?:
lastMessageOnly?:
instructions?:
redactionMethod?:
placeholderText?:
Valeur renvoyéeLien direct vers Valeur renvoyée
id:
name?:
processOutputStream:
processOutputResult:
Exemple d'utilisation avancéeLien direct vers Exemple d'utilisation avancée
Lorsque vous utilisez SystemPromptScrubber comme Processor de sortie, il est recommandé de l'associer à BatchPartsProcessor pour optimiser les performances. BatchPartsProcessor regroupe les segments du flux en lots avant de les transmettre au Processor de nettoyage, ce qui réduit le nombre d'appels au LLM nécessaires à la détection.
import { Agent } from '@mastra/core/agent'
import { BatchPartsProcessor, SystemPromptScrubber } from '@mastra/core/processors'
export const agent = new Agent({
id: 'scrubbed-agent',
name: 'scrubbed-agent',
instructions: 'You are a helpful assistant',
model: 'openai/gpt-5.6-sol',
outputProcessors: [
// Batch stream parts first to reduce LLM calls
new BatchPartsProcessor({
batchSize: 10,
}),
// Then apply system prompt detection on batched content
new SystemPromptScrubber({
model: 'openrouter/openai/gpt-oss-safeguard-20b',
strategy: 'redact',
customPatterns: ['system prompt', 'internal instructions'],
includeDetections: true,
redactionMethod: 'placeholder',
placeholderText: '[REDACTED]',
}),
],
})