SJ blog
tools
A

信頼度ランク

S 公式ソース確認済み
A 成功実績多数・失敗例少数
B 賛否両論
C 動作未確認・セキュリティリスク高
Z 個人所感

Raindrop「Workshop」——AIエージェントの全トレースをローカルSQLiteに記録し自己修復evalループを実現するオープンソースデバッガ

Raindrop AIがMIT公開したWorkshopは、AIエージェントのトークン・ツール呼び出し・決定をリアルタイムでlocalhost:5899のUIに流し、Claude CodeがMCP経由でトレースを読んでevalを自動生成・修正するループを構築できる。14以上のSDK・フレームワークをサポート。

一言結論

WorkshopはAIエージェントの実行トレースをローカルSQLiteに保存し、localhost:5899のUIでリアルタイム可視化する。Claude CodeがMCP経由でトレースを読み、eval作成→エージェント実行→失敗特定→コード修正のループを自律実行できる。Vercel AI SDK・LangChain・CrewAIなど14+フレームワークに対応したMITオープンソースツールだ。

何が起きたか

2026年5月、AI エージェント監視・オブザーバビリティスタートアップ Raindrop AI が、ローカルエージェントデバッガ Workshop をオープンソース公開した。

リポジトリ: raindrop-ai/workshop
スター数:    590+
ライセンス:  MIT
実装言語:    TypeScript (92.1%)
インストール: curl -fsSL https://raindrop.sh/install | bash
アクセス先:  http://localhost:5899
ストレージ:  ローカル SQLite(.db ファイル)

解決する問題:エージェントデバッグの闇

現在のエージェント開発で何が見えないか

LangChain・CrewAI・Claude Code などで AI エージェントを構築する際、実行中に何が起きているかを把握するのは難しい:

エージェント実行中の典型的な問題:
  ❌ どのトークンが出力されたか分からない
  ❌ どのツール呼び出しが何回失敗したか不明
  ❌ エージェントがなぜその判断をしたか追跡できない
  ❌ バグを再現するためのトレース記録がない
  ❌ 失敗から eval を書くコストが高い

結果:
  → 「なんとなく動いている」状態でリリース
  → 本番環境で予期しない挙動が発生
  → デバッグに数時間〜数日かかる

Workshopが提供するもの

Workshop はエージェントの実行をリアルタイムで観測し、すべての情報をローカルに保存する:

Workshop が記録するもの:
  ✅ すべての生成トークン(ストリーミング)
  ✅ すべてのツール呼び出しとその結果
  ✅ エージェントの各判断ステップ
  ✅ 蓄積された LLM コスト

保存先: ローカル SQLite(クラウドに送信しない)
UI:     localhost:5899 のダッシュボード

アーキテクチャ:3つの柱

1. ローカルデーモン+WebSocket ストリーミング

Workshopはバックグラウンドで動くローカルデーモンとして起動する。エージェントの SDK インテグレーションが WebSocket 経由でトレースを送信し、SQLite に保存、リアルタイムで Vite ベースのUI(ポート 5899)に表示する。

エージェント SDK
    │  WebSocket ストリーミング

Workshop デーモン
    ├── SQLite(トレース永続化)
    └── Vite UI(localhost:5899)
            └── 可視化ダッシュボード

クラウドへのデータ送信なし。プライベートなコードやプロンプトが外部に出ない点は、エンタープライズ開発で重要だ。

2. 対応 SDK・フレームワーク(14以上)

TypeScript / JavaScript:
  Vercel AI SDK, OpenAI Agents SDK, Anthropic SDK,
  Claude Agent SDK, LangChain.js, LangGraph.js,
  Mastra, Deep Agents

Python:
  LangChain, LangGraph, CrewAI, Pydantic AI,
  DSPy, Google ADK, Strands, Agno

その他:
  Go, Rust(対応言語として明記)

3. Claude Code との MCP 連携

Workshop の最も特徴的な機能は Claude Code との MCP インテグレーションだ:

自己修復 eval ループ:

1. エージェントを実行
   → Workshop がトレースを SQLite に保存

2. Claude Code が MCP 経由でトレースを読む
   → 「ステップ 3 でツール呼び出しが失敗している」を特定

3. Claude Code が eval を自動作成
   → 失敗ケースをテストする評価コードを生成

4. eval でエージェントを再実行
   → Workshop が新しいトレースを記録

5. Claude Code がコードを修正
   → 失敗の根本原因を修正するコードを生成

6. 1 に戻る → 成功まで繰り返す

このループは人間の手を介さずに完結する。


実際の使い方

インストール

curl -fsSL https://raindrop.sh/install | bash
workshop start
# → http://localhost:5899 でUIが起動

SDK インテグレーション例(Vercel AI SDK)

import { workshop } from "@raindrop-ai/workshop";
import { generateText } from "ai";
import { anthropic } from "@ai-sdk/anthropic";

// ❌ 通常のエージェント実行(トレースなし)
const result = await generateText({
  model: anthropic("claude-sonnet-4-6"),
  messages: [{ role: "user", content: "リポジトリを解析して" }],
  tools: { readFile, listFiles, searchCode },
});

// ✅ Workshop でトレース付き実行
const result = await workshop.trace(
  generateText({
    model: anthropic("claude-sonnet-4-6"),
    messages: [{ role: "user", content: "リポジトリを解析して" }],
    tools: { readFile, listFiles, searchCode },
  }),
  { sessionId: "debug-session-001" }
);
// → localhost:5899 ですべてのトークン・ツール呼び出しが即座に可視化

トレースの再生機能

本番環境で記録されたトレースをローカルで再生し、同じ入力に対してエージェントがどう動くかを確認できる:

# 本番トレースをローカルで再生(HTTP エンドポイント)
curl -X POST localhost:5899/replay \
  -d '{"trace_id": "prod-trace-abc123"}'

使用上の注意・落とし穴

注意事項:

SQLite の肥大化:
  長時間エージェントを実行すると .db ファイルが大きくなる
  → 定期的なクリーンアップまたはパス指定が必要

WebSocket 接続の遅延:
  高負荷エージェント(秒間多数ツール呼び出し)では
  UI の更新が遅延する場合がある

MCP 連携の前提:
  Claude Code の MCP サポートが必要
  → Claude Code v1.x 以降で利用可能

セキュリティ:
  localhost 限定(デフォルト)のため、外部からアクセス不可
  本番サーバーでの実行は推奨しない

まとめ・参考リンク

Workshopは「AIエージェントの観察可能性(Observability)」という未解決問題に対し、ローカルファーストかつMITライセンスという形で実用的な回答を出した。Claude Code との MCP 連携による自己修復 eval ループは、エージェント開発サイクルの短縮に直接貢献する。

出典・参考リンク

未確認事項: 自己修復 eval ループの具体的な成功率・精度に関するベンチマークデータは未公表。Claude Code MCP 連携の詳細な設定手順は公式ドキュメント要確認。