圏論によるAIエージェント時代の合成的ソフトウェア設計
AI時代の実装委任は、コード生成の巧拙よりも「何を固定して渡すか」で成否が決まります。仕様の暗黙補完、境界越境、監査漏れが起きる現場では、速度が上がるほど破綻も増えます。本書は、圏論を難解な数学としてではなく、仕様・境界・不変条件を設計成果物へ落とすための共通言語として扱います。AI導入の一般論や圏論入門ではありません。目的は、AI実装委任の運用品質を上げることです。Context Pack と検証条件を SSOT(Single Source of Truth)として固定し、GitHub と CI の運用まで接続する方法を示します。
はじめに
関連書について
- 本書は
categorical-software-design-bookとして公開する独立した日本語書籍である。Compositional Software Design for Agentic Systems(composable-software-design-book)は、関連する独立した英語書籍であり、旧版/新版や単純翻訳ではありません。- 日本語で AI エージェント時代の設計成果物、Context Pack、GitHub/CI 運用まで追いたい読者には、本書から読むことを推奨する。
- 英語で compositional design / verifiable engineering の全体像を通読したい読者は、関連英語書籍から始めてください。
- 関連英語書籍: 公開サイト / リポジトリ
AIに実装やテストを委任すると、速度は上がる一方で、仕様の曖昧さ・境界の越境・検証漏れが増えます。本書が扱うのは、この「速くなるほど壊れやすい」状況を、設計成果物と検証の運用で安定化させる方法です。
本書の中心にあるのは、注文処理の共通例題です。第1章から第9章で Objects / Morphisms / Diagrams / 境界設計を揃えます。第10章では、それらを Issue → Context Pack → AI 実装 → レビュー → CI の通しケースとして回収します。
本書の約束
- AI へ渡す前に、人間が固定すべき項目を設計成果物として示す
- 仕様・設計・検証を、Objects / Morphisms / Diagrams で接続できるようにする
- 統合・分業・効果境界のような壊れやすい領域を、図式とテスト観点へ落とせるようにする
- GitHub の Issue / PR / CI 運用へ接続できる実務手順まで示す
本書が約束しないこと
- 厳密な証明を中心に圏論そのものを学ぶ教科書にはしない
- 特定言語や特定フレームワークの実装テクニック集にはしない
- プロンプト例だけで運用問題を解決する近道は提示しない
読了後にできること
- Context Pack(入力契約)を用いて、AIへの委任範囲と責任分界を固定できる
- Objects/Morphisms/Diagrams により、仕様・設計・検証の接続点を成果物として残せる
- 図式(不変条件)をテスト観点へ変換し、CIで破綻を機械検知できる
- 統合/分業/効果境界の“壊れやすい領域”を、図式と検証の単位として扱える
想定読者
- AIを用いた実装/テスト生成を運用している(または導入したい)開発者/テックリード
- 仕様追加・境界破壊・検証漏れを、成果物とプロセスで抑止したい方
- GitHub(Issue/PR)とCIで、レビュー可能な差分として運用したい方
向かない読者
- 圏論の厳密な定義や証明を主目的として学びたい方
- AI 実装支援を使わず、純粋に特定言語の API 設計だけを学びたい方
- 設計成果物やレビュー運用を導入せず、プロンプト最適化だけで解決したい方
前提知識
- 実装経験(言語は問わない)
- Git/GitHubの基本操作(Issue/PR)
- テスト/CIの基本(単体/統合、品質ゲート)
前提が足りない場合の補助導線
- 圏論の記法や訳語に不安がある場合は、第2章 合成の最小コア(対象・射・合成)、用語集(Glossary), 付録D: クイックリファレンス を先に参照する
- Context Pack の仕様だけ先に押さえたい場合は、第1章 AIエージェント開発の分担モデルと設計成果物、Context Pack v1 仕様, 最小例: minimal-example から入る
- 通しの運用像を先に確認したい場合は、第10章 ケーススタディ(仕様→設計→検証→AI実装) を先に読み、必要になった章へ戻る
所要時間(目安)
- 通読: 2〜4時間(章末の演習は除く)
- 演習まで実施: 1〜2日(自プロジェクトに適用する場合は追加)
読み方ガイド
- 通読ルート(初読者向け):
- 第1章から第10章まで順に読み、最後に第10章のケーススタディで全体を回収する
- 理論・設計の対応を先に掴みたい読者向け:
- 概念マップ → 用語集(Glossary) → 付録D: クイックリファレンス → 第2章 → 第4章 の順に引く
- 実務適用ルート(導入担当・テックリード向け):
- 第1章 → 第3章 → 第4章 → 第7章 → 第9章 → 第10章の順に読み、自プロジェクトへ当てる
- 辞書的参照ルート(レビュー担当・運用担当向け):
- 用語は 用語集(Glossary), 図版・レビュー前確認項目・症状別導線は 付録D: クイックリファレンス、設計成果物の雛形は 付録A: 設計成果物テンプレ集 を起点に引き直す
- プロンプトは 付録B: AIエージェント用プロンプト集、学習マップと参考文献は 付録C: 参考文献 を起点に引き直す
確認したいこと別の正本
| 確認したいこと | 最初に開くページ | 説明が食い違う場合の正本 |
|---|---|---|
| 正式な読み順・章立て | このトップページの目次 | 公開トップページの目次(book-config.json から生成) |
| 形式と必須項目 | Context Pack v1 仕様 | 仕様ページ |
| 最小の入力例 | 最小例: minimal-example | 例題ページ内の YAML と解説 |
| 共通例題の通し像 | 共通例題: 注文処理 | 例題ページ内の YAML と解説 |
| 用語・訳語 | 用語集(Glossary) | 用語集 |
| 図版・戻り先・レビュー前確認 | 付録D: クイックリファレンス | 付録D |
| 版差・更新履歴 | CHANGELOG | CHANGELOG と GitHub 履歴 |
付録起点ショートカット
- 設計成果物の雛形が先に欲しい: 付録A: 設計成果物テンプレ集 → 第1章 → 第10章
- AI への入力例やレビュー/実装プロンプトを先に確認したい: 付録B: AIエージェント用プロンプト集 → 第1章 → 第10章
- 原典や背景文献から確認したい: 付録C: 参考文献 → 第2章 / 第4章 / 第9章
- 図版・症状別の戻り先を先に押さえたい: 付録D: クイックリファレンス → 該当章
- まずは付録Dの最小確認項目で論点を絞り、詳細なレビュー観点が必要になったら 付録A: 設計成果物テンプレ集 のチェックリストへ進む
目次(Part構成)
注記: 編集起点の SSOT は book-config.json ですが、reader-facing な正本は公開トップページの目次です。左ナビゲーションと前後導線は book-config.json から生成されるため、この要約と差分がある場合は公開トップページと sidebar / Prev/Next の生成導線を優先してください。
Part I: 委任の前提を固定する
AI に何を渡し、何を渡さないかを固定する入口です。第1章だけでも、責任分界と Context Pack の位置づけを把握できます。
Part II: 仕様から実装への写像を安定化する
仕様変更・差分・標準化を、意味保存の観点でどう扱うかを揃える中核部です。
Part III: 壊れやすい境界を設計する
統合・分業・副作用のように破綻しやすい場所を、図式・配線・境界として設計する章群です。
Part IV: 通しケースで回収する
前章までの概念を、Issue → Context Pack → AI 実装 → レビュー → CI の実務ループへ接続します。
共通例題
本書の running example は注文処理です。Order / Payment / Inventory / Shipment / Audit を持つ最小の業務系システムを使い、章ごとに境界・契約・不変条件を増やしていきます。
- 主要フロー:
CreateOrder → PlaceOrder → AuthorizePayment → ShipOrder - 主要な観測点:
D1(冪等性)、D2(監査整合)、D3(状態遷移安全) -
第10章で回収する論点: 注文取消のような変更要求を入れたときに、Context Pack・図式・テスト・レビュー観点がどう連動するか
- 共通例題ハブ: 共通例題: 注文処理
- 最小例ハブ: 最小例: minimal-example
第10章では、この共通例題に変更要求を入れ、設計成果物と検証がどう連動するかを通しで扱います。
付録
概念マップ
クイックスタート
読み始める前にすぐ試したい場合だけ、この節を使ってください。通読を優先する場合は、第1章から入る方が理解しやすくなります。
安全適用チェック
- 本書の最小例と共通例題は、検証用のリポジトリと検証用の権限境界で試してください。本番プロジェクトへ、そのまま直移植しないでください。
- Context Pack、Forbidden changes、レビュー観点は、利用中のリポジトリ規約と監査要件に合わせて再確認してください。
- 実務適用前に
validate-context-pack*とnpm run qaを通し、差分レビューと CI の両方で確認してください。
- Context Pack v1 仕様を読む: Context Pack v1 仕様
- 最小例(minimal-example)を読む: 最小例: minimal-example(例題ページ内の YAML と解説を起点に確認する)
- 次に共通例題(注文処理)を読む: 共通例題: 注文処理(公開ページ内の入力例・差分・レビュー観点を順に確認する)
- Context Pack を検証する(minimal lint + schema validation):
- 実行前に、公開ページで見ている版と同じ commit / tag を local checkout していることを確認する
- (初回のみ)
python3 -m pip install -r scripts/requirements-qa.txt - minimal lint(minimal-example):
python3 scripts/validate-context-pack.py docs/examples/minimal-example/context-pack-v1.yaml - minimal lint(common-example):
python3 scripts/validate-context-pack.py docs/examples/common-example/context-pack-v1.yaml - schema validation(minimal-example):
python3 scripts/validate-context-pack-schema.py docs/examples/minimal-example/context-pack-v1.yaml - schema validation(common-example):
python3 scripts/validate-context-pack-schema.py docs/examples/common-example/context-pack-v1.yaml - 検証スクリプト: リポジトリ同梱の
scripts/validate-context-pack.pyとscripts/validate-context-pack-schema.pyを使う
- (任意)CI相当の主要チェックを一括実行する:
npm run qa- 実行後は、検証レポートと失敗箇所を確認してから差分レビューへ進む(詳細: 第10章)
用語集
- 用語・訳語を確認するときは 用語集(Glossary) を参照します。
- 図版、レビュー前確認項目、症状別の戻り先は 付録D: クイックリファレンス を起点に確認します。
- 形式や検証コマンドを確認するときは Context Pack v1 仕様 と 検証コマンド を参照します。
付録の使い分け
- 付録A: 設計成果物テンプレートを先に確認したいときに使います。
- 付録B: AI エージェントに渡す入力例やプロンプト例を確認したいときに使います。
- 付録C: 原典や背景文献を確認したいときに使います。
- 付録D: 図版、レビュー前確認項目、症状別の戻り先を短時間で引き直したいときに使います。詳細なレビュー用チェックリストは付録Aを参照してください。
利用と更新情報
- 公開版: GitHub Pages
- リポジトリ: GitHub Repository
- 変更履歴: CHANGELOG.md
- 版差確認: コミット履歴 / PR 一覧
- フィードバック: 誤植・質問・技術的指摘
版差・更新確認の手順
- まず公開ページ本文と例題ページ内の YAML を確認し、読者向けに現在公開されている内容を把握します。
- Context Pack や最小例の入力仕様を確認したい場合は、まず Context Pack v1 仕様 と 検証コマンド を確認し、その後に 付録A と 付録B の雛形・入力例を見直します。
- 用語や図式の意味を確認したい場合は 用語集(Glossary) と 付録D を見直します。
- 公開本文と開発中の版差を確認したい場合は、CHANGELOG.md、コミット履歴、PR 一覧 を参照します。
- 誤植、質問、技術的指摘を送りたい場合は Issue template を使います。
- 仕様や概念の根拠を厳密に確認したい場合は 付録C と一次資料を参照します。
AI エージェント、CI、Context Pack の運用例は、読者のプロジェクトへそのまま移植することを前提にしていません。実務へ適用する場合は、本書の図式・契約・検証観点を土台にしつつ、利用中のモデル、リポジトリ規約、権限境界、監査要件に合わせて再確認してください。
ライセンス
本書は CC BY-NC-SA 4.0 で公開されています。商用利用は別途契約が必要です。
- 著者: 株式会社アイティードゥ
- バージョン: 1.0.0
- 最終更新: 2026-04-03
注記: 上の「最終更新」は公開サイトのビルド日です。公開本文と開発中の版差を確認する場合は、CHANGELOG.md、コミット履歴、PR 一覧を参照してください。