「NVIDIA NemoClaw」×「NVIDIA DGX Spark」ではじめる自分専用AIエージェント 第2回:「自分専用AIエージェント」をセットアップする
連載第1回の前回では、「NVIDIA® NemoClaw™」(以下、NemoClaw)と「NVIDIA® DGX Spark™」(以下、DGX Spark)とは何か、そしてこの2つを組み合わせることで、自分の環境で動くAIエージェントが作れることを紹介した。今回は、実際にNemoClawをセットアップし、AIエージェントと会話できるようになるまでを解説していく。第2回のゴールは、難しい設定をすべて理解することではないので安心してほしい。まずはDGX Spark上に安全なサンドボックスを作り、その中でNemoClawを起動し、「自分の環境でAIエージェントが動いている」と実感できる状態を作ることが大切だ。
前回も解説したように、NemoClawは便利な反面、ファイル操作や外部通信を許可するため、利用には注意が必要になる。最初は、機密情報を含まない新しい環境で試してほしい。また、NemoClawはまだAlpha版のため、不安定な部分もあるので、困ったときはOpenAIが提供している「Codex」などのAIエージェントに相談しながら進めるのがおすすめなので、そちらも覚えておこう。
DGX Sparkの状態確認
NemoClawは、「OpenShell」という実行環境の上にサンドボックスを作り、その中でOpenClawエージェントを動かすことになる。OpenShellは、ホストから隔離されたサンドボックスを作成・管理し、その中でAIエージェントを安全に動かすための実行環境だ。サンドボックスの作成には、コンテナ型仮想環境のプラットフォーム「Docker」が使われる。DGX Sparkであれば、基本的に以下の3つが使えることを確認しておけばよいだろう。
・Linux環境
・NVIDIA GPU
・Docker
環境の準備が整っているかどうかは、次のコマンドで確認できる。足りない場合は、Codexなどにセットアップを指示することで、インストールを行える。
head -n 2 /etc/os-release
nvidia-smi
docker info --format '{{.ServerVersion}}'
NemoClawのインストール
DGX Sparkの準備ができたら、NemoClawのインストールを行う。基本のインストールコマンドは、以下の1行で行える。
----
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
----
このコマンドを実行すると、インストーラが起動する。必要に応じて「Node.js」「OpenShell」「NemoClaw CLI」がセットアップされ、その後に`nemoclaw onboard`によるオンボーディングが始まる。
オンボーディング
オンボーディングとは、初期設定のことだ。NemoClawでは、AIエージェントが使う推論プロバイダーやモデル、サンドボックス名、リソース配分、外部サービス連携の有無などを順番に選択していく。ここで決めた内容が、以降で起動する「自分専用AIエージェント」の基本設定になるので、以下を参考に設定してほしい。
どの推論プロバイダーを使うか
推論プロバイダーとは、AIモデルをどこで動かすかを決める項目になる。たとえば、DGX Spark上でローカルモデルを動かすなら「Local Ollama」を選ぶ。クラウド上のモデルを使うなら、「NVIDIA Endpoints」「OpenAI」「Anthropic」「Google Gemini」などを選ぶ。
どのモデルを使うか
選んだ推論プロバイダーの中で、実際に使うAIモデルを決める。モデルによって、応答品質、速度、利用料金、ローカル実行時の必要メモリが変わることになる。最初は、推奨候補や既定値から選び、動作確認後に用途に合わせて切り替えるのがよいだろう。
Web検索を有効にするか
「Brave Web Search」を有効にすると、AIエージェントが必要に応じてWeb上の情報を調べられるようになる。ただし外部通信が増えるため、最初の動作確認では無効にしておき、必要になってから有効にするのが安全なので覚えておこう。
Web検索を有効にするか
「Brave Web Search」を有効にすると、AIエージェントが必要に応じてWeb上の情報を調べられるようになる。ただし外部通信が増えるため、最初の動作確認では無効にしておき、必要になってから有効にするのが安全なので覚えておこう。
SlackやDiscordなどのメッセージング連携を有効にするか
「Slack」や「Discord」を有効にすることで、普段使っているチャットからAIエージェントを呼び出せるようになる。一方で、Botトークン、投稿先チャンネル、呼び出せるユーザーの範囲を慎重に決める必要が出てくる。最初はスキップし、ブラウザやターミナルで動作確認してから追加することをおすすめする。
サンドボックス名をどうするか
作成するAIエージェント環境の名前を決める。この名前は、あとで状態確認、ログ確認、接続、チャンネル追加を行うときに使うことになる。今回の例では`my-assistant`とした。
サンドボックスに割り当てるCPUやメモリをどうするか
NemoClawでは、サンドボックスに割り当てるCPUとメモリをリソースプロファイルとして選択できる。今回の例では`creator`を選び、ホストのCPUとRAMの50%を使う設定にした。最初は控えめな設定で始めて、作業内容に応じて増やすのが安全だ。
今回のオンボーディングの選択例は、次のとおり。今の例のように「OpenAI」などの外部モデルを使う場合は、アカウント登録が必要で、有償での利用となることも覚えておこう。
・推論プロバイダー:openai-api
・モデル:gpt-5.4
・Brave Web Search:無効
・SlackやDiscordなどのメッセージング連携:スキップ
・サンドボックス名:my-assistant
・リソースプロファイル:creator
オンボーディングは、AIエージェントがどのモデルを使い、どのサンドボックスで動き、どの外部サービスとつながり、ホストのリソースをどれだけ使うかを決める重要な設定だ。最初は今回のように、Web検索やメッセージング連携をオフにし、まずは最小構成で起動確認をしてほしい。
NemoClawとのはじめての会話
まずはターミナルで、NemoClawとのはじめての会話を試してみよう。ホスト側で、次のコマンドを実行する。
----
nemoclaw my-assistant connect
----
サンドボックスに接続したら、OpenClawのTUI(ターミナル上のテキスト操作画面)を起動する。
----
openclaw tui
----
ここで出てくる`nemoclaw`と`openclaw`は、以下のように役割が異なる。
`nemoclaw`は、NemoClaw環境を管理するためのコマンドだ。ホスト側で実行し、オンボーディング、サンドボックスへの接続、SlackやDiscordなどのチャンネル追加に使用する。たとえば`nemoclaw my-assistant connect`は、`my-assistant`という名前のNemoClawサンドボックスに接続するためのコマンドとなる。
一方`openclaw`は、サンドボックスの中でAIエージェント本体を操作するためのコマンドだ。`nemoclaw my-assistant connect`でサンドボックスに入ったあと、`openclaw tui`を実行することで、OpenClawのTUIを起動し、AIエージェントと会話できるようになる。
つまり、サンドボックスを作る、接続する、外部チャネルを追加するといった管理操作では`nemoclaw`を使い、サンドボックス内でAIエージェントと直接やり取りするときは`openclaw`を使う、ということになる。
TUIが起動したら、日本語で話しかけてみよう。オンボーディングで設定したモデルが応答してくれれば、AIエージェントは正常に動いている。
ターミナルから使う利点は、開発作業と相性がよいことだ。ログを確認しながらAIエージェントに依頼したり、サンドボックス内の状態をすばやく確認したりできる。たとえば、次のような依頼を試してみよう。
----
NemoClawについての紹介文を書いてテキストファイルに保存して。
----
ここでは、次のようなレポートを生成してくれた。
・NemoClaw_intro.txt
会話のサポートだけでなく、情報整理、文章作成、調査、タスクの前進まで、ユーザーの目的に合わせて柔軟に動けます。簡潔さと実用性を大切にしつつ、必要なときには丁寧に掘り下げて支援します。
また、NemoClawは安全性と権限を意識して行動し、外部アクセスや破壊的な操作が必要な場面では慎重に判断します。日常のちょっとした相談相手としても、作業を進める相棒としても使える存在です。
生成されたファイルは、サンドボックスの中に作られる。コンテナからホスト側にファイルを取得するには、次のようなコマンドを使って行う。
----
docker cp <container-name>:/sandbox/.openclaw/workspace/NemoClaw_intro.txt .
----
このように、AIエージェントは「答えを返す」だけでなく、サンドボックス内の「ファイルを実際に作成・編集」してくれる。これまで人の手で行っていたことを、NemoClawに依頼できる。ただし、まずはこうした読み書き中心の小さな作業から任せていくとよいだろう。
Discord連携
ターミナルでの動作確認ができたら、次は普段使っているチャットからAIエージェントを呼び出せるようにしてみよう。まずは、Discord連携の手順を紹介する。
①Discordのサイトで「Botトークン」を取得
Discordの開発者サイト「Discord Developer Portal」で新しいアプリケーションを作成し、Botの「トークン」を取得する。トークンとは、AIエージェントがDiscordにログインするためのパスワードのような文字列のこと。アプリケーションを作成したら、対象のサーバーに「Bot」として招待しておく。
詳しくは、以下の著者のWeb記事で解説している。OpenClawの記事だが、トークンの取得方法はNemoClawでも同様だ。
②トークンをNemoClawに設定
ホスト側で次のコマンドを実行し、案内に従って取得したBotトークンを設定する。
----
nemoclaw my-assistant channels add discord
----
③反応するサーバーとチャンネルを設定
どのサーバーのどのチャンネルで反応するかを設定する。設定ファイルを直接編集することもできるが、CodexなどのAIエージェントに指示するのが簡単だ。
どのサーバーの、どのチャンネルで、誰の呼びかけに反応するのか。この範囲を最初に確認しておくことが、チャット連携を安全に使うための基本になるので気をつけてほしい。
----
nemoclaw my-assistantのDiscordを「◯◯◯のサーバー」の「一般」で反応するように設定して
----
④DiscordからOpenClawに話しかける
設定が終わったら、Discordの「一般」チャンネルで「@Claw」とメンションして話しかけてみよう。DGX Spark上のAIエージェントが、Discord経由で応答してくれれば成功となる。
Slack連携
仕事でSlackを使っている場合は、Slack連携も設定しておくと便利だ。設定方法はDiscordとほぼ同じだが、Slackでは2種類のトークンが必要になる。
①Slackのサイトで「Bot User OAuthトークン」と「App-Levelトークン」を取得
Slackの開発者サイト「Slack API」で新しいアプリケーションを作成し、「Bot User OAuthトークン」と「App-Levelトークン」を取得する。トークンとは、AIエージェントがSlackにログインするためのパスワードのような文字列となる。アプリケーションを作成したら、対象のワークスペースにインストールしておく。
詳しくは、以下の著者のWeb記事で解説している。OpenClawの記事だが、トークンの取得方法はNemoClawでも同様だ。
②トークンをNemoClawに設定
ホスト側で次のコマンドを実行し、案内に従って2つのトークンを設定する。
----
nemoclaw my-assistant channels add slack
----
③反応するワークスペースとチャンネルを設定
Discordと同様に、CodexなどのAIエージェントに指示して設定するのが簡単だ。
----
nemoclaw my-assistant の Slack を「◯◯◯のワークスペース」の「#general」で反応するように設定して
----
④SlackからClawに話しかける
設定が終わったら、Slackの「#general」チャンネルで「@Claw」とメンションして話しかけてみよう。これで、ターミナルを開いていなくても、いつものSlackからDGX Spark上のAIエージェントに仕事を頼めるようになる。
第2回のまとめ
第2回では、NemoClawをDGX Sparkにセットアップし、自分専用AIエージェントを「ターミナル」「Discord」「Slack」という3つの入口から呼び出して、動作を確認するところまでを解説した。
インストールそのものは、基本的には1行のコマンドから始められるので簡単だ。しかし本当に大切なのは、その後のオンボーディングとなる。どのモデルを使うのか、どのサンドボックス名にするのか、どこまでネットワークアクセスを許可するのか、SlackやDiscordから誰が呼び出せるようにするのか。こうした設定によって、AIエージェントの使いやすさと安全性が決まることになる。
この連載では、まずはDGX Spark上で最小構成のAIエージェントを動かしてみて、ターミナルから話しかけ、読み取り中心の小さな作業を任せて結果を確認した。問題なく動くことをわかったら、SlackやDiscordから呼び出せるようにして、普段の作業の中で使える入口の作成を行った。
次の第3回目の連載では、今回の設定を踏まえて、自分専用AIエージェントにどのような仕事を任せられるのかを具体的に見てくことにしよう。事務作業、開発、日々の定型業務、ローカルデータの活用、そして将来的なロボット連携まで、自分専用AIエージェントの使い道を広げていくためのヒントを紹介していく。
TEXT_布留川英一 / Hidekazu Furukawa