/note/tech

Prompting Claude Fable 5

要約:

■ 1. 概要

  • Claude Fable 5 および Claude Mythos 5 に特化したプロンプティングおよびスキャフォールディングのパターンを解説するガイド
  • 従来モデルでは対応が困難だった複雑・長期・曖昧なタスクを処理可能
  • 数時間〜数週間を要するエンドツーエンドの作業に特に効果的
  • Claude Opus 4.8 からの行動上の差異があり、プロンプトやスキャフォールディングの更新が必要な場合がある
  • 安全分類器が攻撃的サイバーセキュリティ技術・生命科学分野・思考内容の抽出を対象としており、関連リクエストは stop_reason: "refusal" を返す場合がある

■ 2. 能力の向上点(Claude Opus 4.8 比)

  • 長期自律性: 長時間にわたる目標志向の実行を維持し、複雑なタスク全体で指示を保持
  • 複雑な問題への初回正答性: 以前は数日を要した実装がシングルパスで完了した事例がある
  • ビジョン: 技術的な画像やスクリーンショットをより高精度に解釈し、より少ないトークンで処理
  • エンタープライズワークフロー: 財務分析、スプレッドシート、スライド、ドキュメントで専門的品質の出力を提供
  • コードレビューおよびデバッグ: バグ検出の再現率が向上し、コードベースおよびリポジトリ履歴の横断的な検索が可能
  • 曖昧さへの対応: 複雑でマルチスレッドなリクエストに対してもネクストステップを適切に判断
  • 委任・協調: 並列サブエージェントの展開と管理が大幅に信頼性向上

■ 3. ターンの長期化

  • 高 effort 設定での困難なタスクは数分単位、自律実行は数時間に及ぶ場合がある
  • 移行前にクライアントのタイムアウト、ストリーミング、進捗表示の調整が必要
  • ハーネスをスケジュールジョブ等の非同期確認方式に再設計することを推奨
  • タスクが曖昧な場合の過剰計画防止のため、「十分な情報があれば行動せよ」という指示を追加する

■ 4. effort レベルの使い分け

  • effort はインテリジェンス・レイテンシ・コストのトレードオフを制御する主要パラメータ
  • 設定の目安:
    • high: 大多数のタスクのデフォルト
    • xhigh: 最も能力が求められる作業
    • medium / low: ルーティンワーク
  • 高 effort 設定では過剰な検証・不要なリファクタリングが発生しうるため、スコープを絞る指示が有効

■ 5. 指示追従性の強化

  • 簡潔な指示で大半の挙動を制御可能
  • 長い列挙よりも短い簡潔さ指示の方が同等の効果を発揮
  • 簡潔さ指示の例:
    • 最初の文で結論を述べること
    • 省略は詳細の選別によって行い、断片化・略語・矢印チェーンは使わないこと
  • 長期ワークフローでのチェックポイント挙動についても、列挙ではなく原則を与えることで制御可能

■ 6. 長期実行中の進捗主張の検証

  • ツール結果に基づいた進捗の自己監査を指示することで、虚偽の進捗報告をほぼ排除可能
  • 推奨指示: 進捗報告前に各主張をセッション内のツール結果と照合し、検証済みの成果のみを報告する

■ 7. 境界の明示

  • 要求していないアクション(メール下書き、git バックアップ作成など)を自発的に行う場合がある
  • 実施すべきこと・すべきでないことを明示的に定義する指示が必要
  • 推奨指示: 問題記述や質問の場合は評価のみを返し、修正は求められるまで実施しないこと

■ 8. 並列サブエージェント

  • 過去モデルより積極的に並列サブエージェントを展開する
  • サブエージェント使用のガイダンス:
    • 独立したサブタスクはサブエージェントに委任し、処理を継続する
    • オーケストレーターとサブエージェント間は非同期通信を優先する
    • 長期稼働のサブエージェントはキャッシュリードによりコストと時間を節約できる

■ 9. メモリシステムの構築

  • 過去の実行から得た教訓を記録・参照できる環境で特に高い性能を発揮
  • Markdown ファイル等のシンプルな形式で記録場所を提供するだけで有効
  • メモリ指示の例:
    • 1ファイル1教訓で要約を先頭に記述
    • 修正内容と確認済みのアプローチの両方を記録
    • リポジトリやチャット履歴に存在する情報は保存しない
  • 既存の過去セッションを元にメモリシステムをブートストラップする指示も有効

■ 10. 早期停止の稀な事例

  • 長いセッションの途中でツール呼び出しを発行せずにテキスト宣言のみで終了する場合がある
  • 対処: 「continue」や「エンドツーエンドで実行せよ」の指示で再開可能
  • 自律パイプライン向けには、ユーザー不在を前提とした継続実行を指示するシステムリマインダーを追加する

■ 11. コンテキスト予算に関する稀な事例

  • 残りトークンのカウントダウンが提示されると新セッションの提案や自己縮小が発生する場合がある
  • 対処: ハーネスで残りトークン数を明示的に表示しないこと
  • 必要な場合は「コンテキストは十分残っている、継続せよ」という安心指示を追加する

■ 12. 理由の提示

  • リクエストの背景・意図を伝えることで性能が向上する
  • 推奨フォーマット: 「[大きなタスク] を [対象者] のために進めている。[出力が可能にすること] が必要。その上で: [リクエスト]」

■ 13. ユーザーへの伝達時の可読性

  • 長期・エージェンティック会話では密な略語・矢印チェーン・専門用語が混入しやすい
  • 通信スタイルの追記でこれを軽減:
    • ツール間の思考は簡潔でよい
    • 最終サマリは読者がそれまでの経緯を知らない前提で書くこと
    • 完全な文章で記述し、略語・矢印チェーン・自作の略称は使わないこと
    • 結果を最初の文で述べ、その後に詳細を続けること

■ 14. send-to-user ツールの作成

  • 長期・非同期エージェントがユーザーへの伝達内容を正確に届けるためのツール
  • 用途: 成果物の提示、具体的な数値を含む進捗更新、ユーザーからの質問への直接回答
  • ツール入力はサマリ化されないため、内容がそのまま届く
  • システムプロンプトでの明示的な呼び出し指示がなければ稀にしか呼び出されない
  • 内部推論やナレーションには使用しないこと

■ 15. 推奨スキャフォールディング変更

  • 難易度の高いタスクから開始:
    • 過去モデルより困難なタスクを割り当て、Claude にスコープ確認と実行をさせる
  • 長期実行における自己検証の明示:
    • 独立した検証サブエージェントを使用し、定期的な作業確認を実施する
  • 既存プロンプト・スキルの見直し:
    • 過去モデル向けの過度に規範的な指示は品質を低下させる可能性があるため削除を検討する
  • 推論内容の出力指示を避ける:
    • 内部推論を応答テキストに反映させる指示は reasoning_extraction 拒否を引き起こす場合がある
    • 推論の可視化には adaptive thinking の thinking ブロックを使用する
  • send-to-user ツールの導入:
    • 長期・非同期エージェントではターンを終了せずにユーザーへメッセージを届けるために導入する