C
Claude Academy
"This is what makes Claude different"

🎢 wow ツアー — Claude にしかできない 4 つの体験

ChatGPT にも対応物が無い、あるいは Claude が圧倒的に得意な機能を 4 駅で巡る ツアー。 各ステーションは 2〜3 分で体感でき、勉強会の途中で「Claude らしさ」を全員に見せたい時にも使えます。

📚
Station 1

長文コンテキスト — 「本一冊」を渡して必要な情報を引き出す

Claude (特に Sonnet/Opus) は 20 万〜100 万トークン の長文を一度に処理できます。 ChatGPT 民の癖で「短く切り出して渡す」よりも、全文を貼って関連箇所を探させる ほうが圧倒的に効率的。 ここでは夏目漱石「坊っちゃん」(青空文庫 / Public Domain) の冒頭 ≈1500 字を渡し、主人公の性格を読み解いてもらいます。

📖 渡している長文を見る
親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。なぜそんな無闇をしたと聞く人があるかも知れぬ。別段深い理由でもない。新築の二階から首を出していたら、同級生の一人が冗談に、いくら威張っても、そこから飛び降りる事は出来まい。弱虫やーい。と囃したからである。小使に負ぶさって帰って来た時、おやじが大きな眼をして二階ぐらいから飛び降りて腰を抜かす奴があるかと云ったから、この次は抜かさずに飛んで見せますと答えた。

親類のものから西洋製のナイフを貰って奇麗な刃を日に翳して、友達に見せていたら、一人が光る事は光るが切れそうもないと云った。切れぬ事があるか、何でも切ってみせると受け合った。そんなら君の指を切ってみろと注文したから、何だ指ぐらいこの通りだと右の手の親指の甲をはすに切り込んだ。幸ナイフが小さいのと、親指の骨が堅かったので、今だに親指は手に付いている。しかし創痕は死ぬまで消えぬ。

庭を東へ二十歩に行き尽すと、南上がりにいささかばかりの菜園があって、真中に栗の木が一本立っている。これは命より大事な栗だ。実の熟する時分は起き抜けに背戸を出て落ちた奴を拾ってきて、学校で食う。菜園の西側が山城屋という質屋の庭続きで、この質屋に勘太郎という十三四の倅が居た。勘太郎は無論弱虫である。弱虫の癖に四つ目垣を乗りこえて、栗を盗みにくる。ある日の夕方折戸の蔭に隠れて、とうとう勘太郎を捕まえてやった。その時勘太郎は逃げ路を失って、一生懸命に飛びかかってきた。向うは二つばかり年上である。弱虫だが力は強い。鉢の開いた頭を、こっちの胸へ宛ててぐいぐい押した拍子に、勘太郎の頭がすべってわが袷の袖の中にはいった。邪魔になって手が使えぬから、無暗に手を振ったら、袖の中にある勘太郎の頭が、右左へぐらぐら靡いた。しまいに苦しがって袖の中から、おれの二の腕へ食い付いた。痛かったから勘太郎を垣根へ押しつけておいて、足搦をかけて向うへ倒してやった。山城屋の地面は菜園より六尺がた低い。勘太郎は四つ目垣を半分崩して、自分の領分へ真逆様に落ちて、ぐうと云った。勘太郎が落ちると共におれの袷の片袖がもげて、急に手が自由になった。その晩母が山城屋に詫びに行ったついでに袷の片袖も取り返して来た。

この外いたずらは大分やった。大工の兼公と肴屋の角をつれて、茂作の人参畠をあらした事がある。人参の芽が出揃わぬ処へ藁が一面に敷いてあったから、その上で三人が半日相撲を取りつづけに取ったら、人参がみんな踏みつぶされてしまった。古川の持っている田圃の井戸を埋めて尻を持ち込まれた事もある。太い孟宗の節を抜いて、深く埋めた中から水が湧き出て、そこいらの稲にしみ込む仕掛であった。其の頃はどんな仕掛か知らぬから、石や棒ちぎれをぎゅうぎゅう井戸の中へ挿し込んで、水が出なくなったのを見届けて、家へ帰って飯を食っていたら、古川が真赤になって怒鳴り込んで来た。たしか罰金を出して済んだようである。
プロンプト (要約)

この文章から、主人公の性格を表すエピソード・描写を 3 つ抜き出し、 それぞれ「どの行動から / どんな性格が読み取れるか」を添えてください。

🔧
Station 2

Prefilling — JSON だけを返させる "強制" テクニック (Claude API 独自)

Anthropic API では assistant メッセージの冒頭をこちらで指定 できます (ChatGPT には無い機能)。 例えば { をプリフィルすれば、Claude は続きを書くしかなく、 前置き(「もちろんです、こちらが JSON です:」)を物理的に出力できなくなります。 プログラムからのパースが 100% 確実 になる強力なパターン。

同じユーザーメッセージ (両側で共通)
次の文から人物情報を抽出し、JSON で返してください。
スキーマ: { "name": string, "age": number, "occupation": string }

田中 健一さん、32歳、ソフトウェアエンジニア。
🌡️
Station 3

Temperature の効果 — 「同じ質問 = 同じ答え」は誤解です

ChatGPT の Web 版を使っていると気付きにくいですが、API では temperature パラメータで 応答のばらつき(創造性)を制御 できます。Claude API も例外ではありません。 同じ俳句生成プロンプトを 3 種の温度で並列実行して、出力の振れ幅を体感してください。

プロンプト

「秋」をテーマに、20 字以内の俳句を 1 つだけ詠んでください。説明は不要、俳句だけ返してください。

💡 T=0.0 は何度実行してもほぼ同じ出力(=決定論的)、T=1.0 は実行のたびに違う俳句が出ます。 「再現性が欲しい本番システム」と「創造性を引き出したいブレスト」で使い分けます。

🧠
Station 4
Sonnet 4.6 ログイン必須 / 1日5回まで

Extended Thinking — Claude が "考える過程" を見せる

Sonnet 4.x / Opus 4.x で利用できる機能で、応答が 「思考ブロック」「最終回答」 の 2 つに分かれて返ってきます。 ChatGPT の o1 系に近い概念ですが、Claude では 思考トークンの予算 (budget_tokens) を API 側で指定 でき、 コストと深さのバランスを取れます。ここでは古典的な論理パズル(平方数のロッカー問題)を解かせて、推論の中身を覗きます。

プロンプト (要約)

1〜100 番のロッカーがあり、N 番目の人が N の倍数のロッカーの開閉を切り替える。 100 番目まで終わったとき、最終的に開いているロッカーはどれか?

問題全文を見る
次の論理パズルを解いてください。

【問題】
1 から 100 まで番号が振られた 100 個のロッカーがあり、最初は全て閉まっています。
1 番目の人は、すべてのロッカー (1〜100) の状態を切り替えます (閉→開)。
2 番目の人は、2 の倍数のロッカー (2, 4, 6, ...) の状態を切り替えます (開→閉)。
3 番目の人は、3 の倍数のロッカー (3, 6, 9, ...) の状態を切り替えます。
...
これを 100 番目の人まで繰り返します。

最終的に「開いている」ロッカーは何番のロッカーですか? その理由も簡潔に説明してください。
モデル: claude-sonnet-4-6 / 思考予算: budget_tokens=2048 / Temperature: 1.0 (必須)
🎨 ビジュアル解答を見る (推論を実行してから開くのがおすすめ)
最終状態の 100 個のロッカー
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
開いている = 平方数 10 個 閉まっている = 残り 90 個
なぜ平方数だけ "開く" のか?
ロッカー 12 → 閉まる
1 2 3 4 6 12 3 ペア = 6 回切り替え (偶数)
約数は (1,12) (2,6) (3,4) のように 必ずペア で揃うので、 切り替え回数が偶数 → 最初の「閉」に戻る。
ロッカー 9 → 開く
1 3 9 ×3 3 回切り替え (奇数)
3 = √9 は自分自身とペアになる「単独」の約数。 そのため約数の総数が 奇数 (3個) となり、切り替えも奇数回 → 最終「開」。 これは平方数だけが持つ性質
💡 まとめ: ロッカー N の状態は「N の約数の個数」だけ切り替わる。 約数は通常ペアで存在するので偶数回 → 閉のまま。 平方数だけ √N が単独の約数として存在 するため約数が奇数個になり、最終的に開いた状態になる。 100 以下の平方数は 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 の 10 個
⌨️
Station 5

Claude Code — ターミナルで動く "AI 同僚"

Claude Code は Anthropic 公式の エージェント型 CLI ツール。 Cursor のような IDE 統合ではなく、ターミナルから日本語で指示 するだけで、 Claude が自分でファイルを読み、コマンドを実行し、編集を提案・適用します。 ChatGPT には対応物がありません(GitHub Copilot や Codex とも設計思想が違う)。

🤖
エージェント型 CLI

ターミナルから日本語で指示するだけで、Claude が自分でファイルを読み、コマンドを実行し、編集を提案する。

🔌
MCP (Model Context Protocol) 対応

GitHub・Slack・Linear・データベースなどの外部システムとプラグインで連携。Claude に「この PR にコメント書いて」が直接通る。

📐
プロジェクト記憶 (CLAUDE.md)

リポジトリ直下に CLAUDE.md を置けば、Claude が毎回そのプロジェクト固有のルール (テスト方針・命名規約) に従う。

🪝
Hooks / Agent SDK

PreToolUse / PostToolUse などのフックで、Claude の動作を細かく制御できる。Agent SDK で独自エージェントも構築可能。

▼ 動作イメージ (疑似ターミナル)
claude — bash
$ claude
Welcome to Claude Code v2.x
Working directory: ~/my-flask-app
> このプロジェクトのテストカバレッジを上げたい。まず現状を調べて、足りない箇所を提案して。
プロジェクト構造を確認します。
● Bash(pytest --cov=. --cov-report=term-missing)
└─ TOTAL 847 189 78%
● Read(app/services/payment.py)
└─ Read 124 lines
現状のカバレッジは 78%。優先して追加すべきテスト 3 つ:
1. payment.py:45-67 (refund フロー、現在 0%)
2. auth/middleware.py:23-31 (JWT 検証エラー系)
3. utils/validators.py:12-19 (境界値)
まず payment.py の refund テストから書きますか? (y/n)
> y
tests/test_payment.py を作成します...
● Write(tests/test_payment.py)
└─ Created 87 lines

⚠ これはコンセプト紹介用の 静的な再現 です。実機の挙動は Anthropic 公式チャンネルの動画を参照してください。

🎉 ツアー完了!

どれか 1 つでも「これは ChatGPT じゃできない」と感じたものを、ぜひ持ち帰って同僚に語ってください。 勉強会の Q&A で「実務でこう使えそう」というアイデアを共有するのもおすすめです。