プロンプトテンプレート集
質問フェーズ チェックリスト(12項目)
新規開発・既存システム分析・マイグレーションのいずれのフェーズでも、「AIに聞くべき業務要件の抜け漏れ」を潰すための共通チェックリストです。1 項目ずつ順番にコピー&貼り付けして Claude / Copilot / Amazon Q に投げれば、担当者の経験やモデルの揺れに依存しない網羅的なヒアリングが可能になります。 仕様書作成タブの「質問フェーズ」プロンプトと併用することで、AI が出し忘れがちな観点を強制的に押さえられます。
「何を解決するシステムか」「成功とはどの数値が動けば成功か」が曖昧なまま進むと、実装後に要件の認識違いで手戻りが発生する。最初に目的と KPI を言語化する。
- この機能が目指すビジネス目的と、成功を測る KPI(CV 率・削減時間・エラー率など)を具体的な数値付きで整理してください。
- 現行業務における課題を 3 つ挙げ、そのうち今回のシステムで解決するもの/しないものを切り分けてください。
- 「この機能が使われなくなったらどう判断するか」の撤退基準を提案してください。
「誰が使うか」「誰が OK を出せば進められるか」を特定しないと、後から別部署の差し戻しで設計が覆る。承認ラインを最初に固定する。
- この機能の利用者ロール・依頼元部署・承認者を RACI で整理してください。
- 仕様確定の最終意思決定者と、その人が判断に必要とする情報を列挙してください。
- 利用者ロールごとの主要ユースケースを 3 つずつ挙げ、優先順位を付けてください。
「やること/やらないこと」を切らないと、ヒアリングで出てきた要望が全部入り込んで炎上する。境界を最初に宣言する。
- 今回のリリースに含める機能と、次期以降に切り出す機能を明示的に分離してください。
- 前提条件(既存データの整合性・運用ルール・法改正予定など)を箇条書きで列挙してください。
- スコープ外だが将来影響する可能性がある項目を「要観察リスト」として記録してください。
「社内の既存システムとどう繋がるか」を聞き忘れると、後から認証方式や API 仕様の制約で実装やり直しになる。接点を全て洗い出す。
- この機能が読み書きする既存システム・DB・SaaS を全て列挙し、連携方式(REST / ファイル / DB 直結 / MQ)を明示してください。
- 連携先ごとの応答 SLA と、障害時の縮退運転方針を提示してください。
- 既存マスタ(顧客・商品・組織など)のどれが Source of Truth か、重複するマスタの統合方針と合わせて整理してください。
「変更履歴を残すか」「マスタの有効期間はどう管理するか」を決めないと、後から監査対応や時系列分析ができなくなる。初期に設計する。
- 主要エンティティ(例: 顧客・契約・注文)の ER 図案と、それぞれの有効期間管理(論理削除/履歴テーブル/バイテンポラル)の方針を提案してください。
- マスタ更新時に過去データをどう扱うか(スナップショット保持 / 現行値参照)を業務観点で決定してください。
- 参照整合性の強制範囲(DB 制約で保証 / アプリで保証)を明示してください。
「境界値」「異常系」の扱いを先に決めないと、実装者ごとに判断が分かれてバグの温床になる。業務ルールとして言語化する。
- 入力項目ごとの必須/任意・文字種・最小最大・組み合わせ条件を業務ルールとして整理してください。
- 業務エラー(在庫切れ・与信 NG など)とシステムエラー(DB 接続不可など)の切り分け方針と、ユーザー表示メッセージを決めてください。
- 冪等性が必要な操作を特定し、再送時の振る舞い(同一結果返却 / 409 エラー)を提案してください。
「どのくらいの速さ」「どのくらい落ちていいか」を数値化しないと、アーキテクチャが過剰にも過少にもなる。初期に合意する。
- 想定 TPS・同時接続数・ピーク時間帯・レスポンス SLA(P95 / P99)を業務要件から逆算してください。
- 可用性目標(99.9% / 99.99%)と、月間許容ダウンタイムを明示してください。
- 性能劣化時の縮退運転(機能の一部停止 / レートリミット)の優先順位を提案してください。
「誰が何をできるか」を後から足そうとすると、既存コードの大半に影響する。認証方式と権限モデルは初期に決定する。
- 認証方式(OIDC / SAML / API Key / Basic)と、セッション/トークン有効期限を提案してください。
- 画面・API ごとにロール(管理者 / 一般 / 参照のみ等)の権限マトリクスを作成してください。
- 管理者権限の分離(特権管理/監査分離)と、権限昇格時の承認フローを提示してください。
「後から追えるか」を設計しないと、障害調査と内部統制対応で詰む。記録粒度と保管期間を初期に決める。
- アクセスログ・業務監査ログ・システムログの 3 分類について、記録項目と保管期間を提案してください。
- 監査ログに含めるべき項目(誰が/いつ/何を/結果/リクエスト ID)を業務観点で決めてください。
- メトリクス・トレース・アラートの初期セット(SLO 監視対象)を提案してください。
「どの層で何を保証するか」を先に合意しないと、テストが単体に偏ったり逆に E2E 偏重でメンテ地獄になる。テストピラミッドを決める。
- 単体・結合・E2E・負荷の各層で保証する観点と、カバレッジ目標を提案してください。
- ハッピーパスだけでなく、業務エラーケース・境界値・同時実行シナリオを網羅するテスト観点を列挙してください。
- 外部連携先のモック戦略(スタブ / コンシューマ駆動契約テスト)を提案してください。
「本番で困ったときに誰が何をするか」を設計に織り込まないと、リリース後にオンコール担当者が詰む。運用設計は最初に決める。
- デプロイ戦略(Blue/Green / Canary / Rolling)と、ロールバック手順を提案してください。
- 障害検知から一次対応・恒久対応までの運用フローを RACI で整理してください。
- バックアップ・リストア手順と、RPO / RTO の目標値を業務要件から決めてください。
- 移行時の既存データ変換・並行稼働期間・切替判定基準を提案してください。
「個情法・業法・契約」の観点を抜くと、リリース直前に法務から差し戻されて全部やり直しになる。最初に対象法令を洗い出す。
- この機能が扱う個人情報・要配慮個人情報の区分と、取得・利用・保管・削除の各段階での必要措置を整理してください。
- 適用される業法(金商法 / 医療 / 電気通信事業法 など)と、必要な管理策を列挙してください。
- 外部委託・越境データ移転がある場合の契約・同意・安全管理措置を提案してください。
▼ 実行結果サンプルを見る (Claude Sonnet 4.6 で実行)
# api_OrderCreate.md
## 目的
BtoB 受注管理 SaaS「StockMate」において、営業担当またはバイヤーポータルから
新規受注を 1 件登録する。登録と同時に在庫引き当て・与信枠チェックを同期実行し、
業務トランザクションの二重登録を防止する。
## エンドポイント / メソッド
`POST /api/v1/orders`
- コンテンツタイプ: `application/json; charset=utf-8`
- 認証: 必須 (Bearer JWT / scope: `orders:write`)
- 冪等性: `Idempotency-Key` ヘッダ必須 (UUID v4 / 24h 保持)
## リクエスト
| 項目 | 型 | 必須 | 制約 |
|---|---|---|---|
| customer_id | UUID | ○ | 既存かつ `status=active` |
| order_date | date (ISO8601) | ○ | 当日 ±7 日以内 |
| items[] | array | ○ | 1 件以上 200 件以下 |
| items[].sku | string | ○ | 正規表現 `^[A-Z0-9-]{4,24}$` |
| items[].qty | integer | ○ | 1 以上 9999 以下 |
| items[].unit_price | decimal(12,2) | ○ | 0.01 以上 |
| shipping_address_id | UUID | ○ | customer_id に紐付く住所 |
| memo | string | × | 最大 500 文字 / 制御文字禁止 |
### リクエスト例
```json
{
"customer_id": "5f2b8c6a-3d1e-4b9f-a8c7-1e2d3f4a5b6c",
"order_date": "2026-04-11",
"items": [
{ "sku": "SM-BOLT-M8-50", "qty": 120, "unit_price": 38.50 },
{ "sku": "SM-NUT-M8", "qty": 240, "unit_price": 6.20 }
],
"shipping_address_id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789",
"memo": "納期厳守 / 分納不可"
}
```
## レスポンス
### 成功 (201 Created)
```json
{
"order_id": "ord_2026041100017",
"status": "confirmed",
"total_amount": 6108.00,
"reserved_stock": true,
"credit_check": "passed",
"created_at": "2026-04-11T09:22:14+09:00"
}
```
### 業務エラー (409 Conflict)
| code | message | 発生条件 |
|---|---|---|
| E_STOCK_SHORTAGE | 在庫不足 (SKU=xxx) | 引き当て不可 |
| E_CREDIT_LIMIT | 与信枠超過 | 残枠 < 合計金額 |
| E_CUSTOMER_HOLD | 取引停止中の顧客 | status=hold |
### システムエラー (5xx)
- レスポンスボディは `{ "code": "E_INTERNAL", "trace_id": "..." }` のみ
- 内部例外メッセージ・SQL・スタックトレースは出力しない
## 認証・認可
- 認証: Bearer JWT (Cognito 発行)
- 認可: scope `orders:write` 必須。テナント ID は JWT claim から取得し、
`customer_id` のテナント一致を DB 層で検証 (横串アクセス防止)
## 入力検証
- JSON Schema で 1 次バリデーション (FastAPI Pydantic v2)
- 業務検証は Service 層で実施 (在庫・与信・住所紐付け)
- 不正値は 400 Bad Request + `E_VALIDATION` + 項目単位エラーリスト
## 監査ログ
`audit_orders` テーブルに以下を INSERT (非同期 Outbox 経由):
- actor_user_id / actor_ip / tenant_id
- action = `order.create`
- target_id = order_id
- before = null / after = JSON スナップショット
- result = success | business_error | system_error
- occurred_at
## 依存テーブル
| テーブル | 用途 | ロック |
|---|---|---|
| customers | 顧客状態参照 | 共有 (SELECT) |
| stock_items | 在庫引き当て | 悲観 (SELECT ... FOR UPDATE) |
| credit_accounts | 与信枠チェック | 共有 |
| orders / order_items | 受注登録 | INSERT |
| audit_orders | 監査ログ | INSERT (非同期) |
## テスト観点
1. 正常: 単一明細 / 複数明細 / 境界値 (qty=1, 9999)
2. 冪等: 同一 Idempotency-Key 再送で 200 (前回結果を返す)
3. 業務エラー: 在庫不足 / 与信超過 / 取引停止顧客
4. 認可: 他テナントの customer_id を指定 → 403
5. 入力検証: sku フォーマット / 日付範囲 / memo 長さ
6. 並行: 同一 SKU への同時受注 100 並列で在庫オーバー無し
7. 監査: audit_orders に全ケースで記録される
## 未確定事項 (TODO)
- [ ] 分納フラグの要件確定 (memo 例に「分納不可」があるが API 項目化する?)
- [ ] 外貨受注の扱い (現状 JPY 前提)
- [ ] Outbox テーブル設計は別 API 仕様書と統合予定
推奨フロー: ① 初回は徹底分析キットで
analysis_output/ 全量を生成 →
② 以降の保守ではこのタブのプロンプトで個別調査 →
③ 結果を analysis_output/ に追記してベースラインを更新し続ける
▼ 実行結果サンプルを見る (Claude Sonnet 4.6 で実行)
# 既存システム分析結果 — 勤怠管理システム「TimeTrack Pro」 ## 対象改修 「月末締め処理でパートタイマーの深夜割増が正しく加算されない」 (問い合わせ番号: INQ-2026-0338) --- ## 1. 分析メニューの実施有無と結果サマリ | # | 分析メニュー | 実施 | 結果サマリ | |---|---|---|---| | 1 | 業務仕様差分 | 実施 | 2024-10 の法改正対応時に割増率テーブルを追加したが、パート契約区分の分岐が追従していない。仕様書 `spec/payroll/05_night_premium.md` と実装が乖離。 | | 2 | 画面・導線分析 | 不要 | 本件は画面起因ではなくバッチ処理起因のため対象外。 | | 3 | API契約分析 | 実施 | `/payroll/calc` の契約変更は無し。入出力スキーマは維持されている。問題は Service 層。 | | 4 | DB/SQL分析 | 実施 | `attendance_records` の `employment_type='part'` 行に対して `night_premium_rate` が `NULL` で結合されており、COALESCE 未使用。影響件数: 2026-03 締め分で 1,842 行。 | | 5 | バッチ/ジョブ分析 | 実施 | 月末締めバッチ `batch_payroll_close` のステップ 3「割増計算」で問題発生。再実行は冪等だが、訂正差分発生時の再計算ロジックが未検証。 | | 6 | 障害・問い合わせ分析 | 実施 | 2026-02 / 2026-03 の 2 回連続で同一事象。2026-02 は手修正で回避していたため今回初めて表面化。 | ## 2. 対応方法の候補と選定理由 | 案 | 概要 | メリット | デメリット | 採否 | |---|---|---|---|---| | A. 緊急障害対応 | 2026-03 分を手修正し、4 月以降に本改修 | 即時復旧可 | 恒久対応が先送り | × | | B. 小規模改修 | Service 層の SQL に COALESCE 追加 + 単体テスト | 影響最小・1 日工数 | 契約区分追加時に再発リスク | ◎ 推奨 | | C. 中規模改修 | 割増計算を Strategy パターンに分離 | 将来の契約区分追加に強い | 3 日工数・回帰テスト広範 | △ | | D. 技術負債解消 | 給与計算モジュール全面リファクタ | 根本解決 | 2 週間工数 + 税務検証必須 | × | | E. 調査継続 | 追加ログ採取して次月判断 | リスク最小 | 4 月末締めに間に合わない | × | ## 3. 推奨対応方法 **B. 小規模改修** 理由: - 4 月末締め (2026-04-30) まで 19 日しかない - 影響範囲は `PayrollCalcService#calculateNightPremium` の SQL 1 箇所 - テスト観点が明確 (契約区分 × 深夜時間帯の 4 象限) - C 案は将来検討 (技術負債チケットとして起票) ## 4. 実装前の承認ポイント 1. **SQL 改修の影響がパート契約以外に及ばないこと** (正社員・契約社員の計算結果不変) 2. **2026-02 / 2026-03 の手修正済みデータへの遡及再計算を行わない方針** の確認 3. 単体テストで既存 8 ケースが全て green のまま、パート深夜 4 ケースを追加 4. 本番反映は月末締め前日 (2026-04-29) ではなく 1 週間前 (2026-04-22) に前倒し ## 5. 未確定事項 (推測禁止) - [ ] 2024-10 の法改正時、なぜパート契約の分岐が追従しなかったか (当時の議事録未発見) - [ ] `night_premium_rate` が NULL のまま運用されていた期間 (2024-10 〜 2026-01 の 16 ヶ月) に別障害が埋もれていないか - [ ] 訂正差分発生時の再計算ロジック未検証部分 (別チケット化するか本件に含めるか) --- 使用テンプレート: `docs/wip/maintenance_analysis_menu.md` / `docs/wip/maintenance_change_plan.md` 次アクション: 本分析結果を元に B 案の修正チェックリストを作成 (→ 「保守開発の修正チェックリスト作成」プロンプトへ)
▼ 実行結果サンプルを見る (Claude Sonnet 4.6 で実行)
# マイグレーション開始 — 実施結果 ## 対象システム 地域中核病院向け看護支援システム「CareNote」 - 稼働環境: Windows Server 2012 R2 / IIS 8.5 / .NET Framework 3.5 - 画面層: VB.NET WinForms (ClickOnce 配信) 画面 68 本 - サーバ層: ASP.NET Web Forms (.aspx) + ASMX Web Service 42 本 - DB: SQL Server 2014 Standard (約 240 テーブル / 1.8TB) - 外部連携: 電子カルテ HL7 (TCP), 検査機器 CSV 監視, 院内 LDAP - 稼働開始: 2011年 / 最終大規模改修: 2017年 ## 1. 実施した分析メニュー | # | 分析項目 | 実施 | 主要な所見 | |---|----------|------|-----------| | 1 | 業務要件の再確認 | 済 | 看護記録・バイタル・与薬・転倒転落の4業務が中核 (docs/migration/common/migration_program_inventory.md 参照) | | 2 | アーキテクチャギャップ | 済 | WinForms→Web化・ASMX→REST化・SQL Server 2022 移設の 3 本柱 | | 3 | データモデル差分 | 済 | 主キーが手動採番のテーブル 37 本。連番管理テーブル廃止要件あり | | 4 | 外部IF棚卸 | 済 | HL7 送受信モジュールが COM コンポーネントで実装 → 完全書き直し | | 5 | 非機能 (監査・可用性) | 済 | 個人情報保護評価 (PIA) 実施必須。医療情報システム 3省2ガイドライン適合確認が必要 | | 6 | 現行バグ・改修要望 | 未 | 本フェーズ対象外 (次フェーズで INQ 一覧を別軸で整理予定) | ## 2. 推奨対応方式 **採用: D. 技術負債解消(段階移行・互換性維持)** ### 比較表 | 方式 | 想定工数 | リスク | 評価 | |------|----------|--------|------| | A. 完全リライト | 18人月 | 極大 (医療停止リスク) | × | | B. リホスト (OS/DB のみ刷新) | 4人月 | 中 (.NET 3.5 EOL が残る) | △ | | C. リプラットフォーム | 10人月 | 大 | △ | | **D. 段階移行 (Strangler Fig)** | **13人月** | **中** | **◎** | | E. SaaS 置換 | 要調査 | 大 (独自業務フィット不可) | × | ### 移行先技術スタック (提案) - 画面: Blazor Server (.NET 8) + MudBlazor - API: ASP.NET Core Web API (.NET 8) + MediatR + FluentValidation - DB: SQL Server 2022 (スキーマは段階的に正規化) - 外部IF: NHapi ライブラリで HL7 再実装、ファイル監視は Worker Service 化 - 認証: Windows 認証継続 + 将来 Azure AD 連携余地を残す - CI/CD: GitHub Actions + self-hosted runner (院内ネットワーク要件) ### 移行順序 (Strangler Fig パターン) 1. Phase 1 (2ヶ月): 共通基盤 (認証・ログ・監査) を新 API 化、旧画面から REST 呼び出しへ差し替え 2. Phase 2 (4ヶ月): 参照系画面 24 本を Blazor へ。この段階では書込は旧システムへプロキシ 3. Phase 3 (5ヶ月): 更新系画面 38 本を Blazor へ。HL7 送受信を新基盤へ段階切替 4. Phase 4 (2ヶ月): 旧 ASMX / WinForms を段階廃止、データ移行と並行稼働終了 ## 3. リスクと未確定事項 (推測禁止) ### 特定済みリスク - **R1 (大):** 夜勤帯 0-6時は検査機器 CSV が秒間 5 件発生。並行稼働中の二重書込防止方式は未決 - **R2 (中):** 旧 COM コンポーネントのソースが一部散逸 (3 モジュール)。リバースエンジニアリング工数が上振れする可能性 - **R3 (中):** SQL Server 2014 → 2022 で廃止された互換性レベル 100 の SQL が 12 箇所存在 ### 確認が必要な事項 (社長判断待ち) 1. 並行稼働期間中の DB 構成 (旧 DB 継続 vs リアルタイム双方向同期) をどちらにするか 2. 医療情報取扱事業者の BCP 要件上、切替はどの月 (年度末回避) が許容されるか 3. 旧 WinForms の ClickOnce 証明書失効日 (2027-03) を意識した期限設定が必要か ## 4. 次フェーズの着手条件 - 未確定事項 1-3 のいずれか 2 つ以上が確定していること - docs/migration/common/migration_architecture_gap.md が院内情報システム委員会のレビューを通過していること - Phase 1 対象モジュール 8 本のテスト環境が整備済みであること 以上の分析は現時点の情報に基づくものであり、実装着手前に各フェーズで再検証を行います。
▼ 実行結果サンプルを見る (Claude Sonnet 4.6 で実行)
# INPUT 記入例
```
[INPUT]
MODE=NEW
ControllerFQCN=com.stockmate.customer.web.CustomerSearchController
UrlPrefix=/customer/search
ExistingDesignDocExists=false
[/INPUT]
```
---
# 顧客検索画面_詳細設計書.md
## 1. 機能概要
BtoB 受注管理 SaaS「StockMate」の顧客検索画面。営業担当が取引先 (法人・個人事業主)
を複数条件で検索し、受注登録・与信確認・訪問履歴参照の起点とする。
## 2. 利用者 / 業務価値
- 主利用者: 営業担当 (権限: `sales.read`)
- 副利用者: 経理担当 (権限: `accounting.read`)
- 業務価値: 取引先検索の平均操作時間を 45 秒 → 10 秒に短縮
## 3. 画面レイアウト
| 区分 | 項目 | 型 | 必須 | 備考 |
|---|---|---|---|---|
| 入力 | 顧客コード | text(8) | × | 前方一致 |
| 入力 | 顧客名 | text(60) | × | 部分一致 (漢字/カナ/英) |
| 入力 | 業種 | select | × | 業種マスタ参照 |
| 入力 | 取引ステータス | select | × | active / hold / closed |
| 入力 | 登録日 From / To | date | × | 範囲検索 |
| ボタン | 検索 / クリア / 新規登録 | — | — | 新規登録は `sales.write` のみ活性 |
| 結果 | ページング | 20 件 / ページ | — | 最大 5000 件まで |
## 4. 画面遷移
```
[メインメニュー] ─▶ [顧客検索] ─┬─▶ [顧客詳細] ─▶ [受注登録]
├─▶ [顧客新規登録]
└─▶ [CSV エクスポート]
```
## 5. API 契約
### 5.1 検索 API
- エンドポイント: `GET /customer/search`
- Controller: `com.stockmate.customer.web.CustomerSearchController#search`
- リクエスト (クエリパラメータ):
| 項目 | 型 | 必須 | 制約 |
|---|---|---|---|
| code | string | × | 最大 8 文字 |
| name | string | × | 最大 60 文字 |
| industry | string | × | 業種コード |
| status | enum | × | active / hold / closed |
| from | date | × | ISO8601 |
| to | date | × | ISO8601 / from <= to |
| page | int | × | 1 以上 / 省略時 1 |
| size | int | × | 1-100 / 省略時 20 |
- 成功レスポンス (200):
```json
{
"total": 142,
"page": 1,
"size": 20,
"items": [
{
"customer_id": "5f2b8c6a-...",
"code": "C0001234",
"name": "株式会社サンプル製作所",
"industry": "製造業",
"status": "active",
"last_order_at": "2026-03-28"
}
]
}
```
- 業務エラー: なし (0 件ヒットは `items: []` で 200 返却)
- システムエラー: 5xx 時は共通エラーハンドラ経由
## 6. 業務ロジック
1. 認可チェック (`sales.read` または `accounting.read`)
2. テナント ID を JWT claim から取得
3. 検索条件を Specification パターンで組み立て
4. 論理削除 (`deleted_at IS NULL`) を暗黙条件に追加
5. ページング付き SELECT 実行
6. 監査ログ `audit_read` に検索条件を記録 (個人情報保護法対応)
## 7. 依存テーブル
| テーブル | 用途 | 操作 |
|---|---|---|
| customers | 本体 | SELECT |
| industries | 業種マスタ | SELECT |
| audit_read | 監査ログ | INSERT |
## 8. セキュリティ / 非機能
- 横串アクセス防止: テナント ID を WHERE 句に必須付与
- 個人情報: 顧客名は監査ログにハッシュで格納
- SLA: P95 800ms 以内 / 同時 200 req
- SQL インジェクション: Prepared Statement 必須
## 9. 例外処理
- 認可エラー: 403 `E_FORBIDDEN`
- 入力検証エラー: 400 `E_VALIDATION` + 項目別エラー
- DB タイムアウト: 503 `E_DB_TIMEOUT` + trace_id
## 10. テスト観点
1. 正常: 全条件指定 / 一部指定 / 無指定
2. 境界: size=1 / 100 / 101 (上限超過エラー)
3. 認可: sales.read なし → 403
4. テナント横串: 他テナント顧客が混入しないこと
5. 論理削除済み顧客が返却されないこと
6. 監査ログが毎回 INSERT されること
## 11. 実装ファイル構成 (予定)
- `CustomerSearchController.java` (受領済み)
- `CustomerSearchService.java`
- `CustomerSpecification.java`
- `CustomerSearchRequest.java` / `CustomerSearchResponse.java`
- `CustomerSearchControllerTest.java`
## 12. TODO / 未確定事項
- [ ] 業種マスタの多言語対応要否 (英語 UI 検討中のため)
- [ ] CSV エクスポート API は別仕様書に分離予定
- [ ] `last_order_at` のインデックス設計 (性能要件次第)
- [ ] 監査ログのハッシュアルゴリズム (SHA-256 前提だが未承認)
1M context は Claude Opus 4.6 専用 の機能です。Sonnet 4.6 / Haiku 4.5 は通常 context (約 200K tokens 前後) となります。大規模コードベース (概ね 10 万行超 / 数十万 tokens 規模) を一括把握したい場合は Opus 4.6 を選択してください。正確な最大 context トークン数や料金は、実行時点の Anthropic 公式仕様を参照してください。
- Opus 4.6: 大規模コードベース一括把握向け (1M context / 有料 tier)
- Sonnet 4.6: 中規模向け (通常 context、コスパ優位)
- Haiku 4.5: 軽量タスク向け (通常 context)
▼ 実行結果サンプルを見る (Claude Sonnet 4.6 で実行)
# コードベース全体分析 — FleetLink 対象: 中堅物流企業向け配送追跡システム「FleetLink」(Spring Boot 2.7 / Java 11 / MySQL 8 / Vue 2 モノリポ) ## 0. 調査サマリ - 総コード行数: 約 18.4 万行 (Java 12.1 万 / TS+Vue 4.8 万 / SQL 1.5 万) - パッケージ数: 187 / エントリポイント数: 1 (モノリス) - 依存ライブラリ: 94 個 (うち直接依存 41 個) - 解析対象コミット: main @ a7f4e92 (2026-04-10) ## 1. アーキテクチャ全体構成 ``` fleetlink/ ├─ api/ Controller 層 (REST 42 エンドポイント) ├─ application/ UseCase (22 クラス) / DTO ├─ domain/ エンティティ (34) / ドメインサービス (11) / 値オブジェクト (8) ├─ infrastructure/ JPA Repository / 外部API クライアント / ファイル IO ├─ batch/ Spring Batch ジョブ 14 本 ├─ config/ DI 設定 / セキュリティ設定 └─ web/ Vue SPA (dist は Spring から配信) ``` | 項目 | 現状 | リスク | 推奨アクション | |------|------|--------|----------------| | レイヤー分離 | 4層 (api/app/domain/infra) が概ね守られている | api → infra 直呼び出しが 17 箇所で発生 (依存逆転違反) | ArchUnit で自動検出ルールを追加、段階的に修正 | | DI 構成 | Spring Bean が 340 個、プロファイル 3種 (local/stg/prod) | テスト用 Bean が prod プロファイルでも読み込まれる設定ミス 2件 | @Profile の appendix テストを導入 | | モノリス性 | 単一 WAR デプロイ、起動時間 78 秒 | スケール単位が粗く、ピーク帯 (18-22時) の配車検索だけ拡張したい要件と不一致 | 配車検索ドメインのみ先行して独立サービス化を検討 | ## 2. コーディング規約の遵守状況 rules/coding_rules.md (社内規約) との乖離を静的解析した結果: | 規約項目 | 違反件数 | 主な発生箇所 | 重要度 | |----------|----------|--------------|--------| | Controller に業務ロジック記述禁止 | 23 | ShipmentController (9), RouteController (7) | 高 | | public フィールド禁止 (getter 経由) | 41 | legacy パッケージ配下 | 中 | | Optional をフィールドに持たない | 6 | UserProfile, DriverStatus | 中 | | SQL は Repository 層で完結 | 4 | ReportService が JdbcTemplate を直利用 | 高 | | ログに個人情報を出さない | 12 | 配送先氏名・電話番号が INFO レベルで出力 | **極高** | 個人情報ログ出力は GDPR 相当の国内要件に抵触する可能性があるため最優先対応。 ## 3. セキュリティリスク | 種別 | 件数 | 代表例 | 深刻度 | |------|------|--------|--------| | SQL インジェクション疑義 | 2 | ReportService.buildQuery() で文字列連結 | 高 | | ハードコードされたシークレット | 1 | application-local.yml に社内 S3 アクセスキー | 高 (要ローテ) | | CSRF 対策漏れ | 3 | /api/internal/* の POST エンドポイント | 中 | | 依存 CVE | 7 | jackson-databind 2.13.4 (CVE-2022-42003) 等 | 中-高 | | CORS 設定 | 1 | origin=* が許可された本番プロファイル | 高 | **確認が必要な事項:** - application-local.yml のシークレットが過去に git 履歴に含まれていた可能性 (git log --all -p 要確認) - 本番 CORS 設定は意図的 (外部連携あり) か設定ミスか、要ヒアリング ## 4. テストカバレッジ (推定) | レイヤー | カバレッジ | 備考 | |----------|-----------|------| | domain | 78% | 値オブジェクトは十分 | | application (UseCase) | 54% | 異常系テスト不足 | | infrastructure | 31% | 外部API クライアントが未カバー | | api (Controller) | 22% | MockMvc テストが 9 本のみ | | batch | 12% | 単体テスト実質なし、手動確認依存 | 全体推定: 41% (Jacoco 未導入のため目視 + ファイル比率からの概算) **未確認事項:** CI で Jacoco を導入しないと正確な数値は出せない。次アクションの筆頭候補。 ## 5. 技術的負債と優先度 | 優先度 | 項目 | 工数見積 | 備考 | |--------|------|----------|------| | P0 | 個人情報ログ出力の除去 | 3日 | コンプライアンス | | P0 | SQL インジェクション修正 | 2日 | セキュリティ | | P1 | シークレット外部化 (Vault or AWS SM) | 5日 | 運用負債 | | P1 | 依存 CVE 一掃 (Spring Boot 3.2 LTS へ) | 15日 | メジャー移行含む | | P2 | Controller から業務ロジック引き剥がし | 20日 | 段階対応可 | | P2 | batch のテスト整備 | 10日 | CI 導入と併走 | | P3 | 配車検索ドメインの独立サービス化 | 要PoC | アーキ決定伴う | ## 6. 改善提案 (3ヶ月ロードマップ) - Month 1: P0 3件を完了、Jacoco 導入、ArchUnit で依存ルール強制化 - Month 2: P1 シークレット外部化、Spring Boot 3.2 移行 PoC - Month 3: P2 Controller リファクタ着手、batch テスト整備 ## 7. 推測を避けた確認必須事項 1. application-local.yml のシークレットが本番 S3 に対して有効か / 無効化済か 2. 本番 CORS=* は外部パートナー要件によるものか設定ミスか 3. 配車検索の現状 RPS ピーク値 (独立サービス化の PoC 判断に必要) 以上、2026-04-10 時点のスナップショットに基づく分析です。実施判断は社内技術委員会でのレビューをお願いします。
このタスクは Sonnet / Haiku でも十分動作しますが、「1M context」は Claude Opus 4.6 専用 の機能です。Sonnet 4.6 / Haiku 4.5 は通常 context (約 200K tokens 前後) となり、巨大なモノレポの一括解析には Opus 4.6 を推奨します。context 長の正確な値は実行時点の Anthropic 公式仕様を参照してください。
Gemini ファミリーは世代更新が速いため、本プロンプトでは具体的なモデル名・context 長・料金を断定していません。実行時点の Google Cloud 公式ドキュメント (Vertex AI / Gemini Code Assist) を必ず参照してください。エンタープライズ利用では Vertex AI 経由 + VPC-SC / Workload Identity Federation が推奨される点にも注意。
OpenAI は「Codex」「GPT-4o」「Assistants API」「Responses API」「Agent SDK」等のブランド・API 体系を時期によって更新・統合しています。本プロンプトでは具体的な API 名を断定せず 「OpenAI 公式ドキュメントを参照」 で逃げています。実運用では実行時点の OpenAI Platform Docs を一次情報としてください。
自律実行機能は OpenAI 側の利用規約・安全ガードレール・課金体系が頻繁に更新されます。本プロンプトの「承認ゲート」設計はベストプラクティスの一例であり、実運用では 実行時点の OpenAI 公式ガイドライン と社内セキュリティポリシーの双方を確認してください。特に GATE-3 (課金) / GATE-4 (git push) は gkAgent 内規でも 🔴 REDリスト (LINE 承認必須) に相当する操作です。
本表は 2026-04 時点 の各ツール最新版の典型的な強み・弱みをまとめたものです。「1M context」は Claude Opus 4.6 専用、Gemini の長コンテキスト はモデル世代により上限が変動、ChatGPT の Agent モード は提供範囲が再編されることがあります。各ツールの正確な仕様・料金・context 長は実行時点の公式ドキュメント (Anthropic / GitHub / AWS / Google Cloud / OpenAI) を必ず参照してください。
mdファイルダウンロード
共通ルール(運用・ドキュメント・UI・セキュリティ・禁止事項・API・ログ監視)に加えて、 選択した言語テンプレート(project_info.md / coding_rules.md)と、 保守分析テンプレート、運用保守テンプレート、番外編テンプレート、仕様書作成の指示サンプルをまとめてダウンロードします。
開発元言語/構成と、移行後言語/構成を選択すると、 マイグレーション分析・方式選定・設計差分・実装計画・切替/切戻しまで含む md セットをZIPで取得できます。
COBOL、RPG/AS400、PowerBuilder、Delphi、Classic ASP、Access/VBAなどのレガシー・ニッチ言語からの移行シナリオです。 市場需要調査に基づき、需要の高い順に収録しています(9パターン)。
言語・フレームワーク・DB対応状況
| 言語 | フレームワーク | Oracle | SQL Server | PostgreSQL |
|---|
すべてのパターンで同一のルールセット(project_info.md / coding_rules.md)を提供します。 保守開発でも Agent を主担当として実装できます。 さらに疑似並行運用向けに、task board / handoff / review queue / file lock と、 agent brief(分析用/設計用/実装用)テンプレートを同梱しています。 運用保守向けには docs/operations 配下の runbook/checklist/prompt_pack も同梱します。 開発外業務向けには docs/extra 配下の議事録・週報・通知・稟議・FAQ・契約確認テンプレートも同梱します。