APM(Agent Package Manager)

概要 APM(Agent Package Manager)は Microsoft がオープンソースで開発している AI エージェント向けの依存関係マネージャー。npm や pip がライブラリを管理するように、APM はエージェントが必要とするコンテキスト(スキル・プロンプト・プラグイン・MCP サーバーなど)を apm.yml に宣言して管理する。 プロジェクトに apm.yml を 1 つ置くだけで、リポジトリをクローンした全員が同じエージェント環境を即座に再現できる。 対応エージェント GitHub Copilot、Claude Code、Cursor、OpenCode、Codex CLI 解決する問題 AI コーディングエージェントのセットアップは現状、開発者が各自で手動で行うため移植性も再現性もない。APM で宣言的管理することでチーム全員が同一環境を共有できる。 関連ページ Claude Code AI エージェント ソース記事 APM(Agent Package Manager)— AI エージェント設定を npm のように管理するツール — 2026-04-17

2026年4月23日 · 1 分

Claude Code × Obsidian で「第二の脳」を構築する完全解説 — 海外1,240万views超え、AI記憶設計の新標準

海外 AI 活用シーンで Obsidian × Claude Code の組み合わせが爆発的な注目を集めている。6本の主要記事だけで合計 1,240万 views、ブックマーク数は 8万件超え。元 OpenAI 創設メンバーの Andrej Karpathy 氏が提唱し、Obsidian CEO の Steph Ango 氏自らが AI 連携スキルを GitHub で公開。ここまで業界の中心人物が動いたツール組み合わせは、近年なかった。 本記事は東大 ClaudeCode 研究所(@ClaudeCode_UT)が公開した解説記事「【決定版】ゼロから始めるClaudeCode × Obsidianの完全解説」をベースに、その要点をまとめる。 そもそも Obsidian とは何か Obsidian は、個人向けのローカル Markdown ノートアプリだ。2020 年公開、個人利用は無料で、Mac / Windows / Linux / iOS / Android に対応している。同じノート系の Notion や Evernote とは設計思想が根本的に異なる。 ノート本体は Markdown ファイル — 各ノートは .md としてディスク上に実ファイルで存在する。独自データベースに閉じ込められない。 Vault は OS のただのフォルダ — ノートを束ねる「Vault」は普通のディレクトリ。Git でも Dropbox でも iCloud でも、好きな仕組みで同期・バックアップできる。 双方向リンク [[ノート名]] — ノート同士をリンクで繋ぎ、知識をグラフ構造として可視化できる。Zettelkasten など既存 PKM 手法の基本機能を標準で備える。 ローカルファースト — 規定ではすべて自分の PC 内に保存。クラウドに置くかどうかは利用者が選ぶ。 豊富なプラグイン — 2,000 以上のコミュニティプラグインで、PDF 注釈・タスク管理・グラフ可視化まで拡張できる。 なぜ「AI × 記憶設計」の目的に最適なのか Obsidian のこれらの特徴は、Claude Code のようなファイルシステムを直接操作する AI エージェントと噛み合う。理由は3点ある。 ...

2026年4月23日 · 4 分

Claude Code で月50万円も夢じゃない? SNS自動化×AI アフィリエイトというブルーオーシャン

Claude Code をコーディング支援以外の収益化ツールとして活用する事例が注目されている。本記事では、SNS 複数アカウントの自動運用×アフィリエイト収益化という活用パターンの仕組み・先行者優位の背景・実践上の注意点を整理する。 X(旧Twitter)でこの話題に火をつけたのが、AI 自動化を実践するインフルエンサーの「なおき」さん(@Naoki_GPT)のツイートだ(以下、原文ママ)。 Claude Code、金稼ぎに特化させれば余裕で月50万は超えるのになあ。うちは10個のSNSアカを自動運用でフル稼働させてアフィで稼いでもらってる。AI自動化アフィの収益性エグすぎ。 フォロワー約1.6万人のこのアカウントが投稿した内容は数時間で37万回超のインプレッションを記録し、Claude Code の「収益化活用」という視点から多くのエンジニア・マーケターの注目を集めた。 なぜ Claude Code が収益化ツールとして注目されるのか Claude Code はコードを書くための AI アシスタントとして設計されているが、その本質は 「複雑なタスクを自律的に実行するエージェント」 だ。コーディングに限らず、以下のようなタスクを自動化できる。 SNS への投稿コンテンツ生成・スケジューリング アフィリエイトリンクを含む記事の自動生成・公開 複数プラットフォームへのクロスポスト アナリティクスデータの収集・レポート生成 A/B テスト用のコンテンツバリエーション作成 なおきさんの場合、10個の SNS アカウントを Claude Code ベースの自動化システムでフル稼働させ、アフィリエイト収益を得ているという。これは単なる「コンテンツ自動投稿」ではなく、エンゲージメント分析・最適化・収益化まで一気通貫で自動化していると考えられる。 AI 自動化アフィリエイトの仕組み 一般的な「AI 自動化アフィリエイト」のフローは以下のようになる。 1. ネタ収集 RSS フィード・トレンドワード・競合アカウントの投稿を自動収集 Claude Code がトレンドを分析し、反応が取れそうなテーマを選定 2. コンテンツ生成 選定テーマに基づいて Claude Code が投稿文・画像プロンプト・ハッシュタグを生成 アフィリエイトリンクを自然な形で挿入 3. スケジュール投稿 各 SNS の最適投稿時間帯に合わせてスケジューリング X、Instagram、TikTok、YouTube Shorts など複数プラットフォームに対応 4. 分析・改善 エンゲージメント率・クリック率・収益データを収集 Claude Code がデータを分析し、次のコンテンツ戦略を自動改善 ASP が果たす役割 — エコシステム全体像 このフローの中で ASP(Affiliate Service Provider) は、広告主とメディア運営者を繋ぐ「仲介プラットフォーム」として機能する。広告主・メディア運営者・Claude Code・SNS・エンドユーザーの関係を図にすると以下のようになる。 ...

2026年4月23日 · 3 分

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 分

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 分