Claude Code をローカル LLM(vLLM + MiniMax-M2.7)で爆速稼働させる方法

Claude Code を Anthropic の API ではなく、手元のマシンで動かすローカル LLM サーバーに接続することで、API コストをゼロにしながら最強のコーディングエージェントを使い倒せる。本記事では vLLM + MiniMax-M2.7 を組み合わせた構成を紹介する。 なぜローカル LLM で Claude Code を動かすのか 課題 解決策 API 費用が嵩む ローカル推論でコストゼロ 機密コードをクラウドに送りたくない データがマシン外に出ない レスポンスが遅い vLLM の高速推論エンジン 開発コストを抑えつつ、機密性の高いコードのデバッグや大規模リファクタリングにも安心して使える環境が手に入る。 技術スタック vLLM — OpenAI 互換 / Anthropic 互換の高速推論サーバー MiniMax-M2.7 — Claude Code との相性が高いオープンモデル(コーディング・エージェント特化) Prefix Caching — 繰り返し送信されるシステムプロンプトをキャッシュしてレイテンシをほぼゼロに vLLM で MiniMax-M2.7 を起動する 必要なハードウェア 構成 GPU メモリ KV Cache 4× GPU 96 GB × 4 400K トークン 8× GPU 144 GB × 8 3M トークン サーバー起動コマンド 4× GPU 構成(推奨): ...

2026年4月23日 · 2 分

CLAUDE.md に1行追加するだけで Claude Code のコストが 1/3 に — plan モード強制テクニック

X(旧 Twitter)で話題になった Claude Code のコスト削減テクニックを紹介する。やることはシンプルで、CLAUDE.md にたった1行を追加するだけ。それだけでトークン消費が約 1/3 に減り、エラーもゼロになったという報告が注目を集めている。 plan モード強制でトークン 64% 削減の実測データ @ClaudeCode_love が2026年4月に共有したデータによれば、以下の改善が得られたとのこと。 指標 変更前 変更後 改善率 トークン消費 10.4M 3.7M 64% 削減 エラー数 10 個 0 個 100% 削減 コスト $9.21 $2.81 69% 削減 単純計算で約 3 分の 1 のコストになる。これを知っているかどうかだけで月額の Claude Code 利用コストに大きな差が出る。 CLAUDE.md への1行追加方法 CLAUDE.md に以下の1行を追加するだけ。 1 実装前に必ず plan モードで設計を出してから書け これだけで Claude Code は実装前に設計フェーズを経るようになる。 より確実に全セッションへ適用する方法 CLAUDE.md へのテキスト指示は Claude へのヒントとして機能するが、確実に plan モードをデフォルト化するには .claude/settings.json に以下を追記する方が確実。 1 2 3 { "defaultMode": "plan" } 両方を組み合わせることで、より安定した動作が期待できる。 ...

2026年4月23日 · 1 分

Context Rot(コンテキスト劣化)

概要 コンテキストウィンドウが長くなるにつれてモデルの性能がトークン数に比例して低下する現象。古い・無関係なコンテンツが現在のタスクを妨害し、モデルの注意力が分散する。“Rot”(腐る)は Bit Rot・Code Rot と同じ、時間経過で静かに劣化する現象を指す慣用表現。 5 択のセッション管理 Anthropic テクニカルスタッフの Thariq 氏が整理した「ターンの終わりに行う 5 つの選択肢」: 選択肢 意味 向いている場面 Continue 同じセッションで続行 短いタスクで文脈が整理されている Rewind(Esc×2 / /rewind) 前のメッセージに戻り再プロンプト 誤った方向に進んだ試行錯誤を消したい /clear 白紙から新セッション 重要情報を自分で持ち込みたい /compact セッションをモデル自身に要約させる 手間をかけず文脈を圧縮したい Subagent 汚れ仕事を別エージェントに委譲 中間出力が大量で最終結果だけ欲しい /compact vs /clear の使い分け /compact: モデルに要約を委ねる(lossy)。/compact focus on the auth refactor, drop the test debugging のように指示を添えると精度が上がる。デバッグ後に全く別タスクを指示する場面では特に精度が落ちやすい /clear: 手間はかかるが残るコンテキストは自分が必要と判断した情報だけになる(lossless) Subagent を使うパターン 「中間出力が大量に出るが、必要なのは最終結果だけ」という作業に有効。サブエージェントはクリーンな独自コンテキストウィンドウを持ち、中間の試行錯誤が親のコンテキストを汚染しない。 実践的な把握方法 /usage で自分のトークン使用量の推移を確認し、Context Rot が始まるしきい値を事前に把握しておく。鈍くなった後では遅い。 関連ページ コンテキスト圧縮 — 5 段階の圧縮カスケード Claude Code — Context Rot 管理コマンドの実装 ソース記事 Claude Code のコンテキスト管理術 — Context Rot を防ぐ 5 つの選択肢 — 2026-04-17

2026年4月23日 · 1 分

Obsidian

概要 Obsidian はローカルファイルベースの Markdown エディタであり、個人の知識管理(PKM)に特化したツール。個人利用は完全無料、データはすべて自分のマシン上の .md ファイルとして保存されるため、ベンダーロックインがない。2,700 種以上のコミュニティプラグインが存在する。 設計哲学 「Your thoughts are yours(あなたの思考はあなたのもの)」。ローカルファースト・プレーンテキスト・オフライン動作・ベンダーロックインなしを基本原則とする。 主な機能 バックリンクとグラフビュー: ノート間の双方向リンクと視覚的な知識マップ Dataview プラグイン: Markdown ファイルをデータベースとしてクエリ Templater: 動的テンプレートで繰り返し作業を自動化 Canvas: ホワイトボード的なビジュアル思考ツール AI 連携: Smart Composer / Copilot プラグインで LLM をノート作成に統合 料金 プラン 価格 用途 個人 無料 個人利用 Commercial $50/年 商用利用 Sync $10/月 デバイス間同期 Publish $20/月 Web 公開 AI Agent との統合(Claude Code) Obsidian Vault は単なるノートアプリではなく、AI Agent に「個人ナレッジ層」として常時参照させる Markdown 倉庫 として機能する。Claude Code との統合では次のレイヤーで連携する。 読み取り: .claude/knowledge/ symlink + 読み取り用 MCP (vault-readonly) 書き戻し(writeback): 書き込み用 MCP (vault-inbox) で ~/Documents/ObsidianVault/inbox/ にのみ書く 自動化: Claude Code hooks(PostToolUse / Stop)と GitHub Actions self-hosted runner を組み合わせ、PR マージや日次のタイミングで書き戻しを発火 Vault が AI Agent 越しに自己強化される循環構造を構築できる(Obsidian Vault Writeback Loop 参照)。 ...

2026年4月23日 · 1 分

pytest でカオスエンジニアリングを始めるガイド

概要 「本番で障害が起きてから対処する」のではなく「テスト段階で意図的に障害を起こして耐性を確認する」カオスエンジニアリングの考え方を pytest に組み込む手法。@pytest.mark.chaos というカスタムマーカーで障害注入テストを分類・選択実行できる。 セットアップ マーカー登録 1 2 3 4 5 # pyproject.toml [tool.pytest.ini_options] markers = [ "chaos: カオスエンジニアリング関連のテスト(障害注入・耐性検証)", ] 選択実行 1 2 3 pytest -m chaos # カオステストのみ pytest -m "not chaos" # 通常の CI(カオステストをスキップ) pytest -m "chaos or integration" 主要な障害注入パターン ネットワーク障害 1 2 3 4 5 @pytest.mark.chaos def test_api_timeout_fallback(): with patch("app.client.requests.get", side_effect=TimeoutError): result = app.client.fetch_user_profile(user_id=123) assert result == app.client.get_cached_profile(user_id=123) データベース障害 1 2 3 4 5 6 @pytest.mark.chaos def test_db_connection_lost(): mock_primary = MagicMock(side_effect=ConnectionError("Connection lost")) with patch("app.db.get_primary_connection", mock_primary): result = app.db.query_user(user_id=123) assert result is not None # リードレプリカから取得 ランダム障害 Fixture(確率的注入) 1 2 3 4 5 6 7 8 9 10 11 @pytest.fixture def chaos_network(monkeypatch): """30% の確率でネットワーク遅延を注入""" original_get = requests.get def unstable_get(*args, **kwargs): if random.random() < 0.3: time.sleep(random.uniform(1.0, 5.0)) if random.random() < 0.1: raise ConnectionError("Chaos: connection refused") return original_get(*args, **kwargs) monkeypatch.setattr("requests.get", unstable_get) Django との統合 1 2 3 4 5 6 @pytest.mark.chaos @pytest.mark.django_db def test_cache_backend_failure(client): with patch("django.core.cache.cache.get", side_effect=Exception("Redis down")): response = client.get("/api/users/1/") assert response.status_code == 200 # キャッシュなしでも正常応答 CI/CD 組み込み(GitHub Actions) 1 2 3 4 5 6 7 8 9 10 11 12 13 name: Chaos Tests on: schedule: - cron: '0 3 * * 1' # 毎週月曜 AM3:00 jobs: chaos-test: runs-on: ubuntu-latest env: CHAOS_ENABLED: "1" steps: - uses: actions/checkout@v4 - run: pip install -r requirements-test.txt - run: pytest -m chaos --tb=long -v 通常 CI では pytest -m "not chaos" で高速に回し、週次スケジュールジョブでカオステストのみ実行する運用が推奨される。 ...

2026年4月23日 · 2 分

Video Use

概要 browser-use チームが開発した、Claude Code のスキルとして動作する動画編集自動化ツール。GitHub リポジトリ browser-use/video-use で公開。カメラに向かって話した素材を Claude に渡すだけで final.mp4 を生成できる。 設計の核心: LLM は動画を「見ない」 従来の素朴なアプローチ(30,000 フレーム × 1,500 トークン = 4,500 万トークン)の代わりに、2 層の情報表現を採用する: 層 内容 容量 Layer 1(常時ロード) ElevenLabs Scribe による音声トランスクリプト(takes_packed.md) 約 12KB Layer 2(必要時のみ) フィルムストリップ + 波形 + ワードラベルの PNG 判断が必要な場合のみ生成 browser-use が LLM に DOM を渡すのと同じ発想で、動画に対しては「テキスト + 必要時の画像」という形で情報を渡す。 主な機能 フィラーワード自動カット: 「えー」「あの」「umm」「uh」などと無音部分を自動除去 自動カラーグレーディング: セグメントごとにプリセットまたはカスタム ffmpeg チェーンを適用 字幕自動生成: デフォルトは 2 ワードの大文字チャンク形式 30ms オーディオフェード: すべてのカット点で自動適用 アニメーションオーバーレイ: Manim / Remotion / PIL によるアニメーションをサブエージェントで並列生成 自己評価ループ: レンダリング後に全カット境界を自動チェック、最大 3 回まで自動修正 セッションメモリ: project.md に状態を保存して次回セッションで継続 セットアップ 1 2 3 4 5 git clone https://github.com/browser-use/video-use ln -s "$(pwd)/video-use" ~/.claude/skills/video-use pip install -e video-use brew install ffmpeg # .env に ELEVENLABS_API_KEY を設定 使い方 動画素材フォルダに移動して Claude Code を起動し、自然言語で指示するだけ。出力はすべて <videos_dir>/edit/ に格納される。 ...

2026年4月23日 · 1 分

エージェントハーネスとユーザーハーネス — ハーネスエンジニアリングの全体像を正しく理解する

r.kagaya 氏(@ry0_kaga、AstarMinds CTO)が Zenn に公開した記事がある。「ハーネスエンジニアリングとは何で、何ではないのか 〜作る側のハーネス、使う側のハーネス〜」という記事だ。ハーネスエンジニアリングをめぐる言葉の混乱を整理し、エージェントハーネスとユーザーハーネスという2層の区分を提示している。 CLAUDE.md や Skills を書けば「ハーネスエンジニアリングをやっている」と言える。でも、それはハーネスエンジニアリングの全体ではない。この記事ではその全体像を整理する。 そもそも「ハーネス」の定義が割れている 前提として、ハーネスエンジニアリングという言葉には統一された定義がない。同じ言葉を使いながら、各社・各人が指しているものが違う。 用語の来歴 「ハーネス」の原義は馬具だ。馬を馬車に繋ぎ、方向を制御し、力を伝達する装備。ソフトウェア文脈では 2020 年の lm-eval-harness(言語モデル評価ハーネス)が初出とされる(r.kagaya 氏による整理)。2024 年に All Hands AI / OpenHands が「エージェントハーネス」に拡張。2026 年に Mitchell Hashimoto(Terraform 創業者)が「Engineer the Harness」と命名し、OpenAI の記事で広まった。 各社の定義 誰が 何と言っているか LangChain (Vivek Trivedy) 「Agent = Model + Harness。モデルでなければハーネス」 Anthropic 「LLM を呼び出し、ツールコールをルーティングする制御ループ」 OpenAI 宣言的制約 + サンドボックス + スケーリング Böckeler / Martin Fowler サイバネティクス的制御。フィードフォワード × フィードバック Phil Schmid (Hugging Face) Model = CPU, Harness = OS Bedi (Composio CEO) 「システムエンジニアリングのサブセットに新しい名前をつけているだけ」 LangChain の「モデルでなければハーネス」は極めて広い。Anthropic の「制御ループ」はエージェント実装寄り。「そもそも新しい概念ですらない」と言う人もいる。さらにベンダー(作り手)と利用者(使い手)で意味が違うという構造的な問題もある。 ...

2026年4月23日 · 2 分

Obsidian × Claude Code で「24時間365日動く AI 秘書」を構築する — Greg Isenberg の 10 ステップ

スタートアップコミュニティで知名度の高い Greg Isenberg が、Obsidian と Claude Code を組み合わせて「24時間365日稼働するパーソナル AI オペレーティングシステム」を構築する方法を公開した。閲覧数 110 万超、ブックマーク 17,000 超と大きな反響を呼んでいる。 なぜ Obsidian × Claude Code なのか 多くの人は AI を「汎用チャットボット」として使っている。セッションを開くたびに自己紹介し、プロジェクトの背景を説明し直す——この繰り返しが生産性のボトルネックになっている。 Greg が提案するアプローチは、自分の思考・知識・文脈をすべて Obsidian ボルト(ノート群)に蓄積し、Claude Code がそれを読み込んで行動するというものだ。人間が書き、AI が読んで実行する、という明確な役割分担がポイントになる。 10 ステップで始めるパーソナル OS ステップ 1: 全てを Markdown で書く 日報・プロジェクト概要・自分の信念・人脈・議事録——あらゆる情報を Markdown ファイルとして Obsidian ボルトに記録する。フォーマットを統一することで、Claude Code が構造的に読み取れるようになる。 1 2 3 4 5 6 7 8 9 10 11 vault/ ├── daily/ │ └── 2026-04-22.md # 日報 ├── projects/ │ └── my-startup.md # プロジェクト概要 ├── people/ │ └── john-doe.md # 人脈メモ ├── beliefs/ │ └── product-philosophy.md # 信念・哲学 └── meetings/ └── 2026-04-22-kickoff.md # 議事録 ステップ 2: ノート同士を自分の思考回路のようにリンクする [[プロジェクト名]] 形式のウィキリンクでノートを繋ぎ、自分の思考の連鎖を反映させる。単なるメモの集合ではなく、考え方のグラフを構築することが目的だ。 ...

2026年4月22日 · 2 分

Claude Code で 2 日間に 49 PR を出荷 — 手書きコードゼロを実現する AI 開発ワークフロー

「もう 2 ヶ月以上、手でコードを書いていない」 Claude Code の生みの親であり、Anthropic でその開発を率いる Boris Cherny がそう語ったのは 2026 年 1 月のことだ。Andrej Karpathy の問いかけに応え、X への投稿でこう明かした。 “For me personally, it has been 100% for two+ months now, I don’t even make small edits by hand.” そして今、そのワークフローが広く注目を集めている。2 日間で 49 の Pull Request を出荷、コードは 100% AI 生成という実績が報告され、X では 30 分間のセッション動画が公開され 300 万回近く再生された。 Boris Cherny とは Boris Cherny は、Claude Code を 2024 年 9 月に社内の個人プロジェクトとして始めた人物だ。当初は自分のコーディングを助けるためのツールだったが、Anthropic 社内でその有効性が認められ、正式なプロダクトへと進化した。 彼は後にこう振り返っている。 “When I created Claude Code as a side project back in September 2024, I had no idea it would grow to what it is today.” ...

2026年4月21日 · 2 分

Claude Code の Skills が会話ごとにずれる原因は auto-memory だった — 1行で直す方法

Claude Code の Skills を使い込むうちに「あれ、前と挙動が違う……」と感じたことはないだろうか。~/.claude/settings.json に 1 行追記するだけで解決できる。原因は auto-memory だ。 Claude Code の auto-memory が Skills の挙動を変える仕組み Claude Code は会話のたびに学習内容を Memory(~/.claude/projects/.../memory/MEMORY.md)へ自動で書き込む機能(auto-memory)を持っている。 問題はこの Memory の内容が次の会話でコンテキストウィンドウに自動挿入される点だ。これにより、Skills に記述した指示と競合し、設計どおりの挙動から少しずつずれていく。 会話を重ねるほど症状が顕著になるため、原因の特定に時間がかかりやすい。 解決策:autoMemoryEnabled: false ~/.claude/settings.json に 1 行追記するだけで解決する。ファイルが存在しない場合は新規作成し、既存の設定がある場合は {} 内に追記する。 1 2 3 { "autoMemoryEnabled": false } これで Memory への自動書き込み・読み込みが停止し、auto-memory 機能全体が無効化される。 影響範囲 機能 autoMemoryEnabled: false にしたときの変化 Memory への自動書き込み・読み込み 停止 CLAUDE.md の読み込み 変化なし(従来どおり動作) Skills に書いたルールの適用 変化なし(従来どおり動作) CLAUDE.md や Skills の設定はそのまま有効なので、プロジェクト固有のルールが失われる心配はない。 ...

2026年4月21日 · 1 分