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
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
Search
izumin5210
December 23, 2025
Programming
6
1.9k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
December 23, 2025
Tweet
Share
More Decks by izumin5210
See All by izumin5210
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
400
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.4k
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.6k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
2.9k
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.6k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
1.1k
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
5
880
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
15
9.8k
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
10
4.2k
Other Decks in Programming
See All in Programming
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
15年目のiOSアプリを1から作り直す技術
teakun
0
480
CSC307 Lecture 09
javiergs
PRO
1
850
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
390
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
12
6k
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜 / Understanding nil in Go Interface Representation and Why nil != nil
kuro_kurorrr
1
830
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
420
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
150
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
160
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
150
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.9k
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
210
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
400
Raft: Consensus for Rubyists
vanstee
141
7.3k
How to build a perfect <img>
jonoalderson
1
5.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
A Soul's Torment
seathinner
5
2.3k
Test your architecture with Archunit
thirion
1
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Prompt Engineering for Job Search
mfonobong
0
180
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.7k
Leo the Paperboy
mayatellez
4
1.5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
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