Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LLM AgentでTRPGを動かしたら、Agentの地獄を(多分)全部見た
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tanahiro2010
May 31, 2026
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LLM AgentでTRPGを動かしたら、Agentの地獄を(多分)全部見た
GDGoC Osakaで登壇しました
https://www.youtube.com/watch?v=d8-dpm3HvQE
tanahiro2010
May 31, 2026
More Decks by tanahiro2010
See All by tanahiro2010
PHPの命名規則、結局camelCaseとsnake_caseどっちなんだ
tanahiro2010
0
11
Q. 底辺作家でも流行に乗れば舞えますか? A. はい。分析ランキング分析AIを使えば
tanahiro2010
1
56
OSSコミュニティがくれた「人との繋がり」
tanahiro2010
2
380
Serverlessしかなかったので、ブラウザに働いてもらいました
tanahiro2010
1
57
React Hooksを使いこなせ! ――初心者でも簡単。ポートフォリオ開発で実践するReact講座.pdf
tanahiro2010
0
16
SQLインジェクション ――攻撃の仕組みから対策まで
tanahiro2010
0
43
初心者でも簡単理解。Github講座
tanahiro2010
0
21
だから僕はMarpを使う ――Bokuchiのすゝめ
tanahiro2010
1
23
私にとって便利なもの。個人開発LT
tanahiro2010
2
220
Featured
See All Featured
A Soul's Torment
seathinner
6
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
200
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
For a Future-Friendly Web
brad_frost
183
10k
WENDY [Excerpt]
tessaabrams
11
39k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
490
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Become a Pro
speakerdeck
PRO
31
6.2k
Transcript
LLM AgentでTRPGを動かしたら、 Agentの地獄を(多分)全部見た GDGoC Osaka — LLM Agent Build with
AI 田中博悠 / 2026 1
自己紹介 田中博悠 / tanahiro2010 三田学園高等学校 1年生 兵庫の辺境に住んでる TypeScript / Python
/ Rubyをメインに開発 興味が赴くがままに他の言語フレームワークも使用中 2
突然ですが質問です 「趣味と技術、合体させたくなったことありますか?」 3
なぜこれを作ったか LTネタを探す → TRPGが好き × LLM Agent触りたい → 合体させよう() 気づいたら一から実装していました
4
作ろうとしたもの 複数のLLM AgentがTRPGを自律進行するシステム GM Agent : シナリオを読んで描写・進行 PL Agent :
キャラクターとして行動宣言 Rule Engine: ダイス判定・状態管理(TypeScript) 設計思想: 「AI = 演技」 「TypeScript = 世界」 LLMには喋らせるだけ、ロジックは絶対コードで持つ(謎のこだわり) 5
システム構成 ┌─────────────────────────────────────┐ │ TypeScript Engine │ │ ターン管理 / 状態
/ ダイス / ログ │ └────────────┬────────────┬────────────┘ │ │ ┌─────▼─────┐ ┌───▼──────┐ │ GM Agent │ │ PL Agent │ │ (Cohere) │ │ (Cohere) │ └────────────┘ └──────────┘ PLは [action]...[/action] タグで構造化出力 → zodでバリデーション 6
実際に動かしたら シナリオ(1ページ目) : 「あなたがいつも通りの日常を送っていると、唐突に目の前にどこ◦もドアっぽい物 が現れる」 → 入る? 入らない? 7
実際に動かしたら GMの出力: 「夜の街を歩く探索者たちの前に、突然、どこか異次元を思わせる扉が現れた。その 扉は、無機質な白と黒の幾何学模様が織りなす不思議な光景を映し出している。 」 夜の街、どこから来た? 探索者たち(複数) 、誰? 8
4ターン後の状態 項目 期待 実際 フェーズ 分岐・戦闘へ dialog のまま ダイス 複数回
0回 アクション skill_check / move speak のみ シナリオ進行 3〜4ページへ 1ページから動かず PLが4ターン連続で少女に話しかけ続けた 9
何がなぜ壊れたか ① GMがシナリオを「文脈」として使った テキストで渡すと、LLMは雰囲気だけ吸って創作する 分岐を「制御すべき構造」とは認識しない ② PLがspeakしか選ばない 「キャラクターらしく行動せよ」だけでは 安全策として会話を選び続ける ③
Scenario Parserが未実装 現在のページ・選択肢・次ページをエンジンが把握できていない 10
学んだこと LLMに構造を守らせたいなら、構造化した入力を渡せ テキスト渡し → LLMは文脈として解釈 → 脱線 構造体渡し → LLMは制約として認識
→ 制御できる { "currentPage": 2, "choices": ["入る → 3ページ", "入らない → 4ページ"], "instruction": "必ずどちらかの選択肢に誘導すること" } 「AIに任せる部分」と「コードで縛る部分」の境界設計が全て 11
まとめ・今後 動いたこと Agent間の会話ループ 構造化出力 + zodバリデーション セッションログ(JSONL) これからやること Scenario Parser実装
ページ状態をエンジンで管理 複数PL対応 Gemini混在構成 リポジトリ: github.com/tanahiro2010/ai_agent_trpg 12
ご清聴ありがとうございました 「AI = 演技、TypeScript = 世界」 …のはずだった 失敗ログも全部コミット済みです() github.com/tanahiro2010/ai_agent_trpg 13