💻 システム開発
2026-05-10_SCALE_CRM_v9.95-v9.109_作業ログ
最終更新 2026年05月10日 / 31_システム開発部/SCALE_CRM/2026-05-10_SCALE_CRM_v9.95-v9.109_作業ログ.md
2026-05-10 SCALE CRM 大規模改修ログ
18:39 - /handoff 実行
対象システム
SCALE CRM (scale-lead) — 1日で v9.95 → v9.109 まで14バージョンアップ
セッション背景
1案件50ラリー × 3案件想定の運用に向けて、AI共創セッションを「実用レベル」まで引き上げる集中改修セッション。コスト削減・UX改善・虚偽報告防止・進行止まり修正など多数の課題を順次解決。
完了タスク(v9.95〜v9.109)
コスト・レート対策(v9.95〜v9.99)
- v9.95: コスト削減3点セット(プロンプトキャッシング + Sonnet切替 + 履歴キャッシング・推定75-90%off)
- v9.96: [CHOICES] パーサー堅牢化
- v9.97: バッチ質問モード(似た構造の項目を1ターンで2-3問並列)
- v9.98: 学習FBシステム([LEARN]タグで全案件横断ルール蓄積)
- v9.99: 30k tok/min レート制限耐性 + プロンプト圧縮 + COCREATE_VERSIONS履歴整備
UX・通知・バックグラウンド化(v9.100〜v9.107)
- v9.100: AI共創バックグラウンドジョブ化(モーダル閉じても処理継続)
- v9.101: 選択肢ボタン柔軟化(質問内容に応じて2〜8個・固定パターン廃止)
- v9.102: 完了ボタン改善(無駄トークン防止 + 引き継ぎ4要素可視化)
- v9.103: サービス概要 大規模整理(タブ削除/KO連携分離/完成度定義変更/サイト出力修正/擦り合わせ自動ステータス)
- v9.104: セクション再編成(NAV_ITEMS)+ 変更履歴の表示強化
- v9.105: ペルソナ整形 + バッチ直接入力 + キャンペーンなし対応
- v9.106: エレベーターピッチ整形ルール(。=1行空白 / 、=改行)+ サイト未公開UX
- v9.107: AI共創 別ページ後の崩れ修正・派手な完了通知トースト + ブラウザ通知
サーバー耐性・虚偽報告対策(v9.108〜v9.109)
- v9.108: メンバー保存500エラー修正(base64アバター肥大化対策)
- v9.109: D1サーバー側500耐性 + AI共創進行止まり根絶(localStorage永続化)+ 虚偽報告防止 + 全項目埋め切り強制
編集ファイル
/Users/oogushiyuuki/株式会社SCALE/scale-lead/service.js- AI共創全般・サービス概要・publishServiceSite/Users/oogushiyuuki/株式会社SCALE/scale-lead/ai.js- callClaude/Stream のレート制限耐性・変更履歴強化/Users/oogushiyuuki/株式会社SCALE/scale-lead/core.js- NAV_ITEMS再編成・client_confirm リダイレクト/Users/oogushiyuuki/株式会社SCALE/scale-lead/pages.js- メンバー保存・renderAlerts等/Users/oogushiyuuki/株式会社SCALE/scale-lead/functions/api/data/[key].ts- audit_log耐性化/Users/oogushiyuuki/株式会社SCALE/scale-lead/functions/s/[projectId].ts- 未公開ページUX
デプロイ・バックアップ
- 最終デプロイ:
2026-05-10 18:16(v9.109) - 直URL: https://7991bfbc.scale-lead.pages.dev
- 本番URL: https://crm.scale-group.co.jp/
- 最新バックアップ:
~/scale-lead-backups/scale-lead-2026-05-10-1816-post-deploy.tar.gz - 本日デプロイ回数: 14回(v9.95〜v9.109)
試したこと・学び
- 30k tok/min レート制限: Sonnet 4.5 / Tier 1 では Opus と同じ。コスト削減してもレート上限は同じ → 累計$40でTier 2 (80k) 到達でほぼ消える
- AI虚偽報告: AI が「埋まりました」と言うのは、svc JSON を見ずに発言している。プロンプト先頭に「未入力項目リスト」を毎ターン注入することで構造的に防止可能
- base64フォールバックの罠: アバター R2 失敗時の base64 サイレントフォールバックが members 配列肥大化 → D1 500 の根本原因
- D1 audit_log: before+after を両方保存するため、巨大値だとサイズ超過。スキップパターンで対処
- streamBubble の closure: モーダル閉じても closure は生きてる → ensureDom で復活描画可能だが、completed状態の保持方法を間違えると重複描画する
ユーザーFB(重要なやつ全部)
- 「鯉登 完成度100%にKO連携除外で全部埋まったらにして」
- 「30秒/2分ピッチが超見づらい → 。は1行空白 / 、は改行ルール」
- 「サイトリニューアル押したら表示されない」
- 「メンバー追加で500エラー」
- 「他のページ行ったらAI共創の動きが止まる」(複数回FB → v9.107で対策→再発でv9.109で根本対策)
- 「AI共創がサービス概要の空白なのに『埋めた』と虚偽報告」(v9.109 で防止)
- 「全部完璧に埋めるようにしたい」(v9.109 完了モーダル+プロンプト未入力リスト注入)
- 「右下に完了通知欲しい」(v9.107 でスライドイン+ブラウザ通知実装)
- 「ペルソナタイトル文字被り」(v9.105 で modulo化)
- 「キャンペーンなし選びたい」(v9.105 でテンプレ追加)
注意ポイント・退化リスク
- AI共創 activeRequest は localStorage
sb__coCreateActiveRequestに永続化されている(v9.109)→ 古い pending が10分超で自動error化 - 未入力項目リスト はプロンプト先頭の cachedBlock に注入(v9.109)→ 編集時は
_coCreateBuildEmptyFieldsSectionを必ず維持 - D1 audit_log スキップパターン (
/_service_site$/等) は重要 → サイト保存時の500を防ぐ核心 → 削除しない - base64アバター自動削除 機能(v9.108)→ メンバー保存前に 800KB超で警告。ロジックを変えると500再発のリスク
- クライアント要確認のタブ統合(v9.104)→ NAV_ITEMS から
client_confirmを削除してserviceのタブにリダイレクト。直接client_confirmをリンクから呼ぶ場合は core.js のR テーブルが対応している - KO_LINKED_FIELDS 配列(v9.103)→ 変更時は
svcTabCompletionも連動が必要 - COCREATE_VERSIONS に新エントリは「先頭に追加」→ ルールとして固定
次のセッションで取り得る選択肢
- 動作確認・FB対応 — ユーザーが v9.109 を実際に使ってみての追加FB対応
- AI共創対象項目の追加微調整 — 完成度計算の項目選定をより業務実態に合わせる
- TERASU CRM など他システム — scale-lead と同様の改修横展開(学習FB / バックグラウンドジョブ等)
- Anthropic Tier 2 到達待ち — 累計$40使用後にTier 2 (80k ITPM) 自動到達 → レート制限ほぼ消える
- アラート/通知の強化 — 5種類の自動判定をユーザーが触りたいなら拡張可
- 変更履歴のフィルタ強化 — 特定ユーザー × 特定キーで絞り込み等
引き継ぎファイル
/tmp/handoff_20260510_183925.txt
全14バージョンの累積効果
コスト: 推定 75-90% 削減(v9.95)
レート制限: 自動回復(v9.99)
進行止まり: 根絶(v9.109・localStorage永続化)
虚偽報告: 構造的防止(v9.109・未入力リスト注入)
完成度: KO連携除外で正しく100%判定(v9.103)
通知: 派手なトースト + ブラウザ通知(v9.107)
学習: 全案件横断のFB蓄積(v9.98)
バッチ質問: 待ち時間消失(v9.97)
500エラー耐性: メンバー・サイト両対応(v9.108・v9.109)
→ AI共創セッションが「実運用に耐える」状態に到達。