VoltAgent : TypeScript ベースのエージェント・フレームワーク

VoltAgent は AI エージェントを構築してオーケストレーションするためのオープンソースの TypeScript フレームワークです。メモリ、ワークフロー、ツールと組み込み LLM オブザーバビリティを備えた本番環境対応のエージェントを構築できます。

VoltAgent : 概要

作成 : クラスキャット・セールスインフォメーション
作成日時 : 12/13/2025
バージョン : @voltagent/core@1.2.21

* 本記事は voltagent.dev/docs の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています。スニペットはできる限り日本語を使用しています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

 

VoltAgent : 概要

VoltAgent は AI エージェントを構築してオーケストレーションするためのオープンソースの TypeScript フレームワークです。メモリ、ワークフロー、ツールと組み込み LLM オブザーバビリティを備えた本番環境対応のエージェントを構築できます。

 

Why VoltAgent?

  • 初日から本番環境対応 : インフラをゼロから構築するのではなく、組み込みのメモリ、ワークフロー、オブザーバビリティを備えたエージェントをリリースできます。

  • 安心してコードを書ける : エージェントシステム全体で、型安全なツール、自動推論、コンパイル時の安全性を備えた完全な TypeScript サポートを提供します。

  • プロレベルのデバッグ : 組み込みの VoltOps オブザーバビリティは、外部ツールを使用することなく、リアルタイムにすべての決定をトレースし、パフォーマンスを監視し、ワークフローを最適化することを可能にします。

  • 複雑なシステムを単純に構築 : プロトタイプから本番環境までスケールする、スーパーバイザーによる調整、宣言的ワークフロー、モジュール式アーキテクチャによる、マルチエージェント・システムのオーケストレーション。

 

エージェント開発プラットフォーム

VoltAgent は 2 つの補完ツールを通して AI エージェントを開発・監視するための完全なプラットフォームを提供します。
end-to-end なウォークスルー (e.g., Slack エージェント) については、Recipes & Guides セクションをご覧ください。

 

コアフレームワーク

コアフレームワークを使用して、任意の AI プロバイダーに接続しながら、メモリ、ツールとマルチステップ・ワークフローを備えた知的エージェントを構築できます。スーパーバイザーの調整のもとで、専門エージェントが協調する、洗練されたマルチエージェントシステムを作成します。

  • 📄️ コアランタイム : 型付きのロール、ツール、メモリ、モデルプロバイダーを備えたエージェントを一箇所で定義しますので、すべてが整理されたまま保持されます。

  • 📄️ ワークフローエンジン : カスタム制御フローをつなぎ合わせるのではなく、マルチステップの自動化を宣言的に記述します。

  • 📄️ スーパーバイザー & サブエージェント : タスクをルーティングし、それらの同期を維持するスーパーバイザー・ランタイムのもとで、専門エージェントのチームを実行します。

  • 📄️ ツールレジストリ & MCP : ライフサイクル・フックとキャンセル機能を備えた Zod 型付きツールを提供し、余計な繋ぎのコードなしに Model Context Protocol サーバに接続できます。

  • 📄️ LLM 互換性 : エージェントロジックを書き換えることなく config を変更することで、OpenAI, Anthropic, Google やその他のプロバイダー間で切り替えることができます。

  • 📄️ メモリ : 永続的メモリアダプターを装着すると、エージェントは実行にわたり重要なコンテキストを記憶します。

  • 📄️ 検索 & RAG : 検索エージェントをプラグインして、モデルが回答する前にデータソースから facts を取得し、応答に根拠を与えることができます (RAG)。

  • 📄️ 評価 (Evals) : ワークフローと並行してエージェント評価スイートを実行することで、ガードレールをより高速に提供できます。

  • 📄️ ガードレール : 安全性チェックと検証レイヤーを追加して、エージェントが正しく安全に動作することを保証します。

  • 📄️ 配備 : ワンクリックの GitHub 統合とマネージドインフラストラクチャを使用して、エージェントを本番環境に配備します。

 

コアフレームワークのサンプル

import { VoltAgent, Agent } from "@voltagent/core";
import { honoServer } from "@voltagent/server-hono";
import { openai } from "@ai-sdk/openai";

const agent = new Agent({
  name: "my-voltagent-app",
  instructions: "A helpful assistant that answers questions without using tools",
  // VoltAgent は AI SDK を直接使用します - 任意の ai-sdk モデルを選択してください
  model: openai("gpt-4o-mini"),
});

// エージェントを HTTP 経由でサービス提供する (デフォルトポート3141)
new VoltAgent({
  agents: { agent },
  server: honoServer(),
});

 

ワークフローエンジンのサンプル

import { createWorkflowChain, andThen, andAgent, Agent } from "@voltagent/core";
import { openai } from "@ai-sdk/openai";
import { z } from "zod";

// 最初に、ワークフローで使用されるエージェントを定義します
const agent = new Agent({
  name: "summarizer-agent",
  instructions: "You are an expert at summarizing text.",
  model: openai("gpt-4o-mini"),
});

// 次に、エージェントを使用するワークフローを作成します
const analysisWorkflow = createWorkflowChain({
  id: "text-analysis-workflow",
  name: "Text Analysis Workflow",
  input: z.object({ text: z.string() }),
  result: z.object({
    summary: z.string(),
    summaryWordCount: z.number(),
  }),
})
  // Step 1: データの準備
  .andThen({
    name: "trim-text",
    execute: async (data) => ({
      trimmedText: data.text.trim(),
    }),
  })
  // Step 2: 分析用 AI エージェントの呼び出し
  .andAgent(
    (data) => `Summarize this text in one sentence: "${data.trimmedText}"`,
    agent, // Uses the agent defined above
    {
      schema: z.object({ summary: z.string() }),
    }
  )
  // Step 3: AI の出力の処理
  .andThen({
    name: "count-summary-words",
    execute: async (data) => ({
      summary: data.summary,
      summaryWordCount: data.summary.split(" ").length,
    }),
  });

 

アクション & 統合

独自の接続処理を記述することなく、エージェントやワークフローの出力を外部システムに接続できます。VoltOps はアクションカタログ (最初のリリース: Airtable) を同梱しており、これはコンソールから参照してテストを行い、コードから直接呼び出すことができます。

  • VoltOps コンソールのアクション drawer を使用して、統合を選択し、認証情報を選択して、サンプルのペイロード値を提供します。

  • drawer から実際のプロバイダーテストを実行し、レスポンスを調べ、生成された SDK スニペットをコピーします。

  • スニペットをエージェントまたはワークフローに貼り付け、サンプル値を実行時データと置き換えます。
import { createVoltOpsClient } from "@voltagent/core";

const voltops = createVoltOpsClient({
  publicKey: process.env.VOLT_PUBLIC_KEY!,
  secretKey: process.env.VOLT_SECRET_KEY!,
});

await voltops.actions.airtable.createRecord({
  credential: { credentialId: "cred_abc123" },
  baseId: "appXXXXXXXXXXXXXX",
  tableId: "tblYYYYYYYYYYYY",
  fields: {
    Name: "Ada Lovelace",
    Email: "ada@example.com",
  },
  typecast: true,
});

バインディングは VoltOps 内で実行され、オブザーバビリティと再試行機能を備え、JSON 変換テンプレートを使用してエージェントまたはワークフローにアタッチできます。追加のプロバイダーも同じエクスペリエンスで利用できます。

 

VoltOps LLM オブザーバビリティ・プラットフォーム

VoltAgent は組み込みの VoltOps LLM オブザーバビリティを備え、詳細な実行トレース、パフォーマンス・メトリクス、視覚的なダッシュボードを使用して、エージェントを監視してデバッグできます。エージェントが行うすべての決定を検査し、ツールの使用状況を追跡し、組み込みの OpenTelemetry ベースのオブザーバビリティを使用してワークフローを最適化できます。

 

以上