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

サブエージェントと Claude Mods で作る独自 Advisor ツールの話

Avatar for Kenichi Odo Kenichi Odo
October 14, 2026

サブエージェントと Claude Mods で作る独自 Advisor ツールの話

Avatar for Kenichi Odo

Kenichi Odo

October 14, 2026

Other Decks in Technology

Transcript

  1. L I G H T N I N G TA

    L K / C l a u d e C o d e サブエージェントと Claude Mods で作る 独自 Advisor ツールの話 Advisor が呼ばれないので自作してみた @kenichi_odo 2026.10.14 私のAI、こう使ってますLT会
  2. SIer プログラマー Salesforce × フロントエンド開発 社内AI活用推進 おおど けんいち @kenichi_odo や

    って き た こ と iOS / Android アプリ、Web アプリ(SAStruts)、 ストアドプロシージャ集計システム、Go + GAE GIS(地図)システム、 Salesforce 業務 SPA、プログラミングスクールフロントエンド講師、etc.
  3. 2 0 2 6 . 4 .9 公 式 ブ

    ロ グ で 発 表 アドバイザーツールがやってきた 公 式 の お す すめ で も 自 分 の メイン は なら Sonnet + Opus Opus 4.7 / 4.8 Opus + Opus メインは Sonnet 要所だけ Opus に相談 → Opus 通しより安く済む → メインを Opus にしても 1回の回答では抜けが出る → サブスクだし コストより品質に全振り
  4. 呼ぶかどうかは Claude 次第 /advisor opus で有効化 → ✕ ほぼ呼ばれない AGENTS.md

    に「相談して」 → ! 呼んだり、呼ばなかったり 呼ぶタイミングはメインのモデルが決める。呼び出しを強制する設定は無い(公式ドキュメント)
  5. hooks でアドバイザーを呼ぶきっかけを作る 強制 任意 UserPromptSubmit プロンプト 必要なときに 自分から相談する Claude が作業

    Stop 確認を受けた? 呼ぶかどうかは Claude が決める まだ → 差し戻し(block) 受けた ✓ 完了
  6. 2 0 2 6 . 6 .9 F a b

    l e 5 / 9.1 F a b l e 5 .1 本命の Fable が使えない • advisor (fable) ⎿ Advisor unavailable (unavailable) Fable 5:Read や Bash を1回でも呼ぶと失敗 Fable 5.1:約50万トークンを超えると、ときどき失敗 一度失敗すると、そのセッションではもう呼ばれない ✕ Fable 5.1 でもまだ起きる 出典: claude-media.com/articles/claude-code-advisor-unavailable-fable(10/2 更新)、 GitHub anthropics/claude-code #67609・#67411
  7. c o u n s e l = 相 談

    役 の サ ブエー ジェ ン ト ( 英 語 で 「 助 言 ・ 相 談 役 」 ) counsel には要点だけ渡す アドバイザー サブエージェント(counsel) メインの会話 メインの会話 指示 指示 Read の結果 Read の結果 Bash の結果 全部そのまま やり取り Advisor サーバー側 Bash の結果 背景・指示・ 変更・結論を要約 やり取り Edit Edit …… …… 経緯を全部知っている相談役 要点だけ聞いて答える相談役 これまでを踏まえて、次の一手を助言する 経緯を知らないぶん、前提からツッコめる サブエージェントには、会話ごと引き継ぐ fork という呼び方もある。counsel はあえて使わず、独立させている counsel + CLAUDE.md は読む
  8. 自作にして良くなったこと 速い 相談しても、待たされにくい(体感) effort を選べる 定義に effort: low 〜 max

    を書ける プロンプトを書ける 中を覗ける 役割・見る観点・返し方を、定義の本文に書ける 実行中でも、パネルで選んで Enter で中のやり取りを見られる 前提を疑ってくれる メインの思い込みにツッコんでくる とはいえ、公式でも自作でも相談した分は待つ 自作で測ると、相談の待ちは全体の時間のざっと2〜3割
  9. 多いのは抜け漏れと裏付け不足 指摘の深さ 割合 た と えば 8% 前提・方針 28% 事実・根拠

    43% 抜け漏れ 指示とのずれ 5% 13% 不具合 「意図を読み違えてる」 「その作りだと後で詰まる」 「別のやり方のほうが早い」 「その数字どこから?」 「推測なのに言い切ってる」 「公式の説明と違う」 「片方だけ直して古いまま」 「エラーの時を考えてない」 「動かして確かめてない」 「使うなと言われた書き方」 「頼んでない所まで変えた」 「決まりの書式じゃない」 「この操作で落ちる」 「失敗なのに成功と出る」 表現 3% 「どっちの意味か分からない」 誤字脱字・体裁 1% 「見出しの大きさがそろってない」 「2回押すと二重に登録」 「用語がページで違う」 「これだと誤解される」 「文字が背景に埋もれる」 直近1か月(2026.9.11〜10.11)の初回の相談から無作為に241件を抜き、AI で分類。直すべき指摘 975件の内訳。1回の相談で平均4件 「表がはみ出している」
  10. プ ラ グイ ン に する 前 急ぎの時に止めるのがひと手間 .claude/settings.json {

    "model": "claude-opus-5-5", "hooks": { "Stop": [{ "hooks": [{ "type": "command", "command": "…/require-counsel-before-stop.sh" }]}] }, "statusLine": { … } − − − − − − } ① 設定ファイルを開く ② hooks を消す ③ 急ぎの作業 ④ 戻すのを忘れる
  11. Mods で触れる画面の場所 1 Claude Code 1 3 ❯ この差分をレビューして •

    変更は3ファイルです。 ⏺ Read(src/app.ts) ⏺ counsel(方針の点検) ターミナルだけ。ロゴ自体は不可 2 │ ロゴの下のお知らせ行 ✓ 保存しました 2 4 [ タブ1 ] [ タブ2 ] ・進捗 3/5 ・[ 実行 ] 3 チャットの行・スピナー 行を足す・書き換える・置き換える 4 右のパネル タブ・ボタン・入力欄を自由に描ける 5 5 プロンプトの上の領域 自由に描ける。counsel はここ • counsel ON · Opus · medium 6 プロンプトの下の1行 状態の文字を出せる ❯ Try "how does index.html work?" 7 ⚠ my-mod: 状態の1行 右上のトースト 一時的なお知らせ 自作のパネル ✻ Thinking… (12s) 6 ロゴの下のお知らせ行 フッター モード表示とヒントだけ 公式リファレンス(v2.1.290 時点)の render sites より 7 ▸▸ auto mode on (shift+tab to cycle)
  12. ワンクリックでオンオフ • counsel ON · Opus · medium ON /

    OFF 押すたびに切替 OFF なら hooks の強制も外れる モ デル Opus → Fable → Sonnet effor t medium → high → xhigh → max → low コマンド /counsel off /counsel model sonnet /counsel effort high
  13. Mods の構成 my-app/ プロジェクトのルート └─ .claude/skills/counsel/ スキルの置き場に、フォルダごと置く ├─ agents/counsel.md プラグイン

    これがあるとプラグインとして読まれる サブエージェント 相談役の定義(モデル・effort・役割) ├─ counsel-policy.md いつ・どう呼ぶかの方針 ├─ .claude-plugin/plugin.json └─ hooks/ ├─ hooks.json hooks と Mods の登録 ├─ inject-counsel-policy.sh UserPromptSubmit ├─ require-counsel-before-stop.sh Stop 相談してなければ差し戻す └─ register.ts Mods プロンプト上のボタンと /counsel スキルのフォルダに .claude-plugin/plugin.json を置くと、プラグインとして読み込まれる。 hooks.json に modules を書くと、そのプラグインが Mods になる(公式ドキュメント) プロンプトのたびに方針を差し込む