---
title: DGX Spark に AI エージェントを常駐させて、Slack で協働する
tags: 
author: [Shimada Reona](https://www.docswell.com/user/reona5)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/Y76WVV1Q7V.jpg?width=480
description: DevelopersIO 2026 Tokyo ミニセッション(2026-10-24)の登壇資料です。 https://classmethod.connpass.com/event/402011/
published: October 24, 26
canonical: https://www.docswell.com/s/reona5/Z273R6-2026-10-24-164834
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/Y76WVV1Q7V.jpg)

DevelopersIO 2026 Tokyo
DGX Spark に AI エージェントを常駐させて、
Slack で協働する
製造ビジネステクノロジー部
嶋田 怜央成
2026/10/24 DevelopersIO 2026 Tokyo ミニセッション


# Page. 2

![Page Image](https://bcdn.docswell.com/page/G75MDD4274.jpg)

自己紹介
2026 年 7 月に入社
製薬会社の MR から転身し、
いくつかの事業会社で開発を経験してきた
Claude Certified Developer
- Foundations
クラスメソッド株式会社
製造ビジネステクノロジー部
嶋田 怜央成
しまだ れ お な
X
@reona_5
DevelopersIO dev.classmethod.jp/author/shimada-reona
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/9J2988V1ER.jpg)

AI
エージェントを、Slack
や
Teams
などの
Q1 チャットアプリから使ったことがある
DGX
Spark
のような
GPU
マシンで、
Q2 エージェントを動かしている
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/DEY46634JM.jpg)

今日のゴール
Q. 社内のデータを扱う AI エージェントを運用していくうえで、
何を先に決めておくか?
1. 何を任せているか
2. 構成の全体像
3. 権限の設計
4. 落とし穴
Slack から頼めることをデモで見る
依頼ごとに、どのモデルが答えるかを決める
外に出すデータと、許す操作を決める
設定どおりなのに、期待どおりに動かなかった例
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/VJNYZZV678.jpg)

01
何を任せているか
チームの Slack でメンションすると、エージェントが引き受ける
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/YE9PZZ6RJ3.jpg)

Slack から頼めること
何を任せているか
Backlog の課題管理とタスクの壁打ちを頼める
Backlog の課題管理
「処理中の課題を担当者別
に一覧して」
「議事録のアクションを起
票して」
タスクの壁打ち
「来期のリソース配分を、
トレードオフ付きで提案し
て」
チーム内の情報検索
作ったが、今は運用を止め
ている
扱うのは社内のデータ。だからどこで処理し、何を許すかを先に決めた
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GE8D11ZGED.jpg)

デモで頼む 2 件
何を任せているか
Backlog の課題の一覧と、課題をもとにした優先順位の相談を続けて頼む
1 件目: 課題管理
Backlog の処理中の課題を、担
当者別に一覧して
2 件目: 壁打ち
Backlog の課題を見て、来週どれ
から手を付けるべきかを理由付
きで提案して
返答の末尾には、どのモデルが答えたかが出る。2 件で答えるモデルが変わる
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LELMQQDX7R.jpg)

Q. クラウドのエージェントでは?
何を任せているか
操作を絞る仕組みはクラウドにもあり、違いは依頼の中身の行き先
サービス
Cursor
GitHub Copilot
Claude Tag
NemoHermes
(今回の構成)
依頼の中身の行き先
Cursor のクラウド
GitHub のクラウド
Anthropic のクラウド
操作の絞り方
ドメインごと
ドメインか URL ごと
ホスト、メソッド、パス
社内(難しい依頼だけ外) ホスト、メソッド、パス、
プログラム
始めるのに要るもの
利用量課金
有償プランと org の設定
Team 以上と管理者の設定
DGX Spark と運用
その代わり、マシンと運用は自分たちで持つ
出典: Cursor(通信の制限) cursor.com Copilot(通信の制限) docs.github.com Claude Tag(連携の制限) claude.com
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4JMY11P3JW.jpg)

02
構成の全体像
軽いモデルで足りる依頼は、社内で終わらせる
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PJR9LL1R79.jpg)

依頼が通る経路
構成の全体像
軽いモデルで足りる依頼は社内で処理し、難しい依頼だけクラウドに渡す
DGX Spark
Slack
→
NemoHermes
エージェント
↓ Backlog API
NeMo Switchyard
→
ルーター
↕ どちらに渡すか
judge
判定役
→
weak 軽いモデル
社内の別の DGX Spark
strong 重いモデル
Kimi K3(Fireworks)
依頼ごとに judge が、軽いモデル(weak)で足りるか、重いモデル(strong)に回すかを決める
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/PEXQWWYYJX.jpg)



# Page. 12

![Page Image](https://bcdn.docswell.com/page/3EK9VV34ED.jpg)



# Page. 13

![Page Image](https://bcdn.docswell.com/page/L73WMMGD75.jpg)

judge が見積もるもの
構成の全体像
judge は、軽いモデルが依頼を一発でやり切れる確率を見積もる
依頼文
judge(判定用に事後学習したモデル)が返すもの
crux: 成功を左右する、いちばん難しい要件
p_solve: 軽いモデルが一発でやり切れる確率
エージェントにできることの一覧
→
依頼
処理中の課題を担当者別に一覧
3 か月の傾向分析と来期の配分の提案
crux の要約
Backlog の読み取りと整形で終わる
取得ではなく、分析と提案がメイン
Capability Card: 使える skill、ツール、権限
p_solve が閾値(0.70〜0.90)以上なら weak、未満なら
strong
p_solve 閾値 行き先
0.77
0.70 weak
0.31
0.90 strong
11


# Page. 14

![Page Image](https://bcdn.docswell.com/page/87DK6612JG.jpg)

03
権限の設計
外に出せないデータを扱うので、通してよいものだけを書く
12


# Page. 15

![Page Image](https://bcdn.docswell.com/page/VJPKYYQLE8.jpg)

エージェントを囲う 3 つの仕組み
権限の設計
エージェントは、通してよい通信だけを宣言した sandbox の中で動かす
コンテナ
エージェントを Docker の
sandbox の中で動かす
ファイル
Landlock で、読み書きで
きるパスを絞る
通信
どのホストのどのパスに、
どのメソッドで出てよいか
を許可リストで書く
NVIDIA の NemoClaw が用意する仕組み。許可リストにない通信は sandbox の外に出ない
13


# Page. 16

![Page Image](https://bcdn.docswell.com/page/2EVVGG56EQ.jpg)

判定役を置く場所
権限の設計
依頼の中身を最初に読む判定役は、DGX Spark の外に出さない
振り分けの判断は、すべて社内で終わる
judge は、どの依頼も最初に全文を読む役
社外に出るのは、重いモデルに回した依頼だけ
軽いモデルも社内にあるので、日常の依頼は中身も外に出ない
14


# Page. 17

![Page Image](https://bcdn.docswell.com/page/57GL8862EL.jpg)

Backlog への書き込み
権限の設計
書き込みは開けたが、削除はどの経路からも通さない
通信の許可リスト)
backlog-write(
rules:
- allow: { method: POST, path: &quot;/api/v2/issues&quot; }
- allow: { method: POST, path: &quot;/api/v2/issues/*/comments&quot; }
- allow: { method: PATCH, path: &quot;/api/v2/issues/*&quot; }
- allow: { method: POST, path: &quot;/api/v2/space/attachment&quot; }
# DELETE
はどのパスにも書かない
DENIED DELETE .../api/v2/issues/1 → 403 policy_denied
最悪の場合を「消える」から「余計なも
のが増える」に寄せる
エージェントが読む課題やコメントは、他人
が書いたもの
書き込みはボットの名義で残す
課題の履歴で、人の操作と区別できる
明示したプロジェクトにだけ書き込む
API キーが届く範囲より狭く運用する
15


# Page. 18

![Page Image](https://bcdn.docswell.com/page/4EQY9949JP.jpg)

API キーと他人の文章
権限の設計
エージェントに API キーを持たせず、他人の文章を指示として聞かせない
鍵は通信の出口で差し替える
エージェントが送るのはプレースホルダだ
け。sandbox の出口で本物の API キーに置
き換わる
指示として聞くのは本人の文だけ
課題の本文、Web 検索の結果、添付に書か
れた指示は実行せず、依頼者に確認する
openshell:resolve:env:OPENAI_API_KEY
16


# Page. 19

![Page Image](https://bcdn.docswell.com/page/KJ4WXXLR71.jpg)

04
運用して分かった落とし穴
設定どおりに動いているのに、期待どおりにならない
17


# Page. 20

![Page Image](https://bcdn.docswell.com/page/LE1YNNLV7G.jpg)

素のモデルでの振り分け
運用して分かった落とし穴
判定役を素のモデルにしたら、92.4% の依頼がクラウドのモデルに流れた
素の Nemotron 3.5 Lightning(数日分、302 件)
7.6%
strong 92.4%
判定用に事後学習した judge(4 日間、156 件)
weak 62.2%
strong 37.8%
依頼文が判定役に届いておらず、素のモデルには判定の語彙もなかった
18


# Page. 21

![Page Image](https://bcdn.docswell.com/page/GEWG44V3J2.jpg)

Card に書かれていない権限
運用して分かった落とし穴
判定役が知らない権限は、拒否ではなく遅延として現れる
直す前)
Capability Card(
Write policy: NONE in this profile. Requests to
create, update, close, assign, or comment on
issues cannot be executed; ...
Backlog への書き込みを開けたのに、Card は読み取り専
用のときのまま。judge は起票の依頼を「この環境では
できない」と読み、p_solve 0.02 で重いモデルへ送った
直す前
書き込み依頼の応答は
平均 32.9 秒、最長 133 秒
Slack では「処理中」のまま止まって見えた
Card の文面だけを直した後
書き込みの判定 35 件が
すべて weak
2026-09-02〜09-04 の実運用
19


# Page. 22

![Page Image](https://bcdn.docswell.com/page/47ZL224GJ3.jpg)

権限が書かれた 3 か所
運用して分かった落とし穴
権限は 3 か所に書かれていて、Card だけはずれても止まらない
通信の許可リスト
skill のスクリプト
Capability Card
ずれると拒否される
ずれると拒否される
ずれると遅くなるだけ
メソッドとパス
プロジェクトの opt-in
judge に渡す一覧
能力を変えたら、Card も一緒に書き換えるを手順に入れた
20


# Page. 23

![Page Image](https://bcdn.docswell.com/page/YJ6WVV3QJV.jpg)

MESSAGE
Q. 社内のデータを扱う AI エージェントを運用していくうえで、
何を先に決めておくか?
外に出してよいものと、
壊されて困るもの
外に出すのは難しい依頼だけ、削除はどこからも通さない。
この 2 つを決めてから、機能を足してきた
21


# Page. 24

![Page Image](https://bcdn.docswell.com/page/GJ5MDDL2J4.jpg)

参考資料
シリーズ 01 / 2026-08-20
シリーズ 02 / 2026-08-28
dev.classmethod.jp/articles/reona-01-dgx-spark-nemoher
mes-slack-agent/
dev.classmethod.jp/articles/reona-02-dgx-spark-switchy
ard-routing/
DGX Spark に NemoHermes を常駐させて Slack から呼
べるチームアシスタントを作る
シリーズ 03 / 2026-09-04
NemoHermes に Backlog でのタスク管理を任せてみる
dev.classmethod.jp/articles/reona-03-dgx-spark-backlog
-skill/
関連 / 2026-09-20
NemoHermes の LLM ルーティングに使っている NeMo
Switchyard の Classifier を TypeSafe の Jev に替えて計
測してみた
dev.classmethod.jp/articles/reona-dgx-spark-switchyard
-jev-classifier/
NeMo Switchyard と事後学習済みの judge モデルで
Slack エージェントのリクエストを自動ルーティングする
シリーズ 04 / 2026-09-11
NemoHermes にチーム共通 RAG と Web 検索をつない
で、知見を溜めながら外の情報も取りに行かせる
dev.classmethod.jp/articles/reona-04-dgx-spark-team-ra
g-web-search/
関連 / 2026-09-24
NeMo Switchyard の Classifier に DeepSeek V4 Flash
の判定を蒸留した 2B のモデルを使ってみる
dev.classmethod.jp/articles/reona-dgx-spark-switchyard
-distill-classifier/
22


# Page. 25

![Page Image](https://bcdn.docswell.com/page/LE3WMML1E5.jpg)

11/6(金)19:00〜 オンライン
日比谷 Cafe から生配信
製造ビジネステクノロジー部の
会社説明会を開きます
部のメンバーが現場での働き方を話し、事前
アンケートの質問にその場で答えます
careers.classmethod.jp/jobfair/261106-2/
23


# Page. 26

![Page Image](https://bcdn.docswell.com/page/8EDK66NK7G.jpg)

ご清聴ありがとうございました
2026/10/24 製造ビジネステクノロジー部 嶋田 怜央成


# Page. 27

![Page Image](https://bcdn.docswell.com/page/V7PKYY53J8.jpg)

Appendix
25


# Page. 28

![Page Image](https://bcdn.docswell.com/page/2JVVGGPNJQ.jpg)

判定役の速さと根拠
Appendix
Jev は速いが、根拠を残さないので改善を回せず採用しなかった
判定役
judge(今の構成)
Jev(TypeSafe の判定 API)
蒸留した 2B の分類器
判定 1 件
1.49 秒
0.27〜0.42 秒
0.043 秒
13 シナリオ × 3 回
36 / 39
39 / 39
39 / 39
根拠(crux)
書く
無い
無い
依頼文の行き先
DGX Spark の中
TypeSafe
DGX Spark の中
速い 2 つは選択肢と確信度だけを返す。振り分けの理由を読めず、Card では直せない
判定 1 件の時間は Switchyard から見た中央値(judge は 13 シナリオでの計測)。2B の分類器は Card の規則を判定に含
まず、評価も合成データと 13 シナリオだけ
26


# Page. 29

![Page Image](https://bcdn.docswell.com/page/5EGL88P5JL.jpg)

Backlog が拒んだ書き込み
Appendix
許可リストを通っても、Backlog が受け付けるとは限らない
書き込みが全部失敗した
HTTP 400 Bad Request
{&quot;errors&quot;:[{&quot;message&quot;:&quot;Incorrect String:
%F0%9F%A4%96 ...&quot;,&quot;code&quot;:7}]}
原因は署名に入れていたロボットの絵文字。Backlog
のスペースが 4 バイトの文字を受け付けず、署名はすべ
ての書き込みに付くので全部落ちた
確かめたのは、通信が通るまで
署名を [bot] に変えて直した。
以来、新しい操作を開けたら、実データ
での往復を 1 回通す
27


