AutonoMath architecture — Pre-computed Reasoning Layer¶
公開日: 2026-05-06 / 運営: Bookyou株式会社 (T8010001213708)
AutonoMath は「LLM に投げる前に答えが構造化されている」ことを最優先にした設計です。 ここでは内部の 4-Layer architecture と、5 つの moat (堀) を共有します。
なぜ Pre-computed Reasoning Layer なのか¶
LLM が日本制度に弱い根本原因は 3 つ:
- データが散らかっている — 47 都道府県 + 各省庁 + 公庫 + 国税庁、ぜんぶ別ポータル + PDF
- ライセンスが曖昧 — 「再配布可?」を一次資料まで遡らないと判定できない
- 構造化されていない — 要綱の脚注に書いてある「併用したら失格」を機械可読にする工程がない
LLM プロンプトでこれを毎回解くのは無駄。事前に構造化して SQLite に焼く のが AutonoMath です。
4-Layer Architecture (L0-L4)¶
L0: Primary Sources (各省庁 / 都道府県 / 公庫 / 国税庁)¶
- 一次資料 URL + 取得時刻つき (99%+ 行をカバー)
- アグリゲータ (noukaweb / hojyokin-portal / biz.stayway) は 禁止 — 過去に詐欺リスクを生んだ
- 出典が「いつ最後に取れたか」を
source_fetched_atで正直に保持 (「最終更新」と詐称しない)
L1: Ingest + Canonicalization¶
scripts/ingest/ 配下:
- prefecture_walker (47 都道府県を 7-rung walk)
- 国税庁適格事業者 (PDL v1.0、API 再配布可)
- e-Gov 法令 API (CC-BY、9,484 rows)
- MAFF / METI / 公庫の各種 batch DL
各 row に unified_id (ハッシュ + 正規化) を付与し、下流の cross-dataset glue を可能に。
L2: SQLite + FTS5 + sqlite-vec¶
data/jpintel.db(188 MB) — programs / case_studies / loan_programs / enforcement / laws / tax_rulesets / invoice_registrantsautonomath.db(7.36 GB, read-only) — entity-fact EAV (424,054 entities + 5.26M facts + 23,805 relations + 335k aliases)- FTS5 trigram tokenizer で日本語形態素境界をスキップ (
税額控除を税|額|控|除の trigram で hit) - sqlite-vec で意味的類似 (5 段階 tier vec index)
- ATTACH しない: 2 DB を分離保持し JOIN は app 側で
- レプリカ: snapshot を Fly volumes + S3 で 7 日 + 30 日保持
L3: Reasoning Glue (181 排他ルール + cross-dataset)¶
- 35 hand-seeded ルール (農業 22 + 非農業 13) + 146 auto-extracted (要綱 PDF から)
- 3-axis loan risk: 担保 / 個人保証人 / 第三者保証人 を独立 enum に分解 (free-text 単一化禁止)
- cross-dataset glue tools:
trace_program_to_law/find_cases_by_law/combined_compliance_check
L4: API + MCP Surface¶
- FastAPI (REST) —
/v1/*Stripe metered billing 連携 - FastMCP (stdio) — 55 tools (38 core + 17 autonomath, protocol 2025-06-18)
- 静的サイト — Cloudflare Pages、site/programs/ 以下に SEO-page を 13,578 件生成
- llms-full.txt — LLM crawler 用 canonical document (~ 2.2 MiB、月次再生成)
5 つの moat (堀)¶
Moat 1: Time depth (時間深度)¶
am_amendment_snapshot(14,596 rows) で 過去のある日に何が active だったか を再構成可- VC / 監査の use case (「契約締結日に有効だった措置法は何か」)
Moat 2: Curation (キュレーション)¶
- 181 排他ルールは要綱読解の人手作業の結晶
tier='X'(quarantine) とexcluded=1(hard delete) の二段制で詐欺ソースを物理排除
Moat 3: Customer (顧客面)¶
- 5 audience 設計 (税理士 / 行政書士 / SMB / VC / Dev) — DPA も seat fee もなし、self-serve
- ¥3/req 完全従量 + 匿名 50/月 free → 個人事業主から AI agent dev まで同じ価格モデルで取り込める
Moat 4: Regulatory (規制対応)¶
- インボイス + 電帳法 ruleset 35 rows + 国税庁適格事業者 13,801 rows (PDL v1.0、API 再配布可)
- 法令出典 (e-Gov CC-BY) を保持 → 二次再配布が法的に clean
- DM / cold outreach 一切なし → 景表法 / 特商法 / 個情法に sales-team を介在させない
Moat 5: Breadth (幅)¶
- 補助金・融資・税制・認定・採択・処分・法令・判例・入札・適格請求書・税制ruleset の 11 軸 を 1 query で横断
- 1 軸特化型 SaaS と比べて、1 client から取れる use case の本数が違う
tech stack 一覧¶
| Layer | 技術 |
|---|---|
| Ingest | Python 3.11 / Playwright / httpx / SQLite |
| Storage | SQLite + FTS5 (trigram) + sqlite-vec |
| API | FastAPI / Pydantic / Stripe |
| MCP | FastMCP (stdio, protocol 2025-06-18) |
| Hosting | Fly.io Tokyo (api.autonomath.ai) + Cloudflare Pages (autonomath.ai) |
| Docs | MkDocs Material |
| Billing | Stripe Metered (¥3/req tax-excl) + 匿名 IP-based rate limit (JST 月初リセット) |
なぜ SQLite を選んだか¶
- single-file replication — Fly volumes / S3 / Cloudflare R2 で 1 file コピー 1 行
- read-heavy + small writes — 月次 ingest + 24h 配信、用途と一致
- FTS5 trigram + sqlite-vec が最初から bundled、別 search engine 不要
- ¥0 fixed cost — Postgres / OpenSearch を立てれば月 ¥3 万、SQLite なら 0 円
- 100% organic acquisition + solo + zero-touch には fixed cost ゼロが必須条件
なぜ自前 LLM 推論を呼ばないか¶
これは AutonoMath の 負けない設計 の核心です。
- 顧客側で推論する (Claude / Cursor / ChatGPT)
- AutonoMath は構造化データだけ返す — Anthropic API も OpenAI API も呼ばない
- 我々が ¥0.5/req で API call すれば、¥3/req の単価では即赤字
- 構造化済みデータを返せば、顧客は ¥3 + 顧客自身の LLM 課金 で完結
次のステップ¶
質問・要望は [email protected] または GitHub issues へ。
© 2026 Bookyou株式会社 (T8010001213708) · [email protected] · AutonoMath