Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LLM AgentでTRPGを動かしたら、Agentの地獄を(多分)全部見た
Search
tanahiro2010
May 31, 2026
170
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
Terraformで素数をマイニングしたら、ブロックチェーンが生まれた 〜 Infrastructure as Code。つまりCode。なら何でもできますよね? 〜
tanahiro2010
0
15
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
250
Serverlessのすゝめ
tanahiro2010
0
43
東京で唐揚げを食べたら北海道の地理にたどり着いた件
tanahiro2010
0
31
Googleが発表した新Web標準ドラフト――WebMCP。実際どうなの? IO Extendedで実装・登壇して分かったこと
tanahiro2010
0
110
PHPの命名規則、結局camelCaseとsnake_caseどっちなんだ
tanahiro2010
0
34
Q. 底辺作家でも流行に乗れば舞えますか? A. はい。分析ランキング分析AIを使えば
tanahiro2010
1
77
OSSコミュニティがくれた「人との繋がり」
tanahiro2010
2
470
Serverlessしかなかったので、ブラウザに働いてもらいました
tanahiro2010
1
73
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
A Soul's Torment
seathinner
8
3.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Code Review Best Practice
trishagee
74
20k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Believing is Seeing
oripsolob
1
240
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