コンテンツにスキップ
トピック

AI開発・プログラミング

AIを使ったアプリ開発・コード生成・デバッグ・テスト自動化の実践テクニック。初心者から中級者まで役立つガイド。

63 件の記事

並び替えで記事を探せます

エージェント評価(Agent Evals)とは——成果と軌跡の両方を測る

エージェント評価(Agent Evals)とは——成果と軌跡の両方を測る

エージェント評価(Agent Evals)は、ツールを使い複数手を踏んで目標を達成するエージェントが本当にタスクを成し遂げられるかを体系的に測る工程。単発出力を採点するLLM評価の発展形で、対象が「1つの出力」から「一連の行動」に広がる。エージェントは計画し、ツールを呼び、状態を更新するため最終出力だけでは不十分で、Googleも「出力確認だけでは足りず行動のなぜを理解する必要がある」として最終応答と軌跡(trajectory)の2系統に分ける。測る軸は5つ=①成果(タスク成功=「予約しました」という発言ではなくDBに予約が実在するかという最終状態で判定)②軌跡(妥当な手順・正しいツールを正しい順序で)③ツール使用の正確さ(正しいツール・正しい引数・関数名や型まで照合)④効率(手数・トークン・コスト・遅延。多くはオブザーバビリティの観測値を持ち込む実務的扱い)⑤最終応答の質(LLM-as-judge/ルーブリック)。採点者はコード(速い/安い/再現可能だが脆い)→LLM-as-judge(柔軟だが非決定的で要較正)→人間(ゴールド標準だが高コスト・可能なら避ける)を使い分ける。Anthropicは「ツール呼び出しを正しい順序で踏んだかの確認は厳しすぎて脆い。エージェントは妥当な別解を見つけるので、経路ではなく成果を採点する方がよい」と勧める一方、Google/Microsoftは軌跡一致度を正式指標に持つ。固有の難所は非決定性(pass^k)・誤差の連鎖(p^t)・報酬ハッキング(DeepMindのロボットアームが掴んだように見せかけた例)・評価セットの陳腐化や汚染。実務はAnthropic推奨で、本番の失敗から20〜50件をテストケース化→自動採点でCIに乗せ→能力evalと回帰evalを分け→早く書く。SWE-bench/τ-bench/WebArena/GAIA/OSWorld/BFCL等のベンチマークも参考になる(スコアは版で動くので鵜呑みにしない)。公式情報に基づき不確実点を明示しつつ整理する。

Claude Code hooks(フック)とは——ライフサイクルの要所で確定的に自動実行する

Claude Code hooks(フック)とは——ライフサイクルの要所で確定的に自動実行する

Claude Code hooks(フック)は、Claude Codeのライフサイクルの特定の時点で自動実行されるユーザー定義のシェルコマンドで、「必ずこうなってほしい」をLLMの判断に頼らず確定的に実現する仕組み。定番イベントはSessionStart/UserPromptSubmit/PreToolUse/PostToolUse/Notification/Stop/SubagentStop/SessionEnd/PreCompactの9つで、PreToolUse等はブロック可能(保護ファイル編集や危険コマンドを止められる)。設定はsettings.jsonの"hooks"キーにイベント名→マッチャ→type+commandの形で記述。入出力はstdinにJSON(session_id・tool_input等)を受け取り、終了コード0(成功)/2(ブロック、stderrがClaudeに渡る)または構造化JSON(continue・decision:block・permissionDecision:deny/allow/ask等)で返す。原則は「制限はきつくできるが緩くできない」(denyは常に優先、bypassPermissionsでも止まる)。定番ユースケースは編集後の自動整形(PostToolUse+Edit|Write)・保護ファイル防御・危険コマンド阻止・コンテキスト再注入(SessionStart)・通知/監査ログ・終了前テスト(Stop)。安全面では任意のシェルコマンドを自分の権限で実行するため信頼できるフックだけを設定し、入力の検証/クォート・機微ファイル回避が必須。フック設定はセッション開始時にスナップショットとして固定され、セッション中の変更が反映されないのは安全機構。公式ドキュメントに基づき、定番9イベントと入出力契約を軸に整理する。

Claude Codeのチェックポイントと/rewindとは——変更を巻き戻して復旧する

Claude Codeのチェックポイントと/rewindとは——変更を巻き戻して復旧する

チェックポイント(checkpointing)と/rewindは、Claude Codeが作業中にClaudeのファイル編集を自動追跡し、数キーで「やり直す前」まで巻き戻せる安全網。スナップショットは各編集の前に自動で取られ、送った各プロンプトが復元ポイントになり、セッションをまたいで保持される。使い方は/rewindと打つか入力欄が空のときにEscを2回押してメニューを開き、一覧から地点を選んで「コードと会話を復元/会話を復元/コードを復元」を選ぶ(入力欄に文字が残っていればEsc2回は入力のクリアになる点に注意)。最重要の注意は、復元されるのはClaudeの編集ツール(Write/Edit/NotebookEdit)によるファイル変更だけで、bashコマンドの変更(rm/mv/cp)・セッション外や別セッションの変更・ディレクトリ操作・リモートファイル・DB等は巻き戻しで戻らないこと。公式は「チェックポイント=ローカルの取り消し、Git=恒久的な履歴」と位置づけ、補完はするが置き換えはしないと明言しており、節目ではGitコミットの併用が鉄則。さらに/rewindはツール同時実行やthinkingブロック関連の400エラーからの復旧手段でもあり、製品自身が実行を促す(ただしv2.1.156より前は/rewindでクリアできないことがあるためclaude updateが先)。対話型CLIでは既定で有効、Agent SDKはオプトイン、保持はセッションと一緒に30日(設定可)。公式ドキュメントに基づき不確実点を明示しつつ整理する。

Claude Managed Agentsとは——Anthropicのフルマネージド・クラウドでエージェントを動かす

Claude Managed Agentsとは——Anthropicのフルマネージド・クラウドでエージェントを動かす

Claude Managed Agentsは、2026年4月8日にパブリックベータとして公開された、クラウドホスト型エージェントを構築・デプロイするための合成可能なAPI群。自分でエージェントループ・ツール実行・ランタイムを作る代わりに、Claudeがファイル読取・コマンド実行・Web閲覧・コード実行を安全に行えるフルマネージド環境が手に入り、プロンプトキャッシュ・コンテキスト圧縮・サンドボックス・状態の永続化が組み込み。構成はAgent/Environment/Session/Eventsの4概念で、EnvironmentはAnthropic管理のクラウドサンドボックスか自己ホスト型を選べる。自前のAgent SDK(self-hosted、ループ・ツール・インフラを自分で運用)との違いは「自分で動かすか、Anthropicが動かすか」で、競合ではなく運用責任の置き場所の選択。特徴的なのはワークスペース単位の永続メモリ(memory store)で、サンドボックス内に/mnt/memoryとしてマウントされ通常のファイル操作で読み書きでき、セッションをまたいで持続(変更ごとに不変のバージョン、30日保持、メモリ1件100kB等の上限あり)。さらにdreamingは既存メモリと過去セッション記録を読み、重複を併合・古い値を更新・新しい洞察を浮かび上がらせた再編成メモリを生成する非同期ジョブ(リサーチプレビュー、アクセス申請要。一部は「スケジュール実行」と表現するが公式はオンデマンドの非同期ジョブとして記載)。成果ベース評価(ルーブリックに照らして別の採点役が評価、最大10ポイント改善と報告)とマルチエージェント・オーケストレーションも備える。料金はトークン+セッション稼働1時間あたり$0.08(ミリ秒課金、running中のみ。Opus 4.8の1時間で約$0.705)。全APIアカウントで既定有効だが、状態を持つためZDRやHIPAA BAAの対象外。公式情報に基づき不確実点を明示しつつ整理する。

Claude Codeプラグインとマーケットプレイスとは——使い方・自作・公開の完全ガイド

Claude Codeプラグインとマーケットプレイスとは——使い方・自作・公開の完全ガイド

Claude Codeを使い込むと増えてくる自分用のスラッシュコマンド・サブエージェント・MCPサーバ・フックを、1つにまとめてバージョン管理し、チームや他プロジェクトで共有できる仕組みがプラグイン(2025年10月パブリックベータ、2026年に公式ディレクトリや/pluginの検索・一覧を追加)、配布の場がマーケットプレイスだ。本記事では、プラグインとは何か(スキル/コマンド/サブエージェント/フック/MCPサーバ等を束ねた自己完結ディレクトリ)、構造(.claude-plugin/にはplugin.jsonだけ・commands/agents/skills/hooksはルート、plugin.jsonのname/description/version/author)、使い方(/pluginのタブ画面、/plugin marketplace add owner/repo→/plugin install name@market、/plugin enable|disable|uninstall、/plugin list --enabled、検索バー、/reload-plugins)、マーケットプレイスとは(.claude-plugin/marketplace.jsonのカタログ、公式claude-plugins-officialは初回から自動でclaude.com/pluginsで閲覧可、コミュニティclaude-plugins-community)、自作と公開(plugin.jsonとSKILL.mdを置きclaude --plugin-dirでテスト、gitルートにmarketplace.jsonを置いて公開、バージョンはplugin.json→marketplace→コミットSHA、claude plugin validate)、配布スコープ(user/project/local/managed、チーム配布は.claude/settings.jsonのextraKnownMarketplacesとenabledPlugins)、安全性(プラグインは任意コードを実行しうる・Anthropicは第三者を検証しない・strictKnownMarketplacesで限定)までを、公式ドキュメントに基づいて整理する。

Claude CodeのSubagentsとAgent Teamsの違いと使い分け

Claude CodeのSubagentsとAgent Teamsの違いと使い分け

Claude Codeで複数AIに手分けさせる仕組みには、似て非なるSubagents(サブエージェント)とAgent Teams(エージェントチーム)の2つがあり、役割と協調のしかたが根本的に違う。本記事では両者を正確に整理する。Subagentsは標準機能で、メインのエージェントが特定タスクを独自のコンテキストウィンドウ・システムプロンプト・ツール権限を持つ助手に自動委譲し、要約だけを受け取る階層型・使い捨て(会話履歴は見ない、/agentsで管理、.claude/agents/のYAML定義、Explore/Plan等の標準サブエージェント、最大5階層までネスト可)。一方Agent Teamsは実験的なオプトイン機能で既定では無効——CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1が必要で、複数の独立セッション(チームリードと仲間)が共有タスクリストとメールボックスで対等に直接連携するピア型・永続(v2.1.178はTeamCreateの準備ステップを撤廃し各セッションが暗黙のチームを持つよう簡略化しただけで、既定有効化ではない)。決定的な違い(階層vsピア、要約vs直接通信、標準vs実験的フラグ必須、5階層ネストはSubagentsの仕様でTeamsは入れ子不可)、どちらを使うべきか(結果だけ欲しい/文脈を汚したくないならSubagents、作業者が相互共有・調整すべき並列作業ならAgent Teams、逐次・同一ファイル・素早い修正なら単一セッション)、使い方チートシート、Agent Teamsの注意点(高トークンコスト・推奨3〜5人・worktree非隔離でファイル競合・/resume等の制限・分割ペインはtmux/iTerm2)までを、公式ドキュメントに基づいて整理する。

Claude Designとdesign-syncとは——デザインとコードを双方向につなぐ新機能

Claude Designとdesign-syncとは——デザインとコードを双方向につなぐ新機能

Claude Designは、作りたいものを会話で説明するとClaudeがUIデザインやプロトタイプ、スライド、ワンページャーを生成し、チャット・インラインコメント・直接編集・スライダーで仕上げられるAnthropic Labsのデザインツール(2026年4月17日研究プレビュー公開、最初の1週間で100万人超が利用)。2026年6月17日の大型刷新で、デザイナーと開発者の往復を一気に縮めた。本記事では、Claude Designとは何か(4月の公開時点ではOpus 4.7で動くとされたが6月告知ではモデル再言及なしのため断定しない)、6月刷新の中身(GitHubリポジトリ/デザインファイル/素材からのデザインシステム取り込みと自社コンポーネントでの構築・出力照合、/design-syncによるClaude Codeとの双方向同期、ドラッグ/リサイズ/整列のキャンバス直接編集と多数の安定性修正、チャット/Cowork/Claude Codeとの使用量上限共有によるトークン浪費問題の改善、管理者が標準システムを承認しロックするエンタープライズのブランド管理、Adobe/Canva/Miro/Vercel/Wix等やPDF/PowerPointへのエクスポート連携拡充)、/design-syncの双方向(Code→:デザインシステムをリポジトリに取り込み実コンポーネントで実装/→Design:作ったコードをキャンバスに戻して編集/Design→Code:仕上がったデザインをClaude Codeに渡しスクショから作り直さず引き継ぐ、/designでターミナルから作成・編集・同期も)、利用条件(Pro/Max/Team/Enterpriseのベータで追加料金なし・Enterpriseは既定オフ・キャンバスはweb/desktopのみ・/design-syncはCLI)、なぜ重要か(スクショから作り直す断絶を埋め、デザイナー×開発者を一本でつなぐ)までを、公式情報に基づき不確実点を明示しつつ整理する。

Claude Code Artifactsとは——セッションを共有ライブページに変える新機能の使い方

Claude Code Artifactsとは——セッションを共有ライブページに変える新機能の使い方

2026年6月18日にAnthropicが発表したClaude Code Artifacts(ベータ)は、ターミナルのコーディングセッションを、チームで共有できるライブなWebページに変える新機能だ。git diffやログをテキストで延々流す代わりに、注釈付きPRウォークスルー・自己更新するダッシュボード・インシデントのタイムライン・自動でチェックが入るリリースチェックリスト・アーキテクチャ図などを、claude.aiの非公開URLを持つ1枚のページとして公開できる。本記事では、Artifactsとは何か(セッション全体やMCPコネクタ経由のデータから構築し、作業の進行に合わせて開いた画面もその場で更新される)、2024年のclaude.aiのキャンバス型Artifactsとの違い(セッション由来・自己更新・組織内限定・公開不可)、用途、使い方(/artifactのような専用コマンドは無く自然言語で依頼、Claudeが.htmlを書き出して公開許可を求めURL表示、Ctrl+]で再表示、更新で同URLの新バージョン、Shareで組織内共有)、制約(アプリではなく作業のキャプチャ=バックエンド無し・厳格なCSPで外部リクエスト不可・単一ページ・.html/.htm/.mdのみ・16MiB以下・トークン多め)、利用条件(Team/Enterprise限定ベータ、/loginサインイン必須でAPIキー不可、Anthropic APIのみでBedrock等非対応、CMEK/HIPAA/ZDRで無効、管理者制御と監査ログ)までを、公式ドキュメントに基づいて整理する。

Claude Codeの認証・ログインエラー(Invalid API key/Not logged in)の原因と対処

Claude Codeの認証・ログインエラー(Invalid API key/Not logged in)の原因と対処

Claude Codeで「Not logged in · Please run /login」「Invalid API key」「This organization has been disabled」「OAuth token has expired」などが出てログインを求められる——これらは多くが401/403=認証(あなたが誰か)の問題だ。本記事では、認証トラブルで最頻出の真因(環境変数ANTHROPIC_API_KEYがサブスクPro/Maxログインを優先順位で黙って上書きし、予期せぬ従量課金・organization disabled・Invalid API keyを生むこと、キーは.zshrc/.bashrc/.profileやdirenv/dotenv・IDEターミナルの.env・前職の残骸・CIから来ること)、検出(/statusで有効な資格情報を確認・env | grep ANTHROPIC)と修正(unset ANTHROPIC_API_KEY+シェル設定から削除)、その他の原因(トークン失効・無効化、システム時計のずれ、macOSキーチェーンのロック、Consoleロール不足の403、WSL/SSH/コンテナでのOAuthリダイレクト失敗=コード貼り付けで回避、組織ポリシーはローカル上書き不可)、認証情報の保存場所(macOS Keychain/Linux ~/.claude/.credentials.json/Windows %USERPROFILE%)、切り分けワークフロー(/status→env grep→unset→/logout→/login→時計・キーチェーン・Consoleロール)、紛らわしいエラー(usage limit=プラン枠/429=レート/529・500=サーバー/Credit balance=残高)との区別までを、公式情報に基づいて整理する。

Claude Codeの「command not found: claude」インストール・PATHエラーの原因と対処

Claude Codeの「command not found: claude」インストール・PATHエラーの原因と対処

Claude Codeをインストールしたのにターミナルで「zsh: command not found: claude」「bash: claude: command not found」「is not recognized as an internal or external command(Windows)」が出る——これは多くの場合インストール先のフォルダがPATHに入っていないだけで、インストール自体は成功している。本記事では、シェルがPATH上のフォルダを順に探す仕組み、インストール方法と置き場所(ネイティブインストーラ推奨=~/.local/bin・Windowsは%USERPROFILE%\.local\bin/npmはNode18+で同じネイティブバイナリ/Homebrew/WinGet、VS Code拡張だけではclaudeはPATHに入らない)、主な原因と対処(PATHに~/.local/binを追加して端末再起動、npm権限エラーEACCESはsudoせずネイティブへ、Nodeが古い、複数インストールの衝突はwhich -a/where.exeで確認しネイティブ1本に、optional依存スキップでネイティブバイナリ不明)、Windows特有の罠(irmをCMDで等のシェル取り違え・端末再起動・古いClaude DesktopのWindowsApps Claude.exe衝突・Git BashのCLAUDE_CODE_GIT_BASH_PATH)、自動更新と更新系(claude update/claude install/claude doctorで成否確認/DISABLE_AUTOUPDATER・DISABLE_UPDATES)、切り分けワークフロー(claude doctor→which -a→PATH追加→余計な版を削除→ネイティブ入れ直し)までを、公式情報に基づいて整理する。

Claude Codeのネットワーク・プロキシ・TLS証明書エラー(Unable to connect)の原因と対処

Claude Codeのネットワーク・プロキシ・TLS証明書エラー(Unable to connect)の原因と対処

会社のPCやVPN越しでClaude Codeが「Unable to connect to API」「Unable to connect to API (ECONNREFUSED)」「SSL certificate verification failed」「fetch failed」で繋がらない——これらはリクエストがAnthropicのサーバ(api.anthropic.com)まで届いていないネットワーク系エラーで、認証(401/403)・サーバ過負荷(529/500)・レート制限(429)とは別物だ。本記事では、企業ネットワークで詰まる3層(プロキシ未設定・TLS検査による証明書差し替え・ファイアウォールのドメイン遮断)とDNS/VPN/Docker、プロキシ設定(HTTPS_PROXY/HTTP_PROXY/NO_PROXY、認証付きプロキシ、SOCKS非対応、NTLM/KerberosはLLMゲートウェイ+ANTHROPIC_BASE_URL、MCPサーバは各envに明示)、TLSと社内CA証明書(近年は同梱CA+OSトラストストアの両方を信頼しOSストアにあれば設定不要、無ければNODE_EXTRA_CA_CERTSにPEMを指定、mTLSはCLAUDE_CODE_CLIENT_CERT/KEY、インストール時はcurl --cacert)、絶対にやってはいけないNODE_TLS_REJECT_UNAUTHORIZED=0(全通信が中間者攻撃に晒される)、ファイアウォールの許可ドメイン(api.anthropic.com/claude.ai/platform.claude.com/downloads.claude.ai/raw.githubusercontent.com、statsig/sentryは任意)、切り分けワークフロー(curl -I https://api.anthropic.comで到達確認→/doctorとプロキシ確認→証明書/プロキシ設定→直接接続で確定→DNS/VPN/Docker)、認証・サーバ・レートとの区別までを、公式情報に基づいて整理する。

Claude Codeの「529 Overloaded」「500」サーバーエラーの原因と対処

Claude Codeの「529 Overloaded」「500」サーバーエラーの原因と対処

Claude Codeで突然「API Error: 529 {"type":"overloaded_error","message":"Overloaded"}」や「500 Internal server error」が出て止まった——これらはサーバー側の一時的な事象で、あなたのリクエストや設定のミスでも使用量の枠切れでもない。本記事では、529 Overloaded(Anthropic側のAPIが一時的に過負荷=全ユーザー共通の混雑)と500(サーバー内部の予期しないエラー、関連で504 timeout_error。502/503は上流インフラ由来が多い)の意味、いずれもあなたの使用量の枠を消費しないこと、Claude Codeが表示前に最大10回・指数バックオフで自動リトライしている仕組み(Retrying in Ns・attempt x/y、CLAUDE_CODE_MAX_RETRIES既定10・API_TIMEOUT_MS既定10分)、ユーザー側の対処(少し待って再試行・/modelでモデル切替=容量はモデル別なのでOpusが混んでもSonnetなら通る・status.claude.com確認・500継続ならrequest_idを添えて/feedback)、紛らわしいエラーとの区別(529/500=サーバー側で枠不消費/429=あなたのレート制限でretry-after付き・枠消費/usage limit=プラン枠/400=リクエストの不備)、開発者向け(SDKの型付き例外と自動リトライ・指数バックオフ+ジッター・retry-afterは429のみ・--fallback-model・Priority Tier/Batch)、一時的スパイクか継続インシデントかの見分けまでを、公式情報に基づいて整理する。