Upgrade to Pro — share decks privately, control downloads, hide ads and more …

『動くだけ』のその先へ — AI駆動開発で品質と速度を両取りする温故知新な新手法 / Beyo...

Avatar for Hiroshi Ito Hiroshi Ito
July 23, 2026
640

『動くだけ』のその先へ — AI駆動開発で品質と速度を両取りする温故知新な新手法 / Beyond Just Vibe Coding - Combining Classic Principles with AI-Driven Development

Avatar for Hiroshi Ito

Hiroshi Ito

July 23, 2026

More Decks by Hiroshi Ito

Transcript

  1. ⾃⼰紹介 伊藤 博志(いとひろ @itohiro73) 株式会社ログラス 執⾏役員CTO ゴールドマン‧サックスのテクノロジー部に新卒⼊社後、同社の機関システム開発に従事。その後、 VP/Senior Engineerとしてプラットフォーム開発に携わり、同社発のJavaのOSSであるEclipse Collectionsのコミッター兼プロジェクトリードやOpenJDKへのコントリビュートを⾏うなど、OSS戦略

    を牽引。 スタートアップ2社を経て、READYFORに⼊社し執⾏役員VPoEに就任。エンジニア組織の10名から30名 規模への成⻑、決済基盤の刷新、技術的負債の返済、新規プロダクト開発を牽引。 2022年10⽉に株式会社ログラスの開発部へエンジニアとして⼊社。EM、VPoEを経て2024年11⽉より執 ⾏役員CTOに就任。 © 2026 Loglass Inc. 2
  2. 2026.02 2026年2⽉、週末三連休で どこまで⾏けるか 試してみた。 ⽇ ⽉ ⽕ ⽔ ⽊ ⾦

    ⼟ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 © 2026 Loglass Inc. 7
  3. OLAP DBとは OLAP DB: 集計‧分析⽤の多次元データベース OLAP(Online Analytical Processing)とは、⼤量のデータをさまざま な切り⼝から集計‧分析するための処理⽅式です。1件ずつの登録‧更 新(OLTP)と対になる考え⽅です。

    データを「縦軸:組織」「横軸:勘定科⽬」「奥⾏き:時間」のよう な多次元キューブとして捉え、どの軸からでも集計値を取り出せるよ うにモデル化します。 例えば「4⽉分だけ」を切り出す操作は「スライス」と呼ばれ、時間軸 を固定してキューブの断⾯を取り出すことに相当します。 ※ 物理的な実装は製品により様々(事前集計‧列指向など) © 2026 Loglass Inc. 10
  4. OLAP DBとは OLTP DBとOLAP DBの違い OLTP DB(業務向け) Online Transaction Processing

    OLAP DB(分析向け) Online Analytical Processing • 1件ずつの登録‧更新‧参照 • ⼤量データをまとめて集計‧分析 • トランザクション処理が主戦場 • ⼤きな読み取りと集計が主戦場 • ⾏指向の格納が典型 • 列指向の格納が典型 • 例:受注‧在庫の登録∕更新 • 例:部⾨ × 科⽬ × 時間 の集計 © 2026 Loglass Inc. 11
  5. OLAP DBとは 参考: OLAP処理が可能なOSSとして⼈気の2フレームワーク Rustで実装されたデータフレームライブラリで、 データ分析に特化した⾼速に動作するインプロセ 特にパフォーマンスに優れたクエリエンジンで スDBです。SQLiteのような軽量さを持ちながら す。pandasの代替を⽬指しており、⼤規模なデー も、列指向のデータストレージを採⽤しており、

    タを効率的に処理できる設計がされています。マ ⾼度な分析クエリを効率的に実⾏できます。 ルチスレッドを活⽤して並列処理を⾏い、Python とのバインディングも提供しているため、pandas に慣れ親しんだユーザーであれば扱いやすいツー ルです。 https://pola.rs/ https://duckdb.org/ ※ ロゴは各公式サイトより引⽤。商標は各プロジェクトに帰属します © 2026 Loglass Inc. 12
  6. ⾃作OLAP DBのパフォーマンス 充填データにおけるパフォーマンスはPolarsを上回るクエリが5/10ほど 標準 fP&A クエリのパフォーマンス(1M⾏) ※ 実⾏時間ms‧低いほど⾼性能 88ms ⾃作OLAP

    88ms DuckDB Polars 50ms 50ms 88ms 82ms 76ms 52ms 41ms 38ms 28ms 22ms 21ms 25ms 15ms BQ-01 予実⽐較 BQ-02 P&L Rollup BQ-04 YoY⽐較 BQ-06 クロスプラン BQ-07 YTD累計 © 2026 Loglass Inc. 14
  7. ⾃作OLAP DBのパフォーマンス 細かめの補⾜: 疎データとは = 経営管理や管理会計系のデータの性質 次元の掛け算とデータの性質により、多次元データ内に膨⼤な「空⽩」が⽣まれる 1 次元の乗算的爆発 2

    論理的な⾮在の発⽣ 3 充填率1%未満の現実 分析軸(部⾨、科⽬、取引先等)を増 「⼈事部 × 製品売上」のように、ビジ 実際に値が刻まれるのはキューブの空 やすほど、集計対象となるセル数は爆 ネス上あり得ない組み合わせが、計算 間の極⼀部。99%以上が空(疎)とい 発的に増加します。 上の空間の⼤部分を占拠。 う極端な状態が、FP&Aデータでは起き 得ます。 100 × 200 × 500 × 50 × 12 意味をなさないセルが増加 = 6,000,000,000 60億マスの巨⼤空間が出現 スカスカな空間の効率的処理が鍵 © 2026 Loglass Inc. 16
  8. ⾃作OLAP DBをClaude Codeでどうやってつくったか 基本の流れ(全てClaude Codeにやらせる) プロダクト全体|戦略ループ 1 ビジョンを インプット 2

    技術‧最新研究を ディープリサーチ 3 仮説ベースで ロードマップ作成 7 振り返り → ロードマップ組み替え 6 Polars/DuckDB ベンチで検証 還流 開発アイテム単位|実装パイプライン 4 ADR作成+ 専⾨家AIレビュー 5 仕様策定→テスト設計→設計→実装→検証 堅牢性を保って⼀気通貫 ※ 顧客データや機密情報は⼀切含まず、完全にパブリックな情報、または⼀般化‧抽象化された概念のみをインプットしています © 2026 Loglass Inc. 22
  9. 3⽇間のトライ ハーネス = AIに規律を「外付け」する仕組みの総称 harness = ⾺具。⼒を殺さずに、⽅向と安全を制御する装具 ハーネス Skills Rules

    Hooks AIエージェント (Claude Code) Commands サブエージェント プロジェクト規約 仕組みは道具に依らない。今⽇は、Claude Codeでの実装を例に © 2026 Loglass Inc. 35
  10. 3⽇間のトライ たとえば、仕様の⼀⽂に振った ID は、検証まで⼀気通貫でつながる 仕様書 テスト設計書 …… TC-047-1 #047 導出

    明細3件 → ⼩計 = 合計 …… #047 実⾏‧判定 PASS ✓ TC-047-1, TC-047-2 グリーン ⼩計は、明細の合計と 常に⼀致する 検証レポート TC-047-2 検証に紐づいていない仕様:0件 明細0件 → ⼩計 = 0 仕様に紐づいていないテスト:0件 対象仕様:#047 から導出 ID をたどれば、「何を保証し、どう検証されたか」に、いつでも答えられる © 2026 Loglass Inc. 37
  11. これは、ウォーターフォールなのか? 回転数が上がりきったウォーターフォールは、イテレーションと区別がつかない 従来のウォーターフォール AIの速度で回すと 仕様 仕様 テスト設計 検証 ↻ テスト設計

    実装 検証 実装 1サイクル = 数ヶ⽉ 1サイクル = 数時間 ↻ ↻ ↻ 1⽇に何周も ⼿戻りは数ヶ⽉の損失。ドキュメントは腐る 学びが数時間で、次の周の仕様へ © 2026 Loglass Inc. 39
  12. 回転数を上げても、壊れないための仕組み 新しい仕様は、「過去の全仕様」との⽭盾も検査される #001 #002 #003 #004 #047 #012 #019 #023

    #031 #038 #040 #044 #046 新しい仕様 全件と突き合わせて⽭盾を検査 これまでに積み上げた仕様のすべて 仕様が積み上がるほど検証の網は密になり、「新機能が既存を壊す」を仕様の段階で捕まえる © 2026 Loglass Inc. 43
  13. 回転数を上げても、壊れないための仕組み 同じ問いを3つのエンジンに投げて、答えを突き合わせる ⾃作OLAP DB ⼀致 ✓ 同じ クエリ DuckDB 答えは

    ⼀致するか? → 前進する 不⼀致 → ⾃作側の誤りを検知。 Polars 即、修正 「オラクルテスト」と呼ばれる枯れた⼿法。テストの⾒落としは、答えの不⼀致が教えてくれる © 2026 Loglass Inc. 44
  14. 回転数を上げても、壊れないための仕組み 性能も「回して」上げる、計測と研究のループ 実装 ベンチマーク計測 専⾨家AIが評価 改善をロードマップへ 毎フェーズ必須 楽観バイアスを禁⽌ 反映の省略は禁⽌ 2つの規模

    × 他エンジン⽐較 ⾚‧⻩‧緑で厳しく判定 計測が次の計画になる ⾏き詰まったら、ディープリサーチ。 最新研究‧学術知⾒をループに注⼊ 学びと打開策が、次の周の実装へ © 2026 Loglass Inc. 45
  15. 業務SaaSでの実践 約3,000万通りの組み合わせを、82構成に圧縮して検証する 16の因⼦が、掛け算で爆発する 因⼦A ×3⽔準 ペアワイズ法 82構成 どの2因⼦のペアも必ず 2因⼦ペアの網羅率 100%(120/120)

    因⼦B ×5⽔準 因⼦C ×4⽔準 因⼦D ×4⽔準 因⼦E ×4⽔準 …全16因⼦ 1回は現れるように選ぶ、 枯れた設計⼿法 単純な直積 ≈ 3,000万通り ほかに:判定分岐のデシジョンテーブル 138ルール∕業務の年間リズムに沿った横断シナリオ 8本∕⾒つけたバグは、再現テストにして から直す © 2026 Loglass Inc. 53
  16. 新機能の開発でも実践 正しく作ろうとするほど、仕様の本質が問われる 業務SaaSでは、作り直しだけでなく新機能の開発も 実践した。 たとえば、こんな問い 「グループ⾏の達成率は、 ハーネスを活⽤して進めると、仕様の本質を問う問 どう計算するのが正しいですか?」 いが次々に返ってきた。前提を揃えるには、答える 必要のある問いばかりだった。

    ⼦A:120% ⼦B:80% では、グループ⾏は? ⾜す? 平均? 合計から計算し直す? どれも、計算としては作れてしまう 顧客にとって価値のある仕様か。意味のある仕様に 正解は、計算では決まらない。 なっているか。なぜ、これをやるのか。それ⾃体を 顧客がこの数字で何を判断するか、で決まる。 深める必要が、⾃然と⽣じた。 © 2026 Loglass Inc. 59
  17. ハーネスを、開発の外側へ 「なぜ‧何を」は、独⽴した成果物として先に固める 1 Why/What ドキュメント(実際の章⽴て) 価値は、課題とペアで書く 1. 社会‧市場背景 2. 顧客の課題

    PB-001 … 005 2 合格ラインは、検証の前に固定する 1 3. 提供価値 VL-001 … 004(課題とペア) 4. ターゲット‧ペルソナ 3 3 WhatとHowを、1:1で繋ぐ 5. 機能領域 FA-001 … → Howへ(1:1) 6. スコープ(作らないものも明⽰) 2 7. 成功指標(合格ラインを先に固定) 8. Traceability PB ⇔ VL ⇔ FA 仕様の「⼿前」にも、型とゲートがある © 2026 Loglass Inc. 66
  18. ハーネスを、開発の外側へ 学びの共有: AIにテンプレを埋めさせると、結論ありきの⽂書ができあがる 機会定義書 ✓ 顧客課題 「他に、どんな案があった?」 「何を検討して、捨てた?」 ◯◯業務は⼯数が⼤きく、担当者の負荷が… ✓

    提供価値 「なぜ、これを選んだ?」 ◯◯を⾃動化し、リードタイムを⼤幅に… ✓ 成功基準 どこにも、残っていないと、読んだ⼈間には不安感が残る。 導⼊3社で継続利⽤率が… ⼀⾒、完璧に⾒える。 AIの⽋陥というより、プロセス設計の問題。 「埋めさせる」設計そのものが、広げる⼯程をスキップさせる。 © 2026 Loglass Inc. 67
  19. ハーネスを、開発の外側へ 学びの共有: だから、「広げてから絞る」を⼆回やる(ダブルダイヤモンド) 正しい課題を⾒つける 正しい解を⾒つける 問題空間 解空間 解くべき課題 広げる(発散) 絞る(収束)

    価値のある仕様 広げる(発散) 絞る(収束) 正しい課題なしに、正しい解はない ※ ダブルダイヤモンド:デザイン思考の定⽯プロセス © 2026 Loglass Inc. 68
  20. ハーネスを、開発の外側へ 学びの共有: AIの役割は、「⽂書⽣成器」ではなく「熟練インタビュアー」 1 2 3 説明責任のための役割分担 意思の痕跡を必須にする わからない所は埋めない ⼈=意思

    AI=構造化 記録あり=有効 記録なし=不完全 要証拠:___(空欄のまま) 意思とインプットは⼈が持つ。AIは引 ⼈が確認した‧反論した‧決めた。こ 確度の低い前提は、空欄のまま⾒える き出し、構造化し、根拠をもって反論 の記録がない成果物は、不完全なもの 化する。埋まるまで、ゲートは通さな する。鵜呑みのプロセスにしない。 として扱う。 い。 AIが⾃動⽣成したドキュメントは、正しそうに⾒えて、⼈を動かさない © 2026 Loglass Inc. 69
  21. ハーネスを、開発の外側へ 打席数を増やす: つくらずに⽴てる打席と、⼀周まわす打席 ディスカバリーの打席:つくらずに検証する 机上リサーチ インタビュー 1打席が数時間から数⽇。 プロトタイプ 仮説の外れを、安く早く潰せる 筋の良い仮説だけを、⼀周に乗せる

    ⼀周まわす打席:価値検証のフルサイクル 探索 仕様 実装 検証 リリース 学び この⼀周も、ハーネスがあるから速い 打席数はディスカバリーで稼ぎ、当たりは⼀周で確かめる © 2026 Loglass Inc. 70
  22. ハーネスを、開発の外側へ 仮説には、書き⽅と順番の型がある 1 2 3 反証できる形で書く ⼀番危ない仮説から試す 確からしさは、反証耐性で 気持ちを主語にしない。 ✗「使ってくれるはず」

    重要度 都合のいい証拠を数えない。 ★ ここから検証 反証の試みに耐えた回数だけ、 ✓「週1回以上使われる」 検証度が上がる。 観測できる形に、置き換える。 証拠の強さ 打率は、仮説の「扱い⽅」で決まる © 2026 Loglass Inc. 72
  23. ハーネスを、開発の外側へ 価値のある仕様は、打席と打率の掛け算でつくる 打席を増やす 打率を上げる ‧つくらずに検証する打席 ‧正しい課題から始める (リサーチ‧インタビュー‧プロトタイプ) × (広げてから絞る、を⼆回) ‧仕様の⼿前に、型とゲート

    ‧デリバリーまで⼀周まわす打席も、 ‧仮説には、書き⽅と順番の型 ハーネスの活⽤で品質⾼く速く ‧学びが、次の打席を書き換える 速さは打席のために。プラクティスは打率のために。 © 2026 Loglass Inc. 74
  24. ログラスの Product Team Value Update Normal:「当たり前」を更新し続ける 当たり前を疑う 新しい当たり前にする 「当たり前のようにこうしている」を 単発の改善で終わらせず、

    ⾜を⽌めて疑い、更新する 新しい 「普通」 として定着させる 開発の「当たり前」が⾳を⽴てて変わるいま、ここに全⼒で取り組む © 2026 Loglass Inc. 80
  25. 82

  26. 83