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
DDDのエッセンスを取り入れたAIでの開発
Search
ak2ie
August 19, 2026
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DDDのエッセンスを取り入れたAIでの開発
AI時代のドメイン駆動設計LT会(2026/08/20)での発表内容です
ak2ie
August 19, 2026
More Decks by ak2ie
See All by ak2ie
Claude Codeはレガシー移行でどこまで使えるのか?
ak2ie
1
1.6k
SVG完全に理解してグラフ書いてみた
ak2ie
0
67
Go言語CLIツールで生産効率UPした話
ak2ie
0
130
Goではじめるバックエンド開発
ak2ie
0
86
Notion APIと学ぶNext.js
ak2ie
0
590
NestJSのはじめ方
ak2ie
0
170
フロントエンドでDDDやってみた
ak2ie
0
89
初心者がシビックテックに参加してみた
ak2ie
0
130
Firebase についてとことん語りたい
ak2ie
0
130
Other Decks in Technology
See All in Technology
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
460
Model Studio CLI × Token Plan
maigo999
0
200
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
2.1k
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.5k
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
270
Oracle MCP Servers Explained
thatjeffsmith
0
180
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
FDEの心得
noriakioji
5
6.3k
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
270
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
480
Chasing Engaging Ingredients in Design
codingconduct
0
280
The Curse of the Amulet
leimatthew05
2
14k
A designer walks into a library…
pauljervisheath
211
24k
Abbi's Birthday
coloredviolet
3
9.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
The Curious Case for Waylosing
cassininazir
1
460
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Transcript
LIGHTNING TALK DDDのエッセンスを取り入れた AIでの開発 認可とワークフローの仕様を、モデルで守る 2026/08/20|AI時代のドメイン駆動設計LT会
ABOUT ME 02 自己紹介 AIを活用したWebシステム開発に取り組んでいます 名前 秋田大介 所属 株式会社メンバーズ 職種
エンジニア X @ak2ie_tech
AGENDA 03 今日お話しすること 申請システムで起きた問題から、DDDでの解決まで 01 システムの概要 認可・閲覧範囲・状態遷移 02 困ったこと 共通化しても残った課題
03 DDDでの解決 ドメインモデル/集約『申請』へ集約 04 まとめ 部分的にDDDを採用して得たこと 本日は『全部DDD』ではなく、必要な部分に使った話をします
SYSTEM OVERVIEW 04 社内の申請システム 3つのロールで操作 申請者 課長 → 下書きを作成し申請 部長
→ 申請を承認・差し戻し 課長が承認した申請を 決裁・差し戻し 課長・部長は自部署の申請のみ操作可能。兼務もある。
SYSTEM OVERVIEW 05 申請は4つのステータスを遷移する 逐次遷移と、部長による直接遷移の2つの経路がある 下書き 申請中 承認済 決裁済 一般:申請
課長:承認 部長:直接決裁 部長:決裁 完了 差し戻し 差し戻し 申請中 → 下書き:課長 承認済 → 申請中 承認済 → 下書き :部長
PROBLEM — IDEAL 06 権限マトリクスを一か所で判定すればOKと思った ロール × リソース × 操作で『見える・できる』を表す
01 ロール 一般/課長/部長 02 リソース 一般:自分が担当する申請を閲覧 課長・部長:自部署の申請を閲覧 03 操作 申請/承認/決裁/差し戻し 閲覧と操作の両方を、同じ3軸の共通ロジックで管理する
02 PROBLEM 理想どおりには、 いかなかった 共通関数を用意しても、画面・APIごとの差が残った ここから、実装で起きた3つの問題を見ていきます 07
PROBLEM — REALITY 08 共通関数があっても、使い方が共通とは限らない 未使用や誤ったカラム指定で、画面ごとの差が残った 01 関数を使わない 一部の画面・APIでは権限チェック自体が未適用 02
入力を間違える 担当者を渡すべき箇所で作成者を渡す 03 リソースの考慮漏れ 部署兼務の場合に正しく動作しないことがあった なぜ共通関数が機能しなかったのか? 判定前の『申請データの作り方』が揃っていなかった
PROBLEM 09 遷移とデータ更新も、処理ごとに差が生まれる 同じ操作でも、APIや実行経路が違うと不具合になり得る 遷移ルール 日時更新 逐次用と直接用で遷移表が別々 遷移可能ステータスに差異が発生 直接遷移時に、不要になった 操作日時のクリアが漏れた
申請API 承認API 決裁API 差戻API 判断と更新をそれぞれが持つほど、一貫性を保ちにくい
03 SOLUTION WITH DDD では、どう解決するか DDDのエッセンスを使う 分散した判断と更新を、ドメインモデル『申請』へ集める 申請を集約とし、同じ仕様を必ず通る構造へ変えます 10
SOLUTION WITH DDD 11 分散していた判断をドメインモデル『申請』へ集約した 困っていたことと対策を、一対一で対応させる 困っていたこと モデルで行う対策 関数の呼び出し漏れ →
ドメインモデルを使わないと処理できない 入力パラメータの指定誤り → 権限判定をモデル内で行う 逐次と直接で遷移可能状態が違う → 遷移表をモデルの振る舞いへ統合 直接遷移時に操作日時のクリア漏れ → 日時更新・クリアをモデル内に閉じ込める 『申請』を集約とし、整合性を守る単位の中で判断と更新を完結させる
CONCRETE EXAMPLE 12 『部長が直接決裁する』を、1つの操作で保証する APIは『申請』集約の決裁操作を呼ぶだけ。6つの条件を集約が処理する 01 ロール 部長ロールを持つか確認 04 状態遷移
決裁済へ変更 02 リソース 申請が自部署のものか確認 05 日時更新 不要な日時をクリアし決裁日時を 設定 03 操作 統合した遷移ルールで確認 個別決裁でも一括決裁でも、同じ『申請』集約を通れば条件は同じ
SUMMARY 13 判断漏れを探すより、必ず通る仕様の中心をつくる システム全体ではなく、申請部分を境界づけられたコンテキストとした 01 問題 画面・APIごとに判断材料とルールが違った 02 対策 ドメインモデル/集約『申請』へ、判断と更新を集約
03 期待する効果 同じ操作が同じ仕様を通り、レビュー箇所も絞られる 株式会社メンバーズ 採用募集中 https://career.members.co.jp/recruit/