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
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
Search
izumin5210
December 23, 2025
Programming
2.4k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
December 23, 2025
More Decks by izumin5210
See All by izumin5210
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
930
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.6k
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
2.3k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
2
1.1k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
8
3.2k
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.8k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
3.7k
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.8k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
1.4k
Other Decks in Programming
See All in Programming
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
810
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
160
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
280
気持ちぃ〜角丸 Squircle
ryu1013
0
340
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.9k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
260
Seven New Principles of Software Engineering
yegor256
0
320
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
320
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
190
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
120
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.2k
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
How to build a perfect <img>
jonoalderson
1
6.2k
The Cult of Friendly URLs
andyhume
79
7k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
320
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Transcript
AI Agent Tool のための バックエンドアーキテクチャを考える 2025-12-23 Encraft #22 @izumin5210
@izumin5210 © LayerX Inc. whoami LayerX バクラク事業部 (2022-09 -) Platform
Engineering 部 Enabling チーム Staff Software Engineer バックエンドや Web フロントエンドが専門です AI は初心者 ISUCON14 4位 好きな AI SDK v6 の API は .toModelOutput()
今日の話のスコープ © LayerX Inc. LLM / Agent を プロダクトに組み込む とき
Backend は 何を単位に能力を提供するか 3
変化の出発点 Before 利用主体が 人間・決定論コード After 利用主体が Agent Agent は 考えながらタスクを進める主体
© LayerX Inc. 4
従来の AI 機能のバックエンドアーキテクチャ上の位置づけ © LayerX Inc. AI はリクエストツリーの 「葉」 に
単機能な complicated subsystem 呼び出し元がすべて決める AI は 制御フローを持っていなかった 5
AI Agent 機能のバックエンドアーキテクチャ上の位置づけ © LayerX Inc. AI が 制御フローに入ってくる 実行時に
分岐・再計画 ツリーの葉ではなく 根 / 節 に 6
AI Agent 機能のバックエンドアーキテクチャを考える © LayerX Inc. 7
Tool "a contract between deterministic systems and non-deterministic agents" "agents
have different ways of perceiving the potential actions they can take" Tool = Agent に開放する、ユースケース・目的に合わせた操作 © LayerX Inc. Anthropic, 2025, https://www.anthropic.com/engineering/writing-tools-for-agents 8
Tool 設計と API 設計の違い 従来の API 設計 for Backend/Frontend 開発者・システム向け
に書く Agent 向け Tool 設計 エージェントのため に設計する © LayerX Inc. メモリ豊富なシステムが相手 呼び出し側が手続きを組み立てる Limited context を持つ主体が相手 Agent がタスクを組み立てる Anthropic, 2025, https://www.anthropic.com/engineering/writing-tools-for-agents 9
シンプルなケース:単一ドメインのタスク © LayerX Inc. 単一ドメインの 意味あるタスク として Tool を呼ぶ 10
複数ドメインにまたがる場合 © LayerX Inc. 複数集約・複数操作を 束ねたタスク Agent からは 1 回の
Tool 呼び出し 内部では複数ステップが走る 11
実装パターン © LayerX Inc. 2つのリソースを2つのツールで操作するような Agent 12
1つのユースケースなら tool にまとめる © LayerX Inc. リソース指向な API とは違い、tool はユースケースごとに作る
ユースケースとして1つなら、 tool は1つにしたほうが AI からすると使いやすい 13
内部的には usecase 層が存在する(概念的にあるいは実際に) © LayerX Inc. 概念的には複数のドメインにまたがった操作する usecase 層が存在するイメージ 14
Agent を外に置く © LayerX Inc. バックエンドに利用している言語で AI 周りのエコシステムが不十分な場合、Agent 周り を別サービスに分けることも選択肢になる
15
Agent Tool 向けのユースケース指向 API を提供する © LayerX Inc. 「どの処理のかたまりでユースケースを構成するか」は Backend
側で持つほうが自然 かもしれない 16
複数プロダクトにまたがる場合 © LayerX Inc. 複数のプロダクトにまたがるタスク 17
複数プロダクトで1ユースケース © LayerX Inc. プロダクトが1つのときと同じく、ユースケースとして1つなら tool は1つに 18
ユースケースの集約層 - Backend for Agents 的なレイヤ © LayerX Inc. ユースケースを複数の
Agent から利用するケースなどで、集約レイヤを設ける? BFF(Backend for Frontend) に対して、Agent 向けの API 提供層… BFA(Backend for Agents)? 19
設計の分割軸 Tool の粒度:ユースケース単位で作る © LayerX Inc. リソース単位ではなく、ユースケース単位 サービスをまたぐ場合も同様 20
設計の分割軸 Agent の配置:Backend 内か外か © LayerX Inc. Backend 言語の AI
エコシステムの充実度 AI 周りの複雑さ・開発者の分離 21
設計の分割軸 追加レイヤ:BFA(Backend for Agents) © LayerX Inc. 複雑な Agent /
複数 Agent から利用するケース Tool 向け API のレイヤを別途設ける 22
設計は一つに定まらない 設計が1つに定まることはない(多分) © LayerX Inc. LLM / AI Agent は偏在しうる
多様な大きさのタスクで利用される 1つのリソースしか触れないかもしれないし、プロダクトをまたぐかもしれない タスクの規模にフィットした設計を選択していく 23
Agent が偏在する世界の設計 Agent は 特別な一箇所に閉じない © LayerX Inc. 小さな Agent
〜 大きな Agentic workflow どの規模のタスクにも Agent は登場しうる 多様なエンジニアが触る 24
Agent 遍在を前提にした基盤・概念 Tool 定義 Agent に何を 開放するか Durable Execution Human-in-the-loop
を含む 処理の定義 および確実な実行 ... and more 必要なもの、準備していくものはまだまだたくさん! © LayerX Inc. 25