mcpField
F
fortify

fortify

github.com/sharpdeveyeエージェントワークフロー592335 回インストール26 週間前に更新
リポジトリ

fortify について

fortify は、外部サービスを呼び出すワークフローの障害対応を強化するエージェントスキルです。入力検証、再試行、フォールバック、サーキットブレーカー、タイムアウト、監査項目を示します。

主な機能

  1. 01入力検証とサイズ制限
  2. 02指数バックオフ付き再試行
  3. 03フォールバック応答とエスカレーション
  4. 04サーキットブレーカーとタイムアウト
  5. 05障害対策の監査チェックリスト

活用シーン

  1. 01外部 API を呼ぶワークフローの強化
  2. 02一時的な障害時の動作の定義
  3. 03ワークフロー各部のエラー処理の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sharpdeveye/maestro --skill fortify

インストール後、Claude Code で/fortifyを入力して読み込まれたか確認します。

詳細

必須の準備

/agent-workflow を呼び出してください。ワークフローの原則、アンチパターン、Context Gathering Protocolが含まれています。作業を進める前にプロトコルに従ってください。ワークフローのコンテキストがまだ存在しない場合は、必ず最初に /teach-maestro を実行してください。 多層防御のパターンとエラー境界の設計については、agent-workflow スキルの guardrails-safety リファレンスを確認してください。


ワークフローの耐障害性を高めましょう。外部呼び出しはすべて、いずれ失敗します。モデル API、ツール、データベース、サードパーティサービスなど、Fortify を使えばワークフローが障害に適切に対処できるようになります。

強化レイヤー

レイヤー 1:入力の検証

  • 処理前にすべての入力を検証します
  • 無効な入力には、明確なエラーメッセージを返します
  • すべての入力フィールドにサイズ制限を設定します

レイヤー 2:バックオフ付きの再試行 一時的な障害(ネットワークエラー、レート制限、タイムアウト)の場合:

Retry strategy:
  max_retries: 3
  initial_delay: 1s
  backoff_multiplier: 2
  max_delay: 30s
  retryable_errors: [429, 500, 502, 503, 504, TIMEOUT, CONNECTION_ERROR]
  non_retryable_errors: [400, 401, 403, 404]

レイヤー 3:フォールバック応答 再試行を使い切った場合:

  • 該当する場合は、キャッシュ済みの前回の応答を使用します
  • フォールバックとして、よりシンプルで安価なモデルを使用します
  • 適切に機能を縮退させた応答を返します
  • 人間によるレビューにエスカレーションします

レイヤー 4:サーキットブレーカー サービスで障害が継続的に発生している場合:

Circuit breaker:
  failure_threshold: 5 consecutive failures
  state: CLOSED → OPEN (after threshold) → HALF_OPEN (after cooldown)
  cooldown: 60 seconds
  half_open_max_requests: 1

レイヤー 5:タイムアウト制御 すべての外部呼び出しにタイムアウトを設定する必要があります:

  • モデル API 呼び出し:タスクに応じて 30~120s
  • ツールの実行:ツールに応じて 10~60s
  • データベースクエリ:5~15s
  • サードパーティ API:10~30s
強化の監査

各コンポーネントについて、以下を確認します:

  • 入力検証がある
  • 一時的な障害に対する再試行ロジックがある
  • 再試行に失敗した場合のフォールバックがある
  • タイムアウトが設定されている
  • コンテキストとともにエラーがログに記録される
  • ユーザーに意味のあるエラーが表示される(スタックトレースではない)
推奨される次のステップ

強化の後、/evaluate を実行して、現実的な障害シナリオでエラー処理が機能することを確認してください。

絶対にしてはいけないこと:

  • 再試行できないエラー(認証失敗、検証エラー)を再試行する
  • バックオフなしで再試行する(問題が悪化します)
  • エラーを黙って握りつぶす(無視せず、ログに記録して処理してください)
  • 無限のタイムアウトを設定する(永久に停止する可能性があります)
  • フォールバックを省略する(フォールバックなしで再試行を使い切ると、ユーザーにエラーが表示されます)

コメント