> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # Agent.generateLegacy()(Legacy) > **警告:** **非推奨**:このメソッドは非推奨で、従来の Model Adapter でのみ動作します。現在の Model Adapter では、代わりに [`.generate()`](https://mastra.zisheng.pro/ja/reference/agents/generate) を使用してください。 `.generateLegacy()` は Agent 生成 API の従来版で、従来の Model Adapter を使ってテキストまたは構造化レスポンスを生成します。メッセージと任意の生成オプションを受け取ります。 ## 使用例 ```typescript await agent.generateLegacy('message for agent') ``` ## Processor の再試行対応 `generateLegacy()` は Error Processor や `maxProcessorRetries` を実行せず、従来の AI SDK 生成パスを使用します。 従来の Model Adapter を使う Scorer Judge は `generateLegacy()` を呼び出します。Mastra の現在の生成 API を使う Scorer Judge で利用できる、調整済みの `StreamErrorRetryProcessor` Budget は適用されません。Error Processor の再試行が必要な場合は、現在の Model Adapter を使用してください。従来の `maxRetries` オプションは独立しており、デフォルトは `2` です。 ## パラメータ **messages** (`string | string[] | CoreMessage[] | AiMessageType[] | UIMessageWithMetadata[]`): Agent へ送るメッセージ。単一の文字列、文字列配列、またはマルチモーダルな内容(テキスト、画像など)を持つ構造化メッセージオブジェクトを指定できます。 **options** (`AgentGenerateOptions`): 生成処理の任意設定。 **options.abortSignal** (`AbortSignal`): Agent の実行を中止できる Signal オブジェクト。Signal が中止されると、進行中のすべての処理が終了します。 **options.context** (`CoreMessage[]`): Agent へ渡す追加のコンテキストメッセージ。 **options.structuredOutput** (`StructuredOutputOptions`): 開発者体験を向上させた構造化出力の生成を有効にします。内部で StructuredOutputProcessor を自動的に作成して使用します。 **options.structuredOutput.schema** (`z.ZodSchema`): 出力の検証に使う Zod Schema。 **options.structuredOutput.model** (`MastraLanguageModel`): 内部の構造化 Agent で使うモデル。 **options.structuredOutput.errorStrategy** (`'strict' | 'warn' | 'fallback'`): 解析または検証に失敗した場合の方式。デフォルトは 'strict' です。 **options.structuredOutput.fallbackValue** (``): errorStrategy が 'fallback' の場合に使うフォールバック値。 **options.structuredOutput.instructions** (`string`): 構造化 Agent 用のカスタム instructions。 **options.outputProcessors** (`Processor[]`): Agent に設定された Output Processor を上書きします。ユーザーへ返す前に、Agent からのメッセージを変更または検証できます。processOutputResult と processOutputStream の一方または両方を実装する必要があります。 **options.inputProcessors** (`Processor[]`): Agent に設定された Input Processor を上書きします。Agent が処理する前にメッセージを変更または検証できます。processInput 関数を実装する必要があります。 **options.experimental\_output** (`Zod schema | JsonSchema7`): 推奨される方法は structuredOutput プロパティの使用です。テキスト生成と Tool 呼び出しに加えて、構造化出力の生成を有効にします。モデルは指定された Schema に準拠するレスポンスを生成します。 **options.instructions** (`string`): この生成に限り Agent のデフォルト instructions を上書きするカスタム instructions。新しい Agent インスタンスを作成せずに、Agent の動作を動的に変更する場合に便利です。 **options.output** (`Zod schema | JsonSchema7`): 出力に期待する構造を定義します。JSON Schema オブジェクトまたは Zod Schema を指定できます。 **options.memory** (`object`): Memory の設定。Memory を管理する推奨方法です。 **options.memory.thread** (`string | { id: string; metadata?: Record, title?: string }`): 会話 Thread。文字列 ID、または id と任意の metadata を持つオブジェクトとして指定します。 **options.memory.resource** (`string`): Thread に関連付けるユーザーまたは Resource の識別子。 **options.memory.options** (`MemoryConfig`): メッセージ履歴や Semantic Recall など、Memory の動作設定。以下の MemoryConfig を参照してください。 **options.maxSteps** (`number`): 許可する実行 Step の最大数。 **options.maxRetries** (`number`): 最大再試行回数。再試行を無効にするには 0 を設定します。 **options.onStepFinish** (`GenerateTextOnStepFinishCallback | never`): 各実行 Step の後に呼び出される Callback 関数。Step の詳細を JSON 文字列として受け取ります。構造化出力では利用できません。 **options.runId** (`string`): この生成 Run の一意な ID。追跡やデバッグに役立ちます。 **options.telemetry** (`TelemetrySettings`): 生成中の Telemetry 収集設定。 **options.telemetry.isEnabled** (`boolean`): Telemetry を有効または無効にします。実験段階ではデフォルトで無効です。 **options.telemetry.recordInputs** (`boolean`): 入力記録を有効または無効にします。デフォルトでは有効です。機密情報の記録を避けるには、入力記録を無効にしてください。 **options.telemetry.recordOutputs** (`boolean`): 出力記録を有効または無効にします。デフォルトでは有効です。機密情報の記録を避けるには、出力記録を無効にしてください。 **options.telemetry.functionId** (`string`): この関数の識別子。Telemetry データを関数単位でグループ化するために使います。 **options.temperature** (`number`): モデル出力のランダム性を制御します。値が高いほど(例:0.8)出力はランダムになり、低いほど(例:0.2)焦点が定まり決定的になります。 **options.toolChoice** (`'auto' | 'none' | 'required' | { type: 'tool'; toolName: string }`): 生成中に Agent が Tool を使う方法を制御します。 **options.toolChoice.'auto'** (`string`): Tool を使うかどうかをモデルに判断させます(デフォルト)。 **options.toolChoice.'none'** (`string`): Tool を一切使用しません。 **options.toolChoice.'required'** (`string`): モデルに少なくとも1つの Tool の使用を必須とします。 **options.toolChoice.{ type: 'tool'; toolName: string }** (`object`): モデルに名前を指定した特定 Tool の使用を必須とします。 **options.toolsets** (`ToolsetsInput`): 生成中に Agent で利用できる追加 Toolset。 **options.clientTools** (`ToolsInput`): リクエストの 'client' 側で実行される Tool。これらの Tool の定義には execute 関数がありません。 **options.hooks** (`ToolHooks`): Tool 呼び出しの前後に実行される実行単位の Hook。この実行では、一致する Agent レベルの Hook を上書きします。beforeToolCall は { proceed: false, output } を返して Tool 呼び出しをスキップできます。 **options.savePerStep** (`boolean`): 各生成 Step の完了後にメッセージを増分保存します(デフォルト:false)。Observational Memory が有効な場合は内部で無効化されます。 **options.providerOptions** (`Record>`): 基盤の LLM Provider へ渡す Provider 固有の追加オプション。構造は { providerName: { optionKey: value } } です。Mastra は AI SDK を拡張しているため、Provider オプションの全一覧は AI SDK ドキュメントを参照してください。 **options.providerOptions.openai** (`Record`): OpenAI 固有のオプション。例:{ reasoningEffort: 'high' } **options.providerOptions.anthropic** (`Record`): Anthropic 固有のオプション。例:{ maxTokens: 1000 } **options.providerOptions.google** (`Record`): Google 固有のオプション。例:{ safetySettings: \[...] } **options.providerOptions.\[providerName]** (`Record`): その他の Provider 固有オプション。キーは Provider 名、値は Provider 固有オプションの Record です。 **options.requestContext** (`RequestContext`): 依存性注入とコンテキスト情報に使う Request Context。 **options.maxTokens** (`number`): 生成する Token の最大数。 **options.topP** (`number`): Nucleus Sampling。0〜1 の数値です。temperature または topP のどちらか一方だけを設定することを推奨します。 **options.topK** (`number`): 後続の各 Token について、上位 K 個の選択肢からのみ Sampling します。確率が低い 'long tail' のレスポンスを除外するために使います。 **options.presencePenalty** (`number`): Presence Penalty の設定。Prompt にすでに含まれる情報をモデルが繰り返す確率に影響します。-1(反復を増加)から 1(最大 Penalty、反復を減少)までの数値です。 **options.frequencyPenalty** (`number`): Frequency Penalty の設定。モデルが同じ単語やフレーズを繰り返す確率に影響します。-1(反復を増加)から 1(最大 Penalty、反復を減少)までの数値です。 **options.stopSequences** (`string[]`): Stop Sequence。設定すると、いずれかの Stop Sequence が生成された時点でモデルはテキスト生成を停止します。 **options.seed** (`number`): Random Sampling に使う Seed(整数)。設定し、モデルが対応している場合、呼び出しは決定的な結果を生成します。 **options.headers** (`Record`): リクエストとともに送信する追加 HTTP Header。HTTP ベースの Provider にのみ適用されます。 ## 戻り値 **text** (`string`): 生成されたテキストレスポンス。出力が 'text' の場合(Schema 未指定)に存在します。 **object** (`object`): 生成された構造化レスポンス。output、structuredOutput、experimental\_output のいずれかで Schema を指定した場合に存在します。 **toolCalls** (`Array`): 生成処理中に行われた Tool 呼び出し。text モードと object モードの両方に存在します。 **toolCalls.toolName** (`string`): 呼び出された Tool の名前。 **toolCalls.args** (`any`): Tool へ渡された引数。 ## 新しい API への移行 > **情報:** 新しい `.generate()` メソッドは、AI SDK v5 以降との互換性、構造化出力処理の改善、ストリーミング対応の強化などの機能を提供します。詳しい移行手順は[移行ガイド](https://mastra.zisheng.pro/ja/guides/migrations/vnext-to-standard-apis)を参照してください。 ### 移行の簡単な例 #### 変更前(Legacy) ```typescript const result = await agent.generateLegacy('message', { temperature: 0.7, maxSteps: 3, }) ``` #### 変更後(新 API) ```typescript const result = await agent.generate('message', { modelSettings: { temperature: 0.7, }, maxSteps: 3, }) ``` ## 詳細な使用例 ```typescript import { z } from 'zod' import { ModerationProcessor, TokenLimiterProcessor } from '@mastra/core/processors' await agent.generateLegacy( [ { role: 'user', content: 'message for agent' }, { role: 'user', content: [ { type: 'text', text: 'message for agent', }, { type: 'image', imageUrl: 'https://example.com/image.jpg', mimeType: 'image/jpeg', }, ], }, ], { temperature: 0.7, maxSteps: 3, memory: { thread: 'user-123', resource: 'test-app', }, toolChoice: 'auto', providerOptions: { openai: { reasoningEffort: 'high', }, }, // Structured output with better DX structuredOutput: { schema: z.object({ sentiment: z.enum(['positive', 'negative', 'neutral']), confidence: z.number(), }), model: 'openai/gpt-5.6-sol', errorStrategy: 'warn', }, // Output processors for response validation outputProcessors: [ new ModerationProcessor({ model: 'openai/gpt-5-mini' }), new TokenLimiterProcessor({ maxTokens: 1000 }), ], }, ) ``` ## 関連項目 - [移行ガイド](https://mastra.zisheng.pro/ja/guides/migrations/vnext-to-standard-apis) - [新しい .generate() メソッド](https://mastra.zisheng.pro/ja/reference/agents/generate) - [レスポンスの生成](https://mastra.zisheng.pro/ja/docs/agents/overview) - [レスポンスのストリーミング](https://mastra.zisheng.pro/ja/docs/agents/overview)