メインコンテンツへ移動

Processor

ファイルベースの Agent は、自身の processors/ ディレクトリから Processor を検出します。ファイルベースの規約については、このページを参照してください。組み込み Processor、カスタム Processor、ストリーミング動作、高度なパターンについては、Processor ガイドを参照してください。

processors/input/ 内のファイルは、メッセージがモデルに到達する前に実行されます。processors/output/ 内のファイルは、モデルが応答した後に実行されます。各ファイルは 1 つの Processor をデフォルト export し、ファイル名が検出キーになります。

クイックスタート
クイックスタートへの直接リンク

processors/input/ に Processor ファイルを配置して、入力 Processor を追加します。

src/mastra/agents/weather/processors/input/pii.ts
import { PIIDetector } from '@mastra/core/processors'

export default new PIIDetector({
strategy: 'block',
})

この Processor は、ユーザーメッセージがモデルに到達する前に実行されます。

出力 Processor を追加する
出力 Processor を追加するへの直接リンク

出力 Processor は、モデルの応答が返される前にフィルタリングまたは変換する場合に適しています。この例では、最終応答から PII を秘匿します。

src/mastra/agents/weather/processors/output/redact.ts
import { PIIDetector } from '@mastra/core/processors'

export default new PIIDetector({
strategy: 'redact',
})

順序
順序への直接リンク

検出された Processor は、config.ts で定義されたすべての Processor の後に追加されます。つまり、設定内の Processor が先に実行されます。

Ordering
config.inputProcessors → processors/input/* → model
model → config.outputProcessors → processors/output/* → response

config.inputProcessors または config.outputProcessors が関数の場合、関数値の Processor は静的にマージできないため、その種類で検出された Processor は警告とともに無視されます。

config との優先順位
config との優先順位への直接リンク

実行時に作成する必要がある Processor や、複数の Agent で共有する Processor には、config.ts を使用します。Agent と一緒にレビューする静的な Agent ごとの Processor には、ファイルベースの Processor を使用します。

優先順位は次のとおりです。

  1. 関数値の config.inputProcessors または config.outputProcessors
  2. 配列値の config.inputProcessors または config.outputProcessors
  3. processors/input/ または processors/output/ で検出されたファイル

完全なインターフェースについては、Processor リファレンスを参照してください。