Anthropicが公開した「Teaching Claude Why」が、Hacker Newsでスコア235を獲得し注目を集めている。AIに「何をすべきか」だけでなく「なぜそうすべきか」を伝えるアプローチが、開発者の生産性を劇的に変える可能性について、pikl編集部が独自に分析する。
📰 ソース:Hacker News – Teaching Claude Why / Hacker News – Using Claude Code: The unreasonable effectiveness of HTML
- 「Teaching Claude Why」は、プロンプトに「理由(Why)」を含めることでAIの出力品質を根本的に向上させるアプローチ
- Claude CodeとHTMLの組み合わせが「異常に有効(unreasonably effective)」とHacker Newsで高評価(スコア370)
- ローカルLLMツール(Ollama, LM Studio, Jan)と組み合わせれば、機密コードの扱いも含めた柔軟な開発ワークフローが構築できる
Teaching Claudeとは何か——AIに「理由」を教える新パラダイム
Hacker Newsでスコア235を記録した「Teaching Claude Why」は、AIアシスタントとの協業における根本的な発想転換を提案するトピックである。従来、多くの開発者はAIに対して「何をしてほしいか(What)」や「どうやってほしいか(How)」を指示してきた。しかし、このアプローチでは「なぜそうすべきか(Why)」を伝えることで、Claudeがコンテキストを深く理解し、指示に含まれていないエッジケースにも適切に対応できるようになるとしている。
「What」だけでは限界がある理由
たとえば「エラーハンドリングを追加して」という指示(What)だけでは、AIはtry-catchブロックを機械的に配置するにとどまりがちである。一方、「このAPIは外部決済サービスと連携しており、タイムアウト時にユーザーが二重課金される可能性があるためエラーハンドリングが重要」と理由(Why)を伝えれば、冪等性の確保、リトライ戦略、ユーザーへのフィードバックまでを視野に入れたコードが生成される可能性が高まる。
Hacker Newsコミュニティの反応
Hacker Newsのコメント欄では、このアプローチを実際に試した開発者から「コードレビューで指摘される箇所が明らかに減った」「ジュニアエンジニアへの指導と同じ構造だと気づいた」といった声が見られた。一方で「結局はプロンプトエンジニアリングの延長では」という冷静な意見も存在しており、議論は活発に行われている。
Teaching Claudeの詳細分析:Whyがもたらす品質変化
System PromptとCLAUDE.mdの活用
Teaching Claudeの実践において鍵となるのが、プロジェクト単位でコンテキストを共有する仕組みである。Claude CodeではCLAUDE.mdファイルをプロジェクトルートに配置することで、セッション横断的にプロジェクトの背景・設計思想・制約条件をAIに伝えることができる。
このファイルに「なぜこのアーキテクチャを選んだのか」「なぜこのライブラリを使っているのか」「なぜこのコーディング規約を採用しているのか」を記述しておくと、Claudeは個別の指示がなくても一貫性のあるコードを生成しやすくなる。
Whyを構造化する3つのレイヤー
Teaching Claudeを効果的に実践するには、Whyを以下の3層で整理すると良い。
- ビジネスレイヤー:なぜこの機能が必要か、ユーザーにとってどんな価値があるか
- アーキテクチャレイヤー:なぜこの技術スタック・設計パターンを選択しているか
- コードレイヤー:なぜこの実装方針(命名規則、エラー処理方針など)を採用しているか
3層すべてを毎回書く必要はないが、CLAUDE.mdにアーキテクチャレイヤーを、個別プロンプトにビジネスレイヤーを含めるだけでも、出力品質の差は体感できるレベルで変わるとされている。
Claude Code × HTML——「異常な有効性」の背景
同時期にHacker Newsでスコア370を獲得した「Using Claude Code: The unreasonable effectiveness of HTML」も、Teaching Claudeと密接に関連するトピックである。
なぜHTMLが「異常に有効」なのか
このトピックでは、Claude Codeに対してUI生成やプロトタイピングをHTML中心で依頼すると、フレームワーク依存のコードと比較して驚くほど高品質な出力が得られるという報告がなされている。背景として、HTMLはWebの最も基礎的な技術であり、Claudeの学習データにおいても豊富かつ高品質なサンプルが含まれていることが考えられる。
これはTeaching Claudeの文脈でも重要な示唆を含んでいる。AIに対して「なぜHTMLベースで作るのか」(例:依存関係を最小化したい、長期メンテナンス性を重視したい)を伝えることで、不必要にフレームワークを導入しない、セマンティックなマークアップが生成されるようになる。
実践:Teaching Claudeの始め方
以下の5ステップで、今日からTeaching Claudeを実践できる。
ステップ1:CLAUDE.mdを作成する
プロジェクトルートにCLAUDE.mdを作成し、プロジェクトの目的・技術選定理由・コーディング規約とその背景を記述する。
# プロジェクト概要
## なぜこのプロジェクトが存在するか
中小企業向け在庫管理SaaS。既存ツールは大企業向けで複雑すぎるため、
シンプルさを最優先に設計している。
## 技術選定の理由
- TypeScript:チーム全員がJSバックグラウンド。型安全性でバグを減らす目的。
- SQLite:初期フェーズでは単一サーバー運用。スケール時にPostgreSQLへ移行予定。
- Hono:軽量で学習コストが低い。ExpressからHonoへ移行済み。
## コーディング方針
- エラーメッセージは必ず日本語で記述する(エンドユーザーが非エンジニアのため)
- 関数名は動詞+名詞の形式(例:calculateTotal, fetchInventory)
ステップ2:プロンプトにWhyを含める
個別の依頼時に、ビジネス上の理由を1〜2文添える。「在庫が0になった際の通知機能を追加して。理由:過去に在庫切れに気づかず受注を受けてしまうクレームが多発したため」のように記述する。
ステップ3:出力を検証しフィードバックする
生成されたコードが意図と異なる場合、「何が違うか」ではなく「なぜ違うか」をフィードバックする。
ステップ4:成功パターンをCLAUDE.mdに蓄積する
うまくいったWhyの伝え方を継続的にCLAUDE.mdに追記し、プロジェクト固有のナレッジベースとして育てていく。
ステップ5:機密コードにはローカルLLMを併用する
APIキーや社内ロジックを含むコードを扱う場合は、Ollama・LM Studio・Janなどのローカルツールの併用を検討する。
ローカルLLMツールとの併用比較
Teaching Claudeの考え方は、Claude以外のLLMにも応用できる。ローカル環境でLLMを動かす代表的なツールを比較する。
| ツール | 特徴 | 対応OS | GUI | CLAUDE.md的な設定 |
|---|---|---|---|---|
| Ollama | CLIベースで軽量。APIサーバーとして他ツールと連携しやすい | macOS / Linux / Windows | なし(サードパーティあり) | Modelfileでsystem promptを定義可能 |
| LM Studio | GUIが洗練されており、モデル検索・ダウンロードが容易 | macOS / Linux / Windows | あり | System Promptフィールドで設定可能 |
| Jan | オープンソースのChatGPT代替。プライバシー重視設計 | macOS / Linux / Windows | あり | Assistants機能でカスタム指示を保存可能 |
いずれのツールも、GGUFフォーマットの量子化モデルを利用することで、VRAM 8GB程度のGPUでも7B〜13Bパラメータクラスのモデルを動作させることが可能である。価格はすべて無料(オープンソース)で、詳細なシステム要件は各公式サイトを参照されたい。
🇯🇵 日本での活用ポイント
日本語でのTeaching Claude実践
Claude 3.5 Sonnet以降、日本語の理解・生成能力は大幅に向上している。CLAUDE.mdやプロンプトを日本語で記述しても十分に機能するため、日本の開発チームが英語に無理に翻訳する必要はない。ただし、変数名やコメントを英語で統一しているプロジェクトの場合は、CLAUDE.mdにその方針と理由(例:「グローバルチームでの協業を見据えて英語を採用」)を明記しておくと、Claudeが日本語の指示に対しても英語のコードを一貫して生成するようになる。
日本の開発現場での具体的シナリオ
- 受託開発:クライアントの業務要件(Why)をCLAUDE.mdに整理しておけば、担当者が変わっても一貫した実装が可能になる。属人化の解消にもつながる。
- スタートアップ:少人数チームでの高速プロトタイピングにおいて、「なぜこの機能を優先するのか」をAIと共有することで、MVPの方向性がぶれにくくなる。
- 社内ツール開発:業務フローの背景(なぜこの承認ステップが必要か等)をWhyとして伝えると、日本企業特有の稟議フローや帳票処理にも適切に対応したコードが得られやすい。
機密情報の取り扱い
日本企業ではソースコードの外部送信に対するセキュリティポリシーが厳格なケースが多い。この場合、設計思想やアーキテクチャのWhyのみをClaudeに共有し、実際のコード生成はOllamaやLM Studioを使ったローカル環境で行う「ハイブリッド運用」が現実的な選択肢となる。Janはデスクトップアプリとして完結するため、情報システム部門への説明コストも比較的低いだろう。
💡 pikl編集部の視点
pikl編集部は、Teaching Claudeのアプローチが「プロンプトエンジニアリングの進化形」というよりも、ソフトウェア開発におけるドキュメンテーション文化そのものの再定義だと考えます。これまで「なぜこの設計にしたのか」を記録する文化は、ADR(Architecture Decision Records)など一部のプラクティスに限られていました。しかしTeaching Claudeの登場により、Whyを文書化するインセンティブがこれまでにないほど具体的かつ即時的になりました。Whyを書けば、すぐにAIの出力品質が向上するという明確なリターンがあるためです。
また、Hacker Newsで「HTML × Claude Code」がスコア370という高評価を得ている事実は、AI活用において「技術の複雑さを減らす方向」が有効であることを示唆していると考えます。最新フレームワークを使えば良い成果が出るわけではなく、AIが最も得意とする領域(=学習データが豊富で仕様が安定した技術)に合わせて技術選定を行うという発想は、今後の開発ワークフロー設計において重要になるでしょう。これは「AIファースト」な技術選定という新しい判断軸の出現と言えます。
日本市場への影響として注目しているのは、この手法がエンジニアの「言語化能力」の価値を大きく引き上げる点です。日本の開発現場では暗黙知がプロジェクトの品質を支えているケースが多いですが、Teaching Claudeの枠組みでは、暗黙知を明示的なWhyとして言語化できるエンジニアがAIから最も高い成果を引き出せます。結果として、ドキュメントを書く文化が弱いチームほど、AI活用の恩恵を受けにくいという格差が生まれる可能性があり、組織的な対応が求められると考えます。
まとめ
- Teaching Claudeは「Why(理由)」をAIに伝えることで出力品質を向上させるアプローチであり、CLAUDE.mdとプロンプトの両面で実践できる。
- Claude Code × HTMLの高評価が示すように、AIの得意領域に合わせた技術選定が今後ますます重要になる。
- 日本の開発現場では、日本語でのCLAUDE.md作成、機密情報を考慮したローカルLLM併用のハイブリッド運用が現実的な導入パスとなる。
関連ツール
| ツール名 | 用途 | 公式サイト |
|---|---|---|
| Ollama | ローカルLLM実行(CLI中心) | ollama.com |
| LM Studio | ローカルLLM実行(GUI中心) | lmstudio.ai |
| Jan | オープンソースChatGPT代替 | jan.ai |
よくある質問
Q: Teaching Claudeは無料で実践できますか?
CLAUDE.mdの作成自体は無料です。Claude Codeの利用にはAnthropicのAPI料金が発生します。最新の価格体系はAnthropic公式サイトでご確認ください。ローカルLLMツール(Ollama, LM Studio, Jan)は無料で利用可能です。
Q: CLAUDE.mdは日本語で書いても問題ありませんか?
問題ありません。Claude 3.5 Sonnet以降は日本語の理解力が十分に高く、日本語でWhyを記述しても意図通りに解釈されます。ただし、コード内のコメントや変数名の言語方針は別途CLAUDE.mdに明記しておくことを推奨します。
Q: Teaching Claudeの手法はClaude以外のLLMにも使えますか?
基本的な考え方(Whyを伝える)はGPT-4o、Gemini、ローカルLLMなど他のモデルでも有効です。ただし、CLAUDE.mdはClaude Code固有の仕組みであるため、他ツールではSystem PromptやModelfileなど、各ツールの対応する機能を使う必要があります。
Q: ローカルLLMとClaudeを併用するメリットは何ですか?
機密性の高いコードはローカルLLM(Ollama等)で処理し、設計方針の相談や複雑なロジックの検討はClaudeに任せるといった使い分けが可能です。セキュリティポリシーとAI活用の両立を図る際に有効な手法です。
Q: Teaching Claudeを始めるのに必要なスキルレベルは?
プログラミング初心者でも実践可能です。むしろ、自分の意図や背景を言語化する力が重要であり、コーディングスキルの高さよりも「なぜこれを作りたいのか」を説明できることが成果に直結します。


