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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ak2ie
August 19, 2026
Technology
270
1
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
69
Go言語CLIツールで生産効率UPした話
ak2ie
0
130
Goではじめるバックエンド開発
ak2ie
0
87
Notion APIと学ぶNext.js
ak2ie
0
600
NestJSのはじめ方
ak2ie
0
170
フロントエンドでDDDやってみた
ak2ie
0
90
初心者がシビックテックに参加してみた
ak2ie
0
130
Firebase についてとことん語りたい
ak2ie
0
130
Other Decks in Technology
See All in Technology
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
1
250
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
120
【Oracle AI Spotlight ウェビナー】AWSか、Azureか、Google Cloudか。その議論にオラクルを含める意義。
oracle4engineer
PRO
2
240
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
240
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
270
その指示、Bobにしっかり伝わってる?初心者でも即実践できる プロンプト/コンテキスト設計のコツ
muehara
1
170
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.5k
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
370
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
720
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
260
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
How to Ace a Technical Interview
jacobian
281
24k
BBQ
matthewcrist
89
10k
Exploring anti-patterns in Rails
aemeredith
3
490
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Mind Mapping
helmedeiros
1
350
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Spectacular Lies of Maps
axbom
PRO
1
980
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
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/