Skip to content

Latest commit

 

History

History
367 lines (264 loc) · 20.7 KB

File metadata and controls

367 lines (264 loc) · 20.7 KB
voltagent

AIエージェントエンジニアリングプラットフォーム



GitHub issues GitHub pull requests License: MIT Contributor Covenant npm version

npm downloads Discord Twitter Follow

⭐ 気に入ったらスターをください ⬆️

VoltAgentは、2つの主要な部分で構成されるエンドツーエンドのAIエージェントエンジニアリングプラットフォームです:

完全なコード制御でエージェントを構築し、本番環境対応の可視性とオペレーションでリリースできます。

コアTypeScriptフレームワーク

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

  • コアランタイム (@voltagent/core): 型付きの役割、ツール、メモリ、モデルプロバイダーを1か所で定義し、すべてを整理された状態に保ちます。
  • ワークフローエンジン: カスタム制御フローをつなぎ合わせる代わりに、複数ステップの自動化を宣言的に記述します。
  • スーパーバイザーとサブエージェント: タスクをルーティングし、同期を維持するスーパーバイザーランタイムの下で、専門化されたエージェントのチームを実行します。
  • ツールレジストリMCP: ライフサイクルフックとキャンセル機能を備えたZod型のツールを提供し、追加の接着コードなしでModel Context Protocolサーバーに接続します。
  • LLM互換性: エージェントロジックを書き直さずに、設定を変更するだけでOpenAI、Anthropic、Googleなどのプロバイダー間を切り替えます。
  • メモリ: 永続的なメモリアダプターを接続して、エージェントが実行間で重要なコンテキストを記憶できるようにします。
  • 検索とRAG: データソースから事実を取得し、モデルが回答する前に応答を根拠づける(RAG)レトリーバーエージェントをプラグインします。
  • VoltAgentナレッジベース: ドキュメントの取り込み、チャンク化、埋め込み、検索のためのマネージドRAGサービスを使用します。
  • 音声: OpenAI、ElevenLabs、またはカスタム音声プロバイダーでテキスト読み上げと音声認識機能を追加します。
  • ガードレール: 実行時にエージェントの入力または出力を傍受して検証し、コンテンツポリシーと安全ルールを適用します。
  • 評価: ワークフローと並行してエージェント評価スイートを実行し、エージェントの動作を測定および改善します。

MCPサーバー (@voltagent/mcp-docs-server)

Claude、Cursor、WindsurfなどのAI搭載コーディングアシスタント向けに、MCPサーバー@voltagent/mcp-docs-serverを使用してLLMにVoltAgentの使用方法を教えることができます。これにより、AIアシスタントはコーディング中にVoltAgentのドキュメント、例、変更ログに直接アクセスできます。

📖 MCPドキュメントサーバーのセットアップ方法

⚡ クイックスタート

create-voltagent-app CLIツールを使用して、数秒で新しいVoltAgentプロジェクトを作成します:

npm create voltagent-app@latest

このコマンドがセットアップをガイドします。

エージェントと包括的なワークフロー例の両方を登録するsrc/index.tsでスターターコードが表示され、ワークフローの例はsrc/workflows/index.tsにあります。

import { VoltAgent, Agent, Memory } from "@voltagent/core";
import { LibSQLMemoryAdapter } from "@voltagent/libsql";
import { createPinoLogger } from "@voltagent/logger";
import { honoServer } from "@voltagent/server-hono";
import { openai } from "@ai-sdk/openai";
import { expenseApprovalWorkflow } from "./workflows";
import { weatherTool } from "./tools";

// ロガーインスタンスの作成
const logger = createPinoLogger({
  name: "my-agent-app",
  level: "info",
});

// オプションの永続メモリ(デフォルトのインメモリを使用する場合は削除)
const memory = new Memory({
  storage: new LibSQLMemoryAdapter({ url: "file:./.voltagent/memory.db" }),
});

// プロジェクト用のシンプルな汎用エージェント
const agent = new Agent({
  name: "my-agent",
  instructions: "天気を確認し、さまざまなタスクを支援できる便利なアシスタント",
  model: openai("gpt-4o-mini"),
  tools: [weatherTool],
  memory,
});

// エージェントとワークフローでVoltAgentを初期化
new VoltAgent({
  agents: {
    agent,
  },
  workflows: {
    expenseApprovalWorkflow,
  },
  server: honoServer(),
  logger,
});

その後、プロジェクトに移動して実行します:

npm run dev

devコマンドを実行すると、tsxがコードをコンパイルして実行します。ターミナルにVoltAgentサーバー起動メッセージが表示されます:

══════════════════════════════════════════════════
VOLTAGENT SERVER STARTED SUCCESSFULLY
══════════════════════════════════════════════════
✓ HTTP Server: http://localhost:3141

Test your agents with VoltOps Console: https://console.voltagent.dev
══════════════════════════════════════════════════

エージェントが実行中です!対話するには:

  1. コンソールを開く:ターミナル出力のVoltOps LLM可観測性プラットフォームリンクをクリックします(またはブラウザにコピー&ペースト)。
  2. エージェントを見つける:VoltOps LLM可観測性プラットフォームページで、エージェントがリストされているはずです(例:「my-agent」)。
  3. エージェントの詳細を開く:エージェント名をクリックします。
  4. チャットを開始:エージェント詳細ページで、右下のチャットアイコンをクリックしてチャットウィンドウを開きます。
  5. メッセージを送信:「こんにちは」のようなメッセージを入力してEnterキーを押します。
step-3-test.mp4

最初のワークフローの実行

新しいプロジェクトには強力なワークフローエンジンも含まれています。

経費承認ワークフローは、一時停止/再開機能を備えたヒューマン・イン・ザ・ループ自動化を実証します:

import { createWorkflowChain } from "@voltagent/core";
import { z } from "zod";

export const expenseApprovalWorkflow = createWorkflowChain({
  id: "expense-approval",
  name: "Expense Approval Workflow",
  purpose: "Process expense reports with manager approval for high amounts",

  input: z.object({
    employeeId: z.string(),
    amount: z.number(),
    category: z.string(),
    description: z.string(),
  }),
  result: z.object({
    status: z.enum(["approved", "rejected"]),
    approvedBy: z.string(),
    finalAmount: z.number(),
  }),
})
  // ステップ1:経費を検証し、承認が必要かどうかを確認
  .andThen({
    id: "check-approval-needed",
    resumeSchema: z.object({
      approved: z.boolean(),
      managerId: z.string(),
      comments: z.string().optional(),
      adjustedAmount: z.number().optional(),
    }),
    execute: async ({ data, suspend, resumeData }) => {
      // マネージャーの決定で再開する場合
      if (resumeData) {
        return {
          ...data,
          approved: resumeData.approved,
          approvedBy: resumeData.managerId,
          finalAmount: resumeData.adjustedAmount || data.amount,
        };
      }

      // マネージャーの承認が必要かどうかを確認($500を超える経費)
      if (data.amount > 500) {
        await suspend("Manager approval required", {
          employeeId: data.employeeId,
          requestedAmount: data.amount,
        });
      }

      // 少額の経費を自動承認
      return {
        ...data,
        approved: true,
        approvedBy: "system",
        finalAmount: data.amount,
      };
    },
  })
  // ステップ2:最終決定を処理
  .andThen({
    id: "process-decision",
    execute: async ({ data }) => {
      return {
        status: data.approved ? "approved" : "rejected",
        approvedBy: data.approvedBy,
        finalAmount: data.finalAmount,
      };
    },
  });

VoltOpsコンソールから直接、事前構築されたexpenseApprovalWorkflowをテストできます:

workflow.mp4
  1. ワークフローページに移動:サーバーを起動した後、ワークフローページに直接移動します。
  2. プロジェクトを選択:プロジェクトセレクターを使用してプロジェクトを選択します(例:「my-agent-app」)。
  3. 検索して実行:**「Expense Approval Workflow」がリストされているのが見えます。クリックしてから「Run」**ボタンをクリックします。
  4. 入力を提供:ワークフローは経費詳細を含むJSONオブジェクトを期待します。自動承認用の少額経費を試してみてください:
    {
      "employeeId": "EMP-123",
      "amount": 250,
      "category": "office-supplies",
      "description": "New laptop mouse and keyboard"
    }
  5. 結果を表示:実行後、各ステップの詳細なログを検査し、コンソールで直接最終出力を確認できます。

サンプル

より多くのサンプルについては、サンプルリポジトリをご覧ください。

VoltOpsコンソール:LLM可観測性 - 自動化 - デプロイ

VoltOpsコンソールは、VoltAgentのプラットフォーム側であり、可観測性、自動化、デプロイを提供し、リアルタイムの実行トレース、パフォーマンスメトリクス、ビジュアルダッシュボードで本番環境のエージェントを監視およびデバッグできます。

🎬 ライブデモを試す

📖 VoltOpsドキュメント

🚀 VoltOpsプラットフォーム

可観測性とトレース

詳細なトレースとパフォーマンスメトリクスでエージェントの実行フローを深く掘り下げます。

1

ダッシュボード

すべてのエージェント、ワークフロー、システムパフォーマンスメトリクスの包括的な概要を取得します。

dashboar

ログ

すべてのエージェントインタラクションとワークフローステップの詳細な実行ログを追跡します。

VoltOps Logs

メモリ管理

エージェントのメモリ、コンテキスト、会話履歴を検査および管理します。

VoltOps Memory Overview

トレース

エージェントの動作を理解し、パフォーマンスを最適化するために完全な実行トレースを分析します。

VoltOps Traces

プロンプトビルダー

コンソールで直接プロンプトを設計、テスト、改良します。

prompts

デプロイ

ワンクリックのGitHub統合とマネージドインフラストラクチャでエージェントを本番環境にデプロイします。

deployment

📖 VoltOpsデプロイドキュメント

トリガーとアクション

ウェブフック、スケジュール、カスタムトリガーでエージェントワークフローを自動化し、外部イベントに反応します。

triggers

モニタリング

システム全体のエージェントの健全性、パフォーマンスメトリクス、リソース使用量を監視します。

monitoring

ガードレール

エージェントが定義されたパラメーター内で動作するように、安全境界とコンテンツフィルターを設定します。

guardrails

評価

ベンチマークに対してエージェントの動作、精度、パフォーマンスをテストする評価スイートを実行します。

evals

RAG(ナレッジベース)

組み込みの検索拡張生成機能でエージェントをナレッジソースに接続します。

rag

VoltAgentを学ぶ

貢献

私たちは貢献を歓迎します!貢献ガイドラインを参照してください(利用可能な場合はリンクが必要)。質問や議論については、Discordサーバーに参加してください。

貢献者 ♥️ ありがとう

プラグインを構築したり、イシューを開いたり、プルリクエストを提出したり、DiscordやGitHubディスカッションで誰かを助けたりして、VoltAgentの旅の一部となったすべての人に心から感謝します。

VoltAgentはコミュニティの努力であり、あなたのような人々のおかげで継続的に改善されています。

Contributors

ライセンス

MITライセンスの下でライセンスされています、Copyright © 2026-present VoltAgent.