ServerlessDays Tokyo 2026 Hermes Agent + TiDB Cloud Starter AIエージェントの作業と記憶を永続化するハンズオン PingCAP株式会社 TiDB Xエバンジェリスト 関⼝匡稔
本⽇使うURL⼀覧 ● TiDB Cloud Signup ○ ● TiDB Cloud Login ○ ● https://labs.tidb.io/ja TiDB Cloud Document ○ ● https://tidbcloud.com/login TiDB Labs ○ ● https://tidbcloud.com/signup https://docs.pingcap.com/ja/tidbcloud/ Hermes Agent Document ○ https://hermes-agent.nousresearch.com/docs
TiDB Labsの紹介 〜お手軽実験環境〜
TiDB Labsとは ● ハンズオンシナリオと実⾏環境 が⼀体になったTiDBの演習環境 ● TiDB CloudのアカウントでSSO ● ⾃分のクラスタを使って演習も 可能(演習後データが残る)
TiDB Cloudサインアップ TiDB Labsのログインに必要 https://tidbcloud.com/signup ● Sign up with Emailから ● サインアップ後、Emailの確認 メールが届きます。確認必須で すのでメール中のボタンを押し てください。 サインアップの⽅法もご覧ください https://pingcap-japan.storylane.io/sh are/rtttoansipnl
TiDB Labsログイン https://labs.tidb.io/ ● 右上のサインアップから ● TiDB Cloudのアカウントでログイン
バウチャーの引き換え バウチャーは、特定のハンズオンを 実⾏できるようにします 1. 右上の個⼈メニューから 「クーポン」を選択 2. バウチャーコードを⼊⼒ 3. 「ワークショップ」メ ニューに、実⾏可能なワー クショップが登録される 4. このメニューからハンズオ ンを実⾏する 本日のコード : F7KAWA
ハンズオン(レクチャー) 利用技術の紹介
TiDB Cloud Filesystem の動機 Sandboxes are disposable. Workspaces should not be. ● ランタイムでコントロールできるクラウド ワークスペース ● どのサンドボックスからもマウントでき、 競合検出や並⾏試⾏をサポートする ● エージェントに新しいツールを使わせな い。Unix Toolsやgitがそのまま利⽤できる Sandbox /mnt TiFS :/project Sandbox /mnt
TiDB Cloud Filesystem 全体像
Filesystem in Userspace (FUSE) 概要 https://en.wikipedia.org/wiki/Filesystem_in_Userspace カーネルコードを書き換えることなく、ユーザー空間で独⾃ファイルシステムを実装する仕組み FUSEの主な特徴 ● 安全な開発: カーネルモジュールのビルドや 特権変更が不要 ● 柔軟な拡張性: 仮想ファイルシステムやクラ ウドストレージの作成に最適 ● マルチプラットフォーム: Linux, macOS, Windows(WinFsp)等で対応 ユーザーアプリからは通常のAPIコール(read/write) で、カーネル側でユーザーアプリケーションをコー ルバックする。 ユーザー空間 (User Space) ユーザーアプリ FUSE Daemon (ls, cat, etc.) (Hander Program) カーネル空間 (Kernel Space) VFS FUSE Kernel (Virtual File System) Module
Hermes Agent 概要 https://hermes-agent.nousresearch.com/ Nous Researchが開発した、成⻑するオープンソースAIエージェント #1 #2 #3 マルチプラットフォーム 永続メモリ & スキル学習 サンドボックス & 委任 CLI、Telegram、Discord、Slackなど 多様なUIで動作。1つのメモリを共 有。 プロジェクトを学習し、⾃動でスキル を⽣成。解決策を記憶して⾃⼰成⻑。 DockerやModal等の独⽴環境で安全に 実⾏。サブエージェントへタスク委 任。 主な特徴‧提供形態: ● ● ● MITライセンスのオープンソース(Mac OS, Windows, Linux対応) ⾃然⾔語による⾃動スケジュール実⾏やWeb検索、コード実⾏機能を標準搭載 Nous Portalによるエージェントの活動に必要なモデル‧ツールの⼀括提供
Hermes Agent アーキテクチャ ここをサンドボックスで実行 できて(比較的)安心!
ハンズオン紹介
ハンズオン概要 https://labs.tidb.io/ja/labs/demo_901 TiDB Cloud Filesystem(TiFS)の⼊⾨コースです。 HermesとTiFSを組み合わせた演習です。 ● TiDB CLI(tiコマンド)のセットアッ プと利⽤ ● Hermes tui インターフェースの利⽤ ● TiFSスキルの導⼊ ● TiFSへのファイルの保存、利⽤ ※ ⾃分のTiDB CloudのAPI KEYが必要にな ります。
ハンズオン詳細:モジュール1 TiDB Cloud Filesystem(TiFS)のセットアップ ● TiDB CLI(tiコマンド)はTiDB Cloud StarterとTiFSの両⽅を扱えます ※重要※ ● ステップ2でTiDB CloudのAPI Keyが 必要です(次ページ参照) ● TiFSはTiDBを使いますが、TiDBクラ スタとは別で管理されており、Webコ ンソール上からは⾒えません
TiDB CloudでのAPIキーの発⾏ https://pingcap-japan.storylane.io/share/fbvbu1wcwoax 1. TiDB Cloudにログイン 2. 「Organization Settings」から「API Keys」を選択 3. 「Create API Key」を選択 4. 「Description」にキーの名前を⼊⼒し、 そのまま「Generate API Key」を押す 5. 出⼒されたPublic KeyとPrivate Keyをメ モ
ハンズオン詳細:モジュール2 HermesとTiFSを組み合わせる ※通常、Hermesのサンドボックスはローカルのディレクトリをバインドマ ウントするため、データはローカルに永続化されます。 この演習ではSandboxが使い捨てと想定して、TiFSで異なるコンテナでも データが共有できる(引き継げる)ことを確かめるものです※ 【Tips】 ● LLMモデルはBedrockのDeepseek v3.2 ○ ちょっと賢さが⾜らないので例の通りにならないこともありま す。 ● docker commitで、現在までのセットアップを焼き込んで新しい dockerイメージを作る ○ Hermesの実⾏コンテナをここで作ったものに切り替えています。 モジュール1の⼿順を繰り返さなくて良いようにしています。
ハンズオン詳細:モジュール3 TiDB Cloud StarterをHermesエージェントから利⽤する ● エージェントを使ったサービスを作る際には、なんらかのデータベー スを使うことが⼀般的です。このモジュールはTiDBでエージェントか らデータベースを使う演習です。 ● TiDBは⽐較的新しいデータベースですが、現代のLLMだと前提知識な しでも扱えるのが分かると思います。 ○ DeepSeek v3.2だとたまに失敗することもありますが、その場合 は「TiDBで」と明⽰的にDBを指定するとうまくいくと思います。
ハンズオン詳細:モジュール4 後⽚付け ● 終了を忘れずに! ○ インスタンス等は時間で削除 されるが、履修状態はそのま ま ● 同時に実⾏できるLabは⼀つだけ なので、別のLabを実⾏する前に 終了します
TiDB Cloud Starter 紹介 https://labs.tidb.io/ja/labs/demo_201 TiDB Cloud Starter(旧Serverless) の⼊⾨コースで す。CLIからの使い⽅や、HTAPを体験できます。 ● MySQL CLIを使ったDBアクセス ● Python(mysql.connector)を使った アクセス ● HTAP(TiFlash)の設定と利⽤ ● ベクトル検索 ⾃分のTiDB Cloudアカウント内にStarter を作成します 時間が余ったらこちらもやってみ てください
Appendix A TiDB Cloud Filesystem 諸機能
TiDB Cloud Filesystem:仕組み ● FUSEを使った仮想ファイルシステム ● 通常のファイル同様にread/write。Unix コマンドなどもそのまま利⽤可能 ● ファイルはローカルキャッシュに書か れ、⾮同期でサーバに送信 ● ファイルタイプに応じたメタデータ付与 ● ⾮構造化ファイルもLLMによりメタデー タ⽣成 ● Sandbox側 / ti-client Agent / Unix Tools Linux VFS / FUSE Local Cache drive9-server API LLM / Embedding データファイル本体はS3などに書かれる Metadata DB + S3
スコープの制御 ● Drive9はテナントと呼ばれるスコープ を持つ ○ ● Agent-2 テナント毎に名前空間も別 エージェント作業⽤に、短期のサブコ ンテキスト(トークン)を作成するこ とができる ○ ● Agent-1 このとき、パス単位でアクセス制 御を付与できる エージェントの役割に応じて細かいア クセス制御を可能にすることが可能 /repo /src /docs drive9 token issue agent-2 --ttl 1h \ --allow /repo/docs:read,list,search,write
楽観ロックによる競合検知 ● drive9は競合検知の仕組みを持つ ● ファイルのメタ情報としてバージョン 番号を持つ ○ この番号は更新時に増加する ● Openの際にこの番号を読み、Writeの 際に番号を指定して更新する ● サーバ側のバージョンがそれより進ん でいた場合は競合発⽣としてエラー ● 失敗側には失敗したファイルが残る ① ⭕ Write report.md v1 Sandbox /mnt ② v1 → v2 drive9 :/project Sandbox /mnt ③ ❌ Write report.md v1
試⾏をサポートするレイヤー機能 ● ● ● Copy-on-Writeにより元のデータに オーバーレイするレイヤーを作成 main v1 レイヤーを指定してマウントできる レイヤー上の更新は元のデータに反映 されず、レイヤーに限定される ● レイヤーは複数作成でき、エージェン トの試⾏などに役⽴つ ● レイヤーは最終的に元(main)に commit、または廃棄(rollback) layer-A layer-B 更新 更新 rollback 更新 commit main v2
Appendix B Hermes Agent
Hermes Agentの活⽤ ● Hermes AgentはGUIバージョンもあり 簡単にセットアップ可能です ● モデルプロバイダをOrcaRouterにす ることも可能 ○ hermes model でモデル選択 ○ custom > base URL , API Key, モ デル (orcarouter/free等) 設定 ○ https://docs.orcarouter.ai/ja/int egrations/hermes-agent ● TelegramやDiscord botも簡単に 作成できます ○ hermes gateway setup ○ ⾃分の好きなサービスを選択
Thank you Chapter Title Confidential, do not distribute / 29