00:00:00Claude Codeには非常に多くの機能があり、正直なところ把握しきれないほどです。
00:00:04コマンドメニューにすべてが表示されているとはいえ、すぐには
00:00:08分からないこともたくさんあります。
00:00:09Claude Codeの使用中に発生する問題のほとんどは、実はすでに対策が
00:00:13組み込まれています。
00:00:14それらは設定ファイルや環境変数の中に埋もれており、ほとんど誰も話題にしません。
00:00:18私たちはそれらをすべて精査し、今すぐ有効にすべき
00:00:22隠れた設定とフラグのリストをまとめました。
00:00:23Claudeに標準機能がない問題についても、いくつか強力な
00:00:27オープンソースの解決策を見つけました。
00:00:28さて、insightsコマンドを実行したり、resumeフラグでClaudeを使用したことがあるなら、
00:00:32表示されるすべての会話が、たとえもっと長くClaudeを使っていても
00:00:37わずか1ヶ月分に制限されていることに気づいたかもしれません。
00:00:39もし過去のセッションに戻る必要があったり、より長期間のインサイト分析が必要な場合、
00:00:42Opus 4.6が100万トークンのコンテキストウィンドウをサポートした今、それができないのは困りますが、
00:00:48Claude Codeはシステム上に1ヶ月以上データを保存しないため、
00:00:52そのままでは不可能です。
00:00:53この1ヶ月という期間は、保持データに関するClaudeの設定のデフォルト値ですが、
00:00:57これらの設定を変更して、より長くデータを保持できないという意味ではありません。
00:01:01Claudeにはそのための設定が実際に存在します。
00:01:02main .claude フォルダの中に、settings.jsonファイルがあります。
00:01:06このファイルは、この動画全体を通して他の多くの設定でも使用します。
00:01:09これが、Claude Codeの多くのデフォルト設定を変更する方法です。
00:01:12「cleanup period days」というフィールドを追加し、好きな日数を入力できます。
00:01:16例えばこれを365に設定すれば、丸1年分の会話を保持できるようになります。
00:01:22逆に0に設定すると、会話を一切保存しないよう指示することになり、
00:01:26情報の抽出や過去の参照ができなくなります。
00:01:30もう一つできることは、プロジェクトの .claude フォルダ内で、パス固有の
00:01:35ルールを設定することです。
00:01:36これらはエージェントが特定のファイルを修正しようとする際、コンテキストに読み込まれます。
00:01:40これらのルールは読み取り操作時にトリガーされ、パスのパターンが
00:01:44読み取られるファイルと一致したときに読み込まれます。
00:01:45そこには、そのファイルを扱う際に従うべきすべての指示が含まれています。
00:01:49通常、人々はこれを main .claude.md に追加します。
00:01:52アプリのさまざまな側面に関するすべての指示を、1か所に詰め込んでしまうのです。
00:01:57現在はコンテキストを心配する必要はありませんが、アプリが大きくなりすぎた際には
00:02:01関心の分離に役立ちます。
00:02:03すべてを1か所にまとめると、ファイルが非常に大きく、指示でいっぱいになり、
00:02:07Claudeがどれに集中すべきか分からなくなって、書いた指示を無視してしまうことが
00:02:11時々あります。
00:02:12例えばフロントエンドの作業をしているなら、Reactコンポーネントの
00:02:17指示だけを読み込めばよく、すべてを同時に読み込む必要はありません。
00:02:19これにより、エージェントの集中力を維持できます。
00:02:21ご存知の通り、Claude Codeはbashコマンドを実行し、その出力を読み取ることができます。
00:02:25しかし、コマンドによっては出力が膨大になることがあります。
00:02:28Anthropicは、Claudeが各コマンドの出力から実際に読み取れる
00:02:33文字数に制限を設けており、その制限は30,000文字です。
00:02:35それを超える部分は切り捨てられ、Claudeの目に入ることはありません。
00:02:38例えば、テストスイートを実行して数千行の結果が出力されたとしても、
00:02:42Claudeはその出力のうち設定された30,000文字しか読み取りません。
00:02:46ビルドログを確認したり、データベースのマイグレーションを実行したりする場合も同様です。
00:02:50ターミナルに大量に出力されるコマンドでは、Claudeは30,000文字しか取得できません。
00:02:54これを修正するには、settings.jsonの中に、ターミナルから
00:02:59コンテキストウィンドウに読み込む文字数を制御する設定が再び登場します。
00:03:03以前の200kコンテキストウィンドウのモデルでは、それ以上読み込む余裕がなかったため、
00:03:08これは30kに設定されていました。
00:03:09しかし、新しい100万トークンのウィンドウがあれば、それはもう問題ではありません。
00:03:13これを150,000などに増やすことで、出力全体が実際に読み込まれ、
00:03:18Claudeがすべてを適切に読み取れるようになります。
00:03:20もしあなたが、それぞれのタスクに特化した多くのサブエージェントを含む
00:03:24プロジェクトに取り組んでいる場合、通常は特定のタスクに対して
00:03:29そのエージェントを使うよう、プロンプトでClaudeに明示的に依頼します。
00:03:33しかし、特定のエージェントに素早く作業を渡したい場合は、
00:03:37Claudeをサブエージェントとして実行することができます。
00:03:38agentフラグを使用して、実行したいサブエージェントの
00:03:42名前を入力するだけです。
00:03:43これで、タスクを直接委任し、Claudeがまずそのサブエージェントをロードして
00:03:47タスクを実行するというオーバーヘッドなしに、その能力とツールを利用できます。
00:03:51既にご存知かもしれませんが、サブエージェントの設定時にモデルやMCPツールの
00:03:57構成を指定できますが、さらに多くの設定を追加できます。
00:04:00例えば、サブエージェントはデフォルトではスキルを継承しませんが、skillフラグを使えば、
00:04:04作成したスキルをその特定のサブエージェントに継承させることができます。
00:04:08これにより、そのスキルを実際に使ってタスクを遂行できるようになります。
00:04:11スキルの他に、effort(エフォート)というフラグもあります。
00:04:14ご存知ない方のために説明すると、effortはエージェントがタスクを実行する際に
00:04:18消費するトークン量と思考力を決定します。
00:04:19デフォルトでそれほど労力を必要としないエージェントもいるため、タスクに合わせて変更します。
00:04:23さらに、そのエージェントのワークフローに固有のフックを
00:04:28サブエージェント内に設定することも可能です。
00:04:29また、backgroundフラグを使用して、エージェントを常にバックグラウンドで
00:04:33実行するかどうかを設定できます。
00:04:34メインエージェントを邪魔せずに完全にバックグラウンドで作業させたい場合はtrueに、
00:04:38常に最前面に表示させたい場合はfalseに設定します。
00:04:42また、エージェントの説明でisolation(分離)設定を行うことで、
00:04:47サブエージェントを別のワークツリーで独立して実行させることもできます。
00:04:49分離されたエージェントはワークツリーの一時的なコピーを受け取り、
00:04:53メインのコードベースを危険にさらすことなく大幅な変更を行うスペースが与えられます。
00:04:55エージェントが変更を行わなかった場合、ワークツリーは自動的にクリーンアップされます。
00:04:59変更があった場合は、マージとレビューのためにワークツリーのパスとブランチが返されます。
00:05:03このセットアップは、メインのコードを壊す可能性のあるアプローチを試すのに最適です。
00:05:08最後に、特定のエージェントの設定のtoolsセクションに「permitted agent names」を
00:05:12追加することで、そのエージェントが生成を許可されるエージェントを制御できます。
00:05:16これにより生成が制限され、複数のエージェントが不必要に作成されるのを防ぎ、
00:05:20単一のエージェントが暴走して他のエージェントを次々と立ち上げるのを回避できます。
00:05:24デフォルトでは、Claudeがファイルを読み取るとき、25kトークンしか読み取りません。
00:05:28しかし、コンテキストウィンドウが100万トークンに増加して以来、25kでは小さすぎて
00:05:34Claudeの可能性を十分に引き出すことができません。
00:05:36settings.jsonでこのフラグを100k以上に設定することで変更可能です。
00:05:41しかし、もう一つ注意点があります。
00:05:42コンテキストウィンドウがどれほど大きくても、Claudeは2000行しか読み取らず、
00:05:47他の行を読み飛ばしたことさえ認識しないため、残りを読みに行くこともありません。
00:05:51Anthropicはこの制限の変更を許可していません。
00:05:53しかし、回避策があります。
00:05:54Claude.mdファイルに指示を追加して、Claudeが大きなファイルを読み取るときには、
00:05:59まず行数を確認するようにさせるのです。
00:06:01ファイルが2000行を超える場合は、オフセットとリミットのパラメータを使用して、
00:06:06途中で何も逃さずにファイル全体を適切に読み取らせます。
00:06:08また、readコマンドが実行されるたびにトリガーされるフックを設定することもできます。
00:06:12このフックはファイルの行数を確認し、2000行を超えている場合はエージェントに
00:06:16Claude.mdの指示に従わせ、HEADなどのコマンドを使って
00:06:21最後まで確実に読み取らせます。
00:06:22ご存知の通り、Claude Codeはコンテキストウィンドウが95%に達すると
00:06:27自動的に「compact(圧縮)」を実行します。
00:06:28しかし、100万トークンのコンテキストウィンドウがあっても、エージェントは
00:06:32ウィンドウが95%埋まるまで待つ必要は実際にはありません。
00:06:35出力の質は通常、コンテキストウィンドウが70%まで埋まると低下し始めます。
00:06:40100万トークンのフルウィンドウが必要でない限り、ここが自動圧縮を開始するのに適したタイミングです。
00:06:45これを変更するには、settings.jsonに設定フラグを追加し、
00:06:50「auto-compact percentage override」を好きなパーセンテージに設定します。
00:06:53私たちは75%に設定しました。
00:06:55これを設定しておけば、コンテキストウィンドウが75%に達したときに自動的に圧縮され、
00:07:00エージェントの出力品質が維持されます。
00:07:02しかし、次の機能に進む前に、スポンサーの Make.com についてお話しさせてください。
00:07:06AIにおける最大のリスクは、中身が見えない「ブラックボックス」であることだと誰もが知っています。
00:07:09エージェントをデプロイしても、その決定を検証することはできません。
00:07:12Makeの新しいエージェントは、それを完全に変えます。
00:07:14そのビジュアルプラットフォームはノーコードとAIを組み合わせ、ビジネスを運営するエージェントをデプロイします。
00:07:19インテリジェントなエージェントを、ビジュアルキャンバス内で直接構築できます。
00:07:22エージェントに目標を与えるだけで、3,000以上のネイティブアプリ連携により、
00:07:27複雑な意思決定を代行してくれます。
00:07:29エージェント以外にも、プラットフォームには機能が満載です。
00:07:31すぐに始められる構築済みテンプレート、安全な接続のためのMCP、そして
00:07:36回答の根拠となるナレッジ機能が用意されています。
00:07:38推論パネルでは、AIの全ステップを実際に確認、制御、信頼することができます。
00:07:42さらにMakeグリッドにより、モニタリングとインサイトが1つのマップに集約されます。
00:07:46手作業の雑務をやめて、時間を節約しスケーリングを簡素化する効率的なワークフローを作成しましょう。
00:07:52固定コメントのリンクをクリックして、限定の1ヶ月無料Proプランを手に入れ、
00:07:56今すぐMakeを試してみてください。
00:07:57さて、多くの方がご存知かもしれませんが、Agent Teamsはまだ実験段階であるため、
00:08:01多くの人がその存在を知りません。
00:08:03Agent Teamsには1人のチームリーダーと複数のチームメンバーがおり、それぞれが
00:08:07チームリーダーによって開始・制御される独自のClaudeセッションです。
00:08:10チームリーダーは、これらすべてのチームメンバーにわたるタスク全体の調整に責任を持ちます。
00:08:15これはサブエージェントとは異なります。なぜなら、サブエージェント同士は
00:08:19互いに通信することができないからです。
00:08:20一方、エージェントチームでは、各チームメンバーが互いに通信し、
00:08:24情報を共有することができます。
00:08:25これについては別の動画を作成しており、その機能や能力を
00:08:29最大限に引き出すための最適な活用方法について詳しく解説しています。
00:08:32また、私たちのコンテンツを楽しんでいただけているなら、ハイプボタンを押すことを検討してください。
00:08:36このようなコンテンツをさらに作成し、より多くの人に届けるための励みになります。
00:08:40異なる種類の仕事に対して複数の設定を管理しているなら、
00:08:44設定されたプロファイルを素早く切り替えられる「Claude CTX」というオープンソースツールがあります。
00:08:49クライアントごとの設定を個別に管理し、同じスペースプロバイダー間で
00:08:54権限やツールを処理することができます。
00:08:55インストールコマンドは、すべてのOS向けにリストされています。
00:08:58Macではbrew installコマンドを使えますし、他のシステムではリポジトリを
00:09:02クローンすることでインストールできます。
00:09:03このツールは、main .claude フォルダ内のprofilesフォルダを通じてプロファイルを追跡することで、
00:09:08settings.json、claude.md、MCPサーバー、およびバックアップを管理します。
00:09:12このprofilesフォルダには、各プロファイル用のサブフォルダがあり、それぞれに
00:09:17最適化された独自のsettings.jsonとclaude.mdが含まれています。
00:09:21各設定ファイルには、そのプロファイルに必要な権限のみが含まれているため、
00:09:26他のプロファイルに影響が漏れ出すことはありません。
00:09:27プロファイルの切り替えは簡単です。
00:09:29-cフラグを使用して現在のプロファイルを確認でき、切り替えるには「claude ctx」の後に
00:09:34使用したいプロファイル名を続けて実行します。
00:09:35切り替えると、現在の作業状態のバックアップを作成してバックアップフォルダに保存するため、
00:09:39常に前のプロファイルの記録が残ります。
00:09:42これにより、複数のプロファイルを完全に分離し、統合の心配をすることなく、
00:09:47Claudeに正確に必要な権限だけを与えて作業させることができます。
00:09:50過去のすべての動画のリソースは、AI Labs Proで入手可能です。
00:09:54テンプレート、スキル、その他多くの素材をプロジェクトにそのまま組み込めます。
00:09:58私たちの活動に価値を感じ、チャンネルを支援したいと思ってくださるなら、
00:10:02これが最適な方法です。
00:10:03リンクは概要欄にあります。
00:10:04GitHubのコミットにClaudeが共同作成者(co-author)として追加されるのが煩わしい場合、
00:10:09それに対する回避策も実はあります。
00:10:10settings.jsonに「attribution」キーを追加し、commitとPRのフィールドを空にします。
00:10:15その後は、ClaudeにGitHubへのプッシュを依頼しても、共同作成者として追加されなくなります。
00:10:18また、カスタム文字列を設定して、コミットに好きな作成者名を表示させることもできます。
00:10:23デフォルトでは、Claude Codeはすべてのコミットに自分を共同作成者として追加するため、
00:10:28リポジトリのコントリビューターグラフに表示されます。
00:10:30Claude Codeは分析データをStatSigにも送信し、使用パターンや
00:10:35レイテンシ、信頼性などの運用データを追跡しています。
00:10:37このデータは、機能のA/Bテストや分析の推進に使用されます。
00:10:41また、エラーログのためにSentryにもデータを送信し、Anthropicが
00:10:45本番環境でのクラッシュやバグを診断できるようにしています。
00:10:47しかし、オプトアウトしたい場合は、メインのsettings.jsonに3つの変数を追加することで可能です。
00:10:52これらは、テレメトリ、エラーレポート、フィードバックの表示を無効にします。
00:10:55これらを設定すれば、Claude Codeはデータを外部に送信しなくなり、プライバシーが守られます。
00:10:59また、非必須のトラフィックを無効にする別のCLIフラグもClaude Codeにはありますが、
00:11:04同じことをしているように見えるかもしれません。
00:11:06違いは、このフラグは自動アップデートもブロックしてしまう点であり、それは望ましくないでしょう。
00:11:11ですから、アップデートを遮断することなく同様のプライバシーのメリットが得られる、
00:11:15先ほどの3つの設定に頼る方が賢明です。
00:11:17Claude Codeの「プロンプトスタッシング(退避)」について知らない人も多いでしょう。
00:11:20プロンプトを入力中に、先に別のタスクをClaude Codeに送る必要があると気づいた場合、
00:11:24Ctrl + S を押して現在のプロンプトを退避させることができます。
00:11:28その後、新しいプロンプトを入力して送信すると、退避させていたプロンプトが
00:11:31自動的に入力ボックスに戻ってきます。
00:11:33既にフックを使っている方も多いかもしれませんが、フック内で「終了コード(exit code)」を使い、
00:11:37実行を続行するか、ブロックするか、無視するかをClaudeに伝えることもできます。
00:11:41主な終了コードには3つのタイプがあります。
00:11:44終了コード0は実行が成功したことを意味し、割り当てられたタスクが
00:11:48正しく完了したことを示します。
00:11:49多くの場合、その出力はコンテキストには挿入されず、単に
00:11:54正常に完了したというインジケーターとして機能します。
00:11:550と2以外の終了コードは詳細(verbose)モードで表示され、非ブロック(継続可能)です。
00:12:01つまり、これらはエラーメッセージですが、Claudeはワークフローを止めるほど
00:12:05深刻なものとは見なしません。
00:12:06しかし、最も重要なのは終了コード2で、これはワークフローに大きな影響を与えます。
00:12:10ツールで終了コード2を使用すると、エラーメッセージが実際にClaudeにフィードバックされ、
00:12:15Claudeはそのエラーメッセージに基づいて行動することを強制されます。
00:12:17例えば、特定のライブラリを使いたいのに、Claudeが学習パターンから
00:12:21別のライブラリを使ってしまうことがよくあります。
00:12:24これを防ぐためにフックを設定し、すべてのbashコマンドの前に実行させることができます。
00:12:28Claudeが使おうとしているコマンドが、使ってほしくないライブラリ(私の場合はpip)
00:12:33と一致するかを確認し、pipを使わないようメッセージを表示して
00:12:37uvicornを使うよう指示し、コード2で終了させます。
00:12:41これにより、Claudeがpip経由でインストールしようとするたびに、
00:12:45代わりにuvicorn経由でインストールすることを強制されます。
00:12:46これらの終了コードを伴うフックは、少し前に話題になった
00:12:50「Rafl Loops(ラフルループ)」の基礎となります。
00:12:52これについても詳細な動画を作っていますので、私たちのチャンネルで確認できます。
00:12:56これらは終了コードとフックの同じ仕組みを使って、出力の基準が
00:13:01満たされるまで、Claudeに反復を強制し続けます。
00:13:03これにより、Claudeが手を抜いて不完全なタスクを完了とマークするのを防げます。
00:13:08これらのフックは、複数の同様のワークフローを作成するのに役立ちます。
00:13:11これで、この動画は終わりです。
00:13:13もしチャンネルを支援し、このような動画制作を続けてほしいと思ってくださるなら、
00:13:17下のスーパーサンクスボタンから支援が可能です。
00:13:19いつものように、ご視聴ありがとうございました。それではまた次回の動画でお会いしましょう。