ここからがスタート — 4回の総まとめと、作品づくりのキックオフ
対象: BS本部プロパ(BSG・ISG・BPM-SG)| 47名
今日の時間割
前回ふりかえり・今日の位置づけ
10分§0.1第4回(MCP)のトラブルふりかえり
第4回は Backlog MCP で「チケット起票 → コード修正 → 完了」を体験しました。全部やり切った方もいれば、MCPがうまく繋がらず途中で止まってしまった方もいましたね。最終回なので、ここだけ整理しておきます。
| 症状 | 原因として多かったもの | 確実な対処 |
|---|---|---|
/mcp で failed になる | .mcp.json に手書きした設定がうまく読まれない | claude mcp add コマンドで追加する(手書きJSONより確実) |
| 接続表示が出ないのに動く/その逆 | Claude Code 側の接続表示がリアルタイムに更新されないことがある | 表示に頼らず、実際にツールを呼んでみて確認する |
一斉アクセスで重い・429 | 短時間の同時アクセス制限 | モデルを Sonnet にする・数十秒待って再実行 |
§0.2今日はまとめの回です
第1回から第4回まで、毎回新しいことを詰め込んできました。今日は新しい知識を増やすより、「自分が何をできるようになったか」を確かめて、持ち帰ることを大事にします。
§0.3同窓会キックオフ — 今日のサブテーマ
ワークショップはこの第5回で終わりますが、ここで関係が途切れるのはもったいない。そこで、約1ヶ月後に「同窓会」を開きます。
| 項目 | 内容 |
|---|---|
| 日程 | 6月25日(木)18:00-19:30(場所は追ってご案内します) |
| 形式 | チーム制(運営でチーム分け済み・全11グループ/49名) |
| やること | この1ヶ月で Claude Code を使って作ったもの を持ち寄って共有する |
| 発表内容 | 「作ったもの」+「工夫したところ」。スライド1枚分くらいの軽さでOK |
チーム分けは 案件・プロジェクトごと、2〜5人 を基本にしています。日々の業務で接点のある人どうしで組んでもらった方が、作るものの相談もしやすく、同窓会以降もそのまま使い続けやすいだろうという判断です。所属チームは画面で一覧をご紹介します(古賀さんから補足があれば、その場で)。
そして、いちばん大事なお願いです。
今日のこの後の話は、すべて「同窓会で何を作るか」のヒントになります。「これ自分の仕事に使えそうだな」と思った瞬間があれば、それが作品の種です。
4回の歩みをふりかえる(卒業マップ)
12分このパートのゴール:4回で「Claudeに任せられる範囲」がどう広がってきたかを、1枚の地図として捉え直す。
第1回の冒頭で、こうお伝えしました。
その言葉のとおり、4回かけて少しずつ「Claudeに触らせるもの」を広げてきました。並べてみると、自分がどこまで来たかが見えてきます。
§1.14回で広がってきた「触らせる範囲」
| 回 | テーマ | Claudeに触らせたもの | できるようになったこと |
|---|---|---|---|
| 第1回 | AI駆動開発とは | エディタの中の コード | Claudeに任せて、コードが生成される瞬間を見た |
| 第2回 | 思い通りに動かす | コンテキスト(CLAUDE.md・Skills) | 「見せたものしか知らない」を理解し、引継書とマニュアルでClaudeを自分の流儀に寄せた |
| 第3回 | 業務ドキュメント | Microsoft 365(Excel/Word/PowerPoint) | 要件定義書→設計書のような、日常業務のドキュメントを動かした |
| 第4回 | 外部システム連携 | 業務システム(Backlog などの SaaS) | MCPで「自然言語からチケット起票・修正・完了」を動かした |
第1回は「エディタの中だけ」だったのが、第4回には「会社の業務システム」まで届くようになりました。触らせる範囲が、自分のPCの中から、チームの仕事の現場へと広がってきたわけです。
§1.2もうひとつの軸 — 「制御する道具」も増えた
範囲が広がるのと並行して、Claudeを思い通りにコントロールする道具も手に入れてきました。
- CLAUDE.md(第2回)— プロジェクトの「引継書」。毎回読まれる事実・ルール
- Skills(第2回)— 呼ばれたときだけ開く「マニュアル」。再利用したい手順
- MCP(第4回)— 外部システムへの「共通プラグ」。
.mcp.jsonを置くだけで繋がる
これまで紹介できなかった機能 — hooks/サブエージェント
18分このパートのゴール:4回の中で時間が取れなかった2つの機能 hooks と サブエージェント を知り、ワークショップ後の作品づくりや業務応用で使える引き出しを増やす。
第2回ではCLAUDE.mdとSkillsをじっくりやりましたが、時間の都合で hooks と サブエージェント には触れられませんでした。どちらも「Claudeに安心して仕事を任せる」ための重要な機能なので、最終回の今日、ここで回収します。手は動かさなくてOKです。hooksは設定の仕組みを聞いてもらうだけ、サブエージェントは講師の画面で動くところを見てもらうだけ で大丈夫です。
§2.1機能①:hooks とは
hooks(フック)は「Claude Codeがツールを実行する前後に、自動でコマンドを差し込む仕組み」です。Claudeの判断とは別に、機械的に・確実に処理を挟めるのが特徴です。
代表的な使い道はこんな感じです。
| タイミング | 使い道の例 |
|---|---|
| Bash実行の前(PreToolUse) | 危険なコマンド(フォルダ削除など)をブロックする |
| Bash実行の前(PreToolUse) | 実行したコマンドをログファイルに残す |
| ファイル編集の後(PostToolUse) | フォーマッターでコードを自動整形する |
| ファイル編集の後(PostToolUse) | 編集された .py にリンターを自動実行する |
出典:Hooks guide / Hooks reference — code.claude.com
§2.2設定例:フォルダ削除を hook で止める
たとえば「Claudeがフォルダを丸ごと削除しようとしたら、hookが割り込んで止める」というルールは、.claude/settings.json にこう書くだけで実現できます。外部スクリプトは要りません。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"shell": "powershell",
"command": "$j = [Console]::In.ReadToEnd(); $c = ($j | ConvertFrom-Json).tool_input.command; if ($c -match 'rm\\s+-[a-zA-Z]*r|Remove-Item.*-Recurse') { [Console]::Error.WriteLine('[hook] Blocked: recursive folder deletion is not allowed.'); exit 2 }"
}
]
}
]
}
}
ポイントは3つだけです。
PreToolUse… ツール実行の 直前 に発火する hookmatcher: Bash… ClaudeがBashコマンドを実行しようとしたときだけ動かすcommand… stdinからJSONを読み、tool_input.commandの文字列を正規表現で見て、rm -rfやRemove-Item -Recurseといった 再帰削除コマンド に当たれば stderr にメッセージを出して exit 2 で返す
この設定を入れたうえで Claude に「フォルダを削除して」と頼むと、Claudeは削除コマンドを実行しようとしますが、コマンド実行の直前に hook が起動 → 再帰削除パターンに合致 → exit 2 でブロック、という流れになります。Claudeは「hookによってブロックされたので、削除できません」と説明して止まり、フォルダは無事に残ります。
§2.3機能②:サブエージェント とは
もうひとつが サブエージェント(Sub-agents) です。ひとことで言うと、「特定の役割を持つClaudeを、別の会話として呼び出して、タスクを丸ごと任せる仕組み」です。
普段使っているメインの会話とは 別の文脈(コンテキスト) で動きます。メインの履歴を汚さずに、重い調査やレビューを任せられるのが大きな特徴です。
役割と観点をあらかじめ定義/ファイルを読む・grepする/必要なら何度も調べ直す/結果をまとめる
イメージとしては、「自分の代わりに動く専門スタッフを雇う」感覚です。普通の使い方と比べるとこんな違いがあります。
| 普通の使い方 | サブエージェントを使う |
|---|---|
| 自分でClaudeに指示 → 結果を待つ → 次の指示 → … と何往復もする | 「この役割でやっておいて」と一度頼む → サブエージェントが自律的にファイルを読み・調べ・まとめる → 結果だけ受け取る |
| メインの会話に調査内容も全部残る(文脈が膨らむ) | 別文脈で動くのでメインの履歴はきれい |
| その都度プロンプトを考える必要がある | 役割定義を書いておけば、何度でも同じ品質で呼べる |
出典:Sub-agents — code.claude.com
§2.4講師デモ:運営レビューを senior-reviewer に任せる
実際にどう動くかをお見せします。この ワークショップ運営リポジトリ自体 に、senior-reviewer というサブエージェントを置いています。
役割定義は .claude/agents/senior-reviewer.md に書いてあります。中身を抜粋するとこんな感じです。
---
name: senior-reviewer
description: AI駆動開発ワークショップ運営の総合レビュー。
ドキュメント整合性・リスク台帳の対策状況・進行状況・
議事録からの昇華フローを多角的に点検する。
tools: Read, Grep, Glob, Bash
---
あなたはAI駆動開発ワークショップ運営のシニアレビュアーです。
運営2人(古賀・菊池)の壁打ち相手として、視点を変えて運営を総点検します。
## 標準的な観点
1. ドキュメント整合性: 表記ゆれ・古い記述・リンク切れ・重複
2. リスク台帳: operations/risk-register.md の対策状況と新規リスク
3. 進行状況: 直近マイルストーンまでの積み残しタスク
4. 議事録ワークフロー: アクションアイテムが TODO/timeline/ADR に昇華されているか
...
メイン会話で「シニアレビューを実行して」と頼むと、サブエージェントが立ち上がり、こちらが逐一指示しなくても:
- リスク台帳・議事録・TODO を片っ端から読む
- 前回レビューと差分を取る
- 観点ごとに整合性チェック
- 結果を
operations/senior-reviews/YYYYMMDD.mdに書き出す
——までを 一回の呼び出しでやり切ります。当日、画面で動くところをお見せします。
§2.5サブエージェントは「自分で作る」だけじゃない — カタログがあります
自分でゼロから役割定義を書かなくても、用途別のサブエージェント定義が大量に公開されています。
- VoltAgent/awesome-claude-code-subagents — コア開発・言語別・品質/セキュリティ・データ/AI など10カテゴリ。気に入ったものを自分のプロジェクトの
.claude/agents/にコピーして置けば、その日から使えます。
§2.6おまけ:そのほかの「次の道具」も名前だけ
hooks とサブエージェント以外にも、Claude Code には「次に覚えると便利な道具」がいくつかあります。名前と使いどころだけ紹介しておきます。気になったら公式ドキュメントへ。
| 道具 | 一言でいうと | こんなときに | 公式ドキュメント |
|---|---|---|---|
| 計画モード(Plan mode) | 編集せず「計画だけ」立てさせる読み取り専用モード。Shift+Tab を2回押すと入る |
いきなり書き換えさせる前に、段取りを見てから承認したいとき | Common workflows |
| プラグイン/マーケットプレイス | Skill・MCP・コマンドなどを「まとめてインストール」できる仕組み。/plugin で開く |
便利な拡張を探して一括で入れたいとき | Discover plugins / claude.com/plugins |
【発展編】ハーネスエンジニアリング — 道具を束ねる「土台づくり」
8分このパートのゴール:CLAUDE.md・Skills・MCP・hooks・サブエージェントが、実は「ひとつの考え方」でつながっていることを知る。
§3.1ハーネスとは — "縛る"ではなく"安心して能力を出し切らせる"
ここまで紹介してきた道具(CLAUDE.md・Skills・MCP・hooks・サブエージェント)は、バラバラの機能ではありません。実はひとつの考え方でつながっています。それが ハーネスエンジニアリング(Harness Engineering) です。
「ハーネス」と聞くと「縛る・制御する」ように感じるかもしれませんが、もとは 登山用の安全装具 のこと。命綱があるから、崖のような危険な場所でも思い切り登れます。AIエージェントにとってのハーネスも同じで、"抑える"ためではなく、"安心して能力を出し切らせる"ための仕組みです。
言いかえると、経験のある人が頭の中で自然にやっているチェック(「ここ危ないな」「これテストした?」)を、外に出して仕組みにしたもの——いわば 「開発者の経験の外部化」です。
なぜこれが要るのか。LLM(大規模言語モデル)には、こういうクセがあります。
- 非決定的 — 同じ指示でも毎回まったく同じ結果になるとは限らない
- 文脈を知らない — あなたのプロジェクトの事情は、見せない限り知らない
- トークン単位で考える — 先を完全に見通して書いているわけではない
だから、モデルの賢さに全部を委ねるのではなく、周りに「枠」を作って、正しい方向へ導き、おかしくなったら気づけるようにする。これが「AIに安心して任せる」ための土台です。記事の言葉を借りると、目的は無駄な試行を減らし、レビューの負担を減らし、システムの品質を上げることです。
出典:Harness Engineering — Birgitta Böckeler / martinfowler.com
参考(日本語のわかりやすい解説):Python開発環境にハーネス使用を検討する — yuuka51 / speakerdeck
ハーネスは2つの向きで整理できます。
| 向き | はたらき | たとえると |
|---|---|---|
| ガイド(先回り) | エージェントが動く前に方向づけする(フィードフォワード) | 「こう進めてね」と渡す手順書・ガードレール |
| センサー(あと追い) | エージェントが動いた後に観察し、自己修正させる(フィードバック) | 「ここ間違ってるよ」と返すテスト結果・レビュー |
さらにその中身は、計算的(テスト・リンター・型チェック:速く確実)と推論的(AIレビュー・意味的なチェック:遅いが柔軟)に分かれます。
§3.2Claude Code でどう実現するか
これまで学んだ道具を、ハーネスの地図の上に並べ直すとこうなります。
| ハーネスの役割 | Claude Code での実現 |
|---|---|
| ガイド(先回り) | CLAUDE.md(守ってほしい事実・ルールを最初に渡す)/ Skills(手順を渡す)/ 計画モード(書き換える前に段取りを承認)/ hooks(PreToolUse)(危険な操作を実行前にブロック) |
| センサー(あと追い・計算的) | プロジェクトのテスト・リンター・型チェックを Claude に実行させ、その出力を読ませて直させる / hooks(PostToolUse)で編集後に自動で整形・テストを走らせる |
| センサー(あと追い・推論的) | サブエージェント(例:senior-reviewer のようなレビュー専用エージェント)に別の視点でコードを点検させる |
実例紹介 — AIを業務で使えるようにするには
14分(Q&A込み)このパートのゴール:「AIを自分の業務やチームに取り入れるには、どこから動けばいいか」のヒントを得る。
ここからは 平澤さん に登壇いただきます。平澤さんは、チームの契約に GitHub Copilot を盛り込み、これから本格的に業務で使い始めようとしているところです。
今日まで学んできたのは Claude Code ですが、ツールが何であれ 「AIを業務で使える状態にするまでの進め方・環境づくり」の勘所は共通 します。今回は運営側が用意した質問に答えていただく形式で、「使える状態にするまで」のリアルな話を聞きます。
- 案件の概要について教えてください。どのような案件で、どの工程にAIを活用しようとお考えですか?
- 現時点での活用状況を教えてください。実際にどれくらい使っていますか?使ってみた感想も、よければ聞かせてください。
- 技術選定の経緯を教えてください。GitHub Copilotを選ばれた理由や、検討の過程でどのような比較や判断があったかを教えていただけますか?
- 申請・導入までの流れを教えてください。どの部署にどんな相談や申請をされたか、リードタイムはどのくらいだったかを教えてください。また、実際にやってみて「ここは想定と違った」「やり直しが発生した」といったことがあれば、ぜひ聞かせてください。
- 導入効果をどう説明・判断しているかを教えてください。正式な測定の仕組みがあるかどうかにかかわらず、上長や周りへの報告の仕方や、ご自身でどう手応えを判断されているかを教えていただけますか?
作品づくりのヒント
5分このパートのゴール:同窓会で作る「作品」の具体イメージを持ち、自分の一歩目を決める。
§5.1作品の一例:Excelのパラメータシートからコードを自動生成するツール
「作品」と言われても最初はイメージが湧きにくいので、具体例をひとつ紹介します。
社内のデータ活用チームでは、Excelのパラメータシートを読み込んで、インフラ構築用のコード(Terraform)を自動生成するツールを Claude Code で作っています。これまで手作業で書いていた設定コードを、「Excelに値を入れる → Claudeがコードを書く」という流れに置き換えたものです。
§5.2あなたの「作品」は、これくらい自由でいい
もう一度、同窓会の作品づくりの方針です。
§5.3出発点に使える素材集 — ゼロから作らなくていい
「作る」と聞くと身構えますが、ゼロから書く必要はありません。世の中には、そのまま使える・改造できる素材が公開されています。「作りたいものに近いものを借りてきて、自分用に直す」のが最短ルートです。
- Anthropic公式のスキル集(anthropics/skills)には、すぐ使えるスキルが揃っています。たとえば:
skill-creator— 「スキルを作るためのスキル」。対話しながら自分のSkillを組み立ててくれるmcp-builder— 「MCPサーバーを作るためのスキル」。自社の独自システムをClaudeにつなぎたいときの土台になる
- サブエージェントのカタログ(VoltAgent/awesome-claude-code-subagents)には、用途別のサブエージェント定義が大量に公開されています。コア開発・言語別・品質/セキュリティ・データ/AI など10カテゴリ。気に入ったものをコピーして自分のプロジェクトに置けます。
クロージング
§5.1今日の持ち帰りポイント
§5.2アンケート記入
最終回のふりかえりシートへの記入をお願いします(3〜5分)。今回は 5回を通してどう変わったか を振り返る設問も入っています。
§5.3このあとの流れ
- アンケート記入
- 懇親会へ — ここからは肩の力を抜いて、ざっくばらんに話しましょう(同じチームの人を見つけて、作るもののイメージを話してみるのもおすすめです)
1か月間おつかれさまでした。