Factory Overview
目次
1. アブストラクト(要約)
生成AIの普及で「コードを書く速度」は上がりました。しかし現場のボトルネックは依然として、 設計の曖昧さ、属人化、品質保証、運用差分に残ります。 AIBOD Factoryは、これらを “製造業モデル” で解決します。
2. 背景課題:ソフトウェア開発が“製造”になり切れていない理由
従来のソフトウェア開発は「プロジェクト」になりやすく、製造業のような再現性ある生産になりづらい構造があります。
要件が文章中心になり、実装段階で解釈が分岐しやすい。
熟練者の頭の中で整合が取られ、再現性が落ちる。
テストが最後に寄り、仕様とテストがズレやすい。
顧客・環境差分がコードに混ざり、保守負債になる。
3. AIBOD Factoryの定義:ソフトウェア製造工場とは何か
AIBOD Factoryは、ソフトウェアを「開発」ではなく「製造」として扱います。製造業における 設計(図面)、部品、装置、検査、出荷 を明確に対応づけます。
要件定義を「製造指示」に落とす。曖昧さを排除し、I/O・処理・UIを構造化する。
UI(Next/HTML/Grafana/Tkinter/Streamlit/FlutterFlow/Swift等)やBackend(Django/API/DB)を部品化する。
部品を組み合わせ、Configを適用し、成果物(Web/EXE/App/API/Container)に仕上げる。
Unit/Integration/Systemの合否を工程に組み込み、品質を“仕組み”として保証する。
Config設定 と 検査 の実行だけで完結します。(工程が整備されている=工場であることの証明)
4. 治具(Jigs):見える化+制約+再現性の装置
ソフトウェアは目に見えません。よって、製造業でいう「治具」に相当する仕組みが不可欠です。 AIBOD Factoryでは治具を、単なる可視化ツールではなく、“間違った作業を不可能にする装置”として定義します。
部品の入力/出力、依存、利用可能ラインを固定表示し、正しい選択を支援(または強制)する。
組立順序と接続制約を固定し、工程スキップや誤接続を不可にする。
テスト項目・合格基準・NG原因を可視化し、品質判断を人から工程へ移す。
- Visualization:見える
- Constraints:間違えられない
- Repeatability:同じ結果が出る
5. 工場モデル:設計→部品→ライン→検査→出荷
工場全体は、以下の一次元フローとして定義します(複雑さは治具が吸収し、工程はシンプルに保つ)。
工程の意図
- 設計:製造指示を構造化(曖昧さ排除)
- 部品:再利用可能な資産を増やし続ける(工場が賢くなる)
- ライン:組立順序と制約を固定(作業者スキル依存を下げる)
- 検査:品質を工程に内蔵(出荷基準の一貫性)
- 出荷:複数形態へ展開(Web/EXE/App/API/Container)
6. 差別化:なぜ「同品質で速い」が成立するのか
AIBOD Factoryの価値は「AIで速い」ではありません。工場化によって速さと品質を両立させる点です。
“人が治具になる”状態をやめ、治具が工程を固定する。
部品が増えるほど、新規製造コストが下がる(製造業のBOM/規格部品と同じ)。
検査が最初から工程にあるため、品質が後追いにならない。
顧客差分をコードではなく設定で吸収し、保守負債を抑える。
7. ロードマップ:Factoryの実装レベル定義
「工場」を段階的に成熟させます。最初は“概念を壊さない最小実装”から入り、部品・治具・検査の密度を上げていきます。
Level 0 — Concept
- 用語定義(部品/製造装置/検査装置/治具)
- 工場フロー(5工程)を固定
Level 1 — Template Manufacturing
- 用途別テンプレ(Django/Next/Tkinter等)
- Config化のルール(差分がコードに混ざらない)
Level 2 — Jig-Driven Manufacturing
- 部品治具:I/O・依存・利用ラインの表示
- ライン治具:工程順・接続制約の強制
- 検査治具:合否基準・NG原因の可視化
Level 3 — Automated QA & Delivery
- テスト自動生成/回帰テスト自動化
- 出荷形態の自動切替(Web/EXE/App/API/Container)
Appendix A. 事例:CSV加工ライン(最も分かりやすい“ソフトウェア製造”)
ここでは、AIBOD Factoryの工場モデルを「CSV加工ライン」に落とし込みます。 目標は、入力CSV → いくつかの工程 → 出力CSVを、設計図(製造指示)と治具で“製造”することです。
1) 製造品設計(設計=製造指示)
・顧客CSV(商品マスタ)を、社内の共通フォーマットに変換する
・欠損値を埋める/文字種を正規化する/カテゴリを付与する
・最終的に、別システムへ取り込み可能なCSVに整形する
・入力列定義(列名・型・必須・許容値)
・出力列定義(列名・型・生成ルール)
・工程の順序(例:正規化→マッピング→集計→出力)
・UIに表示する内容(例:検査結果、差分、統計)
AIBOD Factoryでは、要件定義を文章で終わらせず、列定義=製造可能な構造データとして固定します。
2) 部品棚(コンポーネント)
・列名マッピング(A列→B列)
・型変換(string→int/float/date)
・正規化(空白/全半角/文字種)
・欠損補完(default/前値/ルール補完)
・コード変換(カテゴリID付与など)
・集計・検算(数量/金額/重複チェック)
・入力プレビュー(先頭N行)
・検査結果一覧(NG行/列/理由)
・差分ビュー(変換前後の比較)
・出力ダウンロード
Backend雛形
・Django API / バッチ処理 / ログ
3) 治具(CSV加工ラインで最も効く要素)
・入力スキーマ(列名・型・必須・例)
・出力スキーマ(生成ルール)
・工程ごとのI/O(この工程が触る列)
・型が揃っていないと次工程へ進めない
・必須列が欠けていると組立不可
・工程の順序を固定(正規化→型変換→…)
・必須列欠損:NG
・値域外:NG(例:0〜100)
・文字種違反:NG
・重複キー:NG
・現場担当者でも理解できる
・どの工程で、どの列が、どう変わったか追える
・NGが出たら“なぜ”が一目で分かる
4) 製造ライン(実際の製造=Config設定+検査+出力)
1. 入力CSVアップロード(またはAPI投入)
2. Config選択(顧客A用 / 顧客B用 など)
3. 組立(部品の組合せが確定)
4. 検査(NGがあれば出荷停止、原因を表示)
5. 出力CSVを出荷(ダウンロード/S3/次システムへ投入)
5) 何が“工場化”なのか(従来のCSVツールとの差)
・手作業でExcel/スクリプトが乱立
・担当者の暗黙知で回る(属人化)
・検査が弱く、後工程で発覚
・顧客ごとの差分が増殖
・列定義(図面)を固定し、治具で可視化
・工程の接続制約で“間違えない”
・検査治具で“合否がブレない”
・差分はConfigで吸収(製造として量産)
CSV加工ラインは、ソフトウェア製造工場の最小単位として最適です。
列定義=図面、工程部品=部品棚、フロー=製造ライン、検査ルール=検査治具が明確で、 “治具が効く”ことを最短距離で伝えられます。