UStackUStack
OpenMolt icon

OpenMolt

OpenMoltはNode.jsでAIエージェントを構築し、ツール・連携・メモリをコードから活用して考え計画し実行できます。

OpenMolt

OpenMoltとは?

OpenMoltは、Node.jsでプログラム的に構築するAIエージェントシステムです。コードベースを使って考え、計画し、実行します。別途UIでエージェントロジックを実行するのではなく、アプリケーションコードからエージェントを定義し、ツールや連携を設定、エージェントの動作を調整します。

主な目的は、本番向けエージェントワークフロー(ツール使用、構造化出力、状態保持型エージェント)の構築支援です。API認証情報をサーバー側に保持します。

主な機能

  • Node.js向けプログラム的エージェント作成: JavaScript/TypeScript対応APIでコードからエージェントを作成。
  • 統一モデル文字列によるマルチプロバイダLLM対応: OpenAI GPT-4o、Anthropic Claude、Google Geminiなどのプロバイダを一貫したモデル形式で切り替え。
  • スコープベース権限のセキュリティモデル: 認証情報をサーバー側に保存。ツール呼び出しをHTTPリクエストに変換し、LLMにツール結果のみを提供(生APIキーやトークンは渡さない)。
  • 宣言的ツールと連携: エンドポイント、認証テンプレート、スキーマをデータとして定義し、HTTPボイラープレートコードを省略。
  • Zodスキーマによる構造化出力: Zodスキーマを提供し、検証済み型付きオブジェクトを受け取る(LLM応答の手動解析不要)。
  • スケジューリングとcron形式自動化: インターバルスケジュールやcron形式の1日スケジュール(タイムゾーン対応)でエージェントを実行。
  • 推論ループのイベント駆動可視化: ループの各ステップにフックを挿入し、ツール呼び出し、計画更新、LLM出力、最終結果を観察。
  • コールバックによる永続メモリ: 長期・短期メモリストアを維持し、onUpdateコールバックで外部永続化。実行中にメモリ更新可能。

OpenMoltの使い方

  1. Node.jsプロジェクトにパッケージをインストール。
  2. 選択したLLMプロバイダ設定でOpenMoltを初期化(例: 環境変数でOpenAI APIキーを設定)。
  3. 名前、モデル識別子(統一モデル文字列形式)、指示でエージェントを作成。
  4. アプリケーションコードからユーザー提示でエージェントを実行。

サイトに表示の例フロー:

  • インストール: npm install openmolt
  • エージェント作成・実行: OpenMoltをインスタンス化、createAgent(...)を呼び出し、agent.run('...')を実行し結果をログ出力。

ユースケース

  • 日常レポート自動化: 毎朝エージェントをスケジュールし、指標(例: Stripeから)を引き、要約生成、Slackチャネルにレポート投稿。
  • 多段階コンテンツパイプライン: 戦略記述に基づきコンテンツ執筆、関連アセット生成、エンドツーエンドワークフローでディスク出力保存。
  • 人間レビュー付きメールドラフト: ガイドラインに基づきGmail受信メッセージの返信ドラフトを作成し、レビュー・送信をGmail内に保持。
  • 開発者ワークフロー自動化: GitHubタスクをトリガー(イシュートリアージ、ラベル付与、Slackリリースノート投稿、CI/CD内変更ログ生成)。
  • コマース運用とレポート: Shopify注文監視、Airtable記録更新、Twilio通知、Notionダッシュボードへの日次収益要約公開。

FAQ

OpenMoltの「プログラム的AIエージェント」とは?

OpenMoltは、Node.js/TypeScriptコードベースからエージェント、ツール、ワークフローを定義するよう設計されています。別UIでの設定・実行ではなく。

同じエージェントコードで複数LLMプロバイダを使えますか?

ドキュメントによると、OpenMoltは統一モデル文字列形式で複数LLMプロバイダ(OpenAI、Anthropic Claude、Google Geminiなど)をサポート。コード変更なしでプロバイダ切り替え可能。

OpenMoltはAPIキーやツールアクセスをどう扱いますか?

スコープベース権限モデルを使用: 認証情報をサーバー側に保存し、LiquidテンプレートでHTTPリクエストに挿入。LLMにはツール結果(出力)のみ提供(生APIキーやトークンなし)。

エージェントは何種の出力を返せますか?

Zodスキーマによる構造化出力をサポート。スキーマを提供し、検証済み型付きオブジェクトを受け取れます。

OpenMoltは定期実行や自動化をサポートしますか?

はい。インターバル実行とcron形式1日スケジュール(タイムゾーン対応)をサポート。

代替案

  • ローコードエージェントワークフロープラットフォーム: LLM、プロンプト、アクションを統合するためのビジュアルビルダーを提供するツール。プロトタイピングは速いですが、通常設定をアプリケーションコードから切り離します。
  • LLM呼び出し付き汎用ワークフロー/オーケストレーションツール: ワークフロー(ステップ、スケジューリング、リトライ)の構築に焦点を当て、自分でLLM/ツール呼び出しを実装する代替案。OpenMoltに比べ、構造化出力、ツール定義、メモリパターンのための接着コードがより多く必要になる場合があります。
  • 他のエコシステムのオープンソースエージェントフレームワーク: Pythonや他の言語のエージェントライブラリで、ツール、メモリ、構造化出力などの類似コンセプトを提供。違いは主に言語/ランタイム統合(Node.js対他のスタック)とビルトイン連携・セキュリティパターンのレベルにあります。
  • カスタム構築のツール呼び出しサービス: 独自のエージェントランナーとツールレジストリを構築すると最大の制御が得られますが、スケジューリング、構造化出力検証、メモリ永続化で通常より多くのエンジニアリング作業が必要です。