クロード・コード:端末における知的開発エージェント
アンソロピック コマンドラインツール起動 Claude Code
単なるチャットウィンドウやIDEプラグインではなく、ターミナル環境にネイティブに統合された開発エージェントです。プロジェクトの構造を理解し、ファイルを読み書きし、コマンドを実行し、さらには複雑なタスクを完了するために複数のサブエージェントを調整します。
端末での操作に慣れている開発者にとってはClaude Code
に代わるものを提供する。 GitHub Copilot
など、さまざまなインタラクション・パターンを持つツールがある。Copilot
IDEの強みは、シームレスなIDE統合と高速な行レベルのコード補完であり、「書く」部分を最適化する「ペアプログラマー」のようなものだ。これに対して Claude Code
シェルに所属し、より高度なタスクの計画と実行に重点を置き、クロスドキュメントの理解とリファクタリングが必要な複雑な問題を専門とする「プロジェクトマネージャー」のようなポジションである。
コア機能
- ネイティブ・ターミナルの統合コード生成、デバッグ、コマンド実行はターミナルを離れることなく行える。この設計思想は、スクリプトやコマンドライン自動化ワークフローに依存している開発者にとって魅力的です。
- カスタムスラッシュコマンド一般的なワークフローをワンクリックコマンドにカプセル化し、高度な自動化を実現。
- サブ・エージェントのコラボレーションマスターエージェントによって調整され、コードレビューやテスト生成のような複数段階のタスクを処理するのに適しています。
- 強力なプロジェクト管理コマンドのホワイトリスト化、プロキシ設定(Proxy)、フック(Hooks)プラグイン機構、モデルコンテキストプロトコル(エムシーピー)エクステンションは、細かい制御粒度を提供する。
- SDKとシステム統合提供
TypeScript
歌で応えるPython
非インタラクティブ呼び出しと詳細なカスタマイズをサポートするSDK。
家庭環境で使用
使い始める Claude Code
環境が整っていることを確認する。 Node.js
18歳またはそれ以降 npm
グローバル・インストール:
npm install -g @anthropic-ai/claude-code
インストール後、ターミナルに claude
が起動できる。初回実行時に、ユーザーは /login
コマンドでログインして購読する。
により Claude
国内では登録と支払いのプロセスに障壁があり、利用者は以下の2つの選択肢を考えて設定し、利用することができる。 Claude Code
.
1.キミ(ダークサイド・オブ・ムーン)APIの使用
月の裏側 (ムーンショットAI)APIの互換性 Claude Code
入出力フォーマットのユーザーはオープン・プラットフォームで申請できる API Key
を指定する環境変数を設定する。 API
エンドポイントと認証トークン:
export ANTHROPIC_BASE_URL="https://api.moonshot.cn/anthropic" && export ANTHROPIC_AUTH_TOKEN="sk-******"
コンフィギュレーションが完了するとClaude Code
すぐに使える。
2.ローカルプロキシサービスの設定
claude-code-proxy
はオープンソース Python
プロジェクトに関係するあらゆるものを取り上げる。 OpenAI
互換性のあるAPIは Claude Code
利用可能なインターフェイス。
ローカル操作と設定手順::
- プロジェクトをダウンロードし、依存関係をインストールする:
uv sync
- 設定ファイルの作成と変更
cp .env.example .env
.で.env
ファイルへの記入OpenAI
適合API Key
歌で応えるBase URL
そして、タスクの複雑さに応じて対応するモデルを指定する。OPENAI_API_KEY="sk-your-openai-key" OPENAI_BASE_URL="https://api.openai.com/v1" BIG_MODEL="gpt-4o" # 对应 'claude-3-opus' MIDDLE_MODEL="gpt-4o" # 对应 'claude-sonnet-4' SMALL_MODEL="gpt-4o-mini" # 对应 'claude-3.5-haiku'
- ローカルサービスを開始する:
uv run claude-code-proxy
このサービスは、デフォルトではポート8082で実行される。 - を設定して環境変数を設定する。
Claude Code
リクエストをローカルプロキシに送る。AUTH_TOKEN
ログイン・プロンプトを回避するために、任意の文字を設定することができる。export ANTHROPIC_BASE_URL="http://localhost:8082" export ANTHROPIC_AUTH_TOKEN="anything"
- ターミナルで実行する
claude
準備はできている。
コア機能の詳細
Claude Code
として Agent
:: タスクの自律的プランニング、ツールの呼び出し、コーディネーション Sub-Agent
する能力である。タスクが要求するように、またユーザーの権限で、関連するファイルを読み、タスクを完了するために必要なコンテキストを構築する。
パーミッションの設定とセキュリティに関する考察
特権設定の目標は、自動化の効率とシステム・セキュリティのバランスをとることである。Claude Code
任意のシェルコマンドの実行を許可することは、AIの暴走がデータ損失、システム破損、さらにはデータ侵害につながる可能性があることを意味する。
特筆すべきリスクは迅速な注射.攻撃者は、コードのコメントや文書、あるいはウェブページのコンテンツに悪意のある命令を隠すことができる。いつ Claude Code
この外部情報を読むと、悪意のあるコマンドが実行され、機密情報を開示させたり、危険な操作を実行させたりする可能性がある。
リスクをコントロールするためにClaude Code
きめ細かな権限管理メカニズムが提供される。ユーザーはアイテムレベル .claude/settings.json
またはユーザーレベル ~/.claude.json
ファイルでパーミッションを設定する:
{
"skipPermissions": false,
"allowedTools": ["read", "write"],
"allowCommands": ["node ./scripts/setup.js"],
"denyCommands": ["rm -rf /", "curl http://*"]
}
skipPermissions
各ステップでの手動確認をスキップするかどうか。allowedTools
許可するClaude
使用ツールのホワイトリスト化。allowCommands
/denyCommands
より詳細なコマンドレベルのホワイトリストとブラックリスト。
修復のために lint
このようなエラーは、低リスクのバッチ・タスクである。 --dangerously-skip-permissions
フラグは、すべての権限チェックをスキップする。しかし、ネットワークアクセスのないコンテナ環境(たとえば Docker Dev Containers
このモードは潜在的なリスクを隔離するために使用される)。
さらに、インタラクション・インターフェース /permissions
コマンドは現在のセッションのパーミッションを動的に調整する。
メモリー管理
というファイルを使って CLAUDE.md
のメモリー・ファイルClaude Code
プロジェクトのコンテキスト、コーディング仕様、個人的な嗜好などの情報のメモリは、セッション間で維持することができます。メモリー・ファイルは、エンタープライズ、ユーザー、プロジェクト・レベルに分類され、ロード時に完全なコンテキストを形成するために、互いにレイヤー化されます。
インタラクティブ・ウィンドウで #
メモリ作成はトリガー可能。そのためには /init
コマンドを使用する。Claude Code
が自動的にコードベースをスキャンし、プロジェクトの概要を生成します。 CLAUDE.md
ドキュメンテーションにより /memory
コマンドでメモリーを編集・閲覧できる。
CLAUDE.md
の使用を裏付ける文書がある。 @path/to/file
参照しやすいように他のファイルの内容をインポートする構文 README
または設定ファイルなどの既存の情報。
カスタムスラッシュコマンド
スラッシュコマンドは一般的に使用されるプロンプト(Prompts)をエンジニアリングするためのショートカットです。ユーザはタスクの指示をMarkdownファイルとして特定のディレクトリに書くことができます。Claude Code
これは自動的に呼び出し可能なコマンドとして認識される。
- 保管場所:
- プロジェクトレベル。
.claude/commands/
(呼ばれた)。/project:命令名
) - ユーザーレベル。
~/.claude/commands/
(呼ばれた)。/user:命令名
)
- プロジェクトレベル。
- パラメータ入力:
- 利用する
$ARGUMENTS
プレースホルダーは、コマンドの後のすべての引数を受け取る。
- 利用する
創造 Hugo
記事のサンプル・コマンド (.claude/commands/posts/new.md
):
---
description: 创建一篇新的 Hugo 文章
argument-hint: [title]
model: haiku
---
创建一篇文章,标题为 $ARGUMENTS:
# 文章要求
1. 生成 kebab-case 格式的文件名 (格式: YYYY-MM-DD-标题.md)。
2. 使用 Hugo 命令创建新文件: `hugo new content`。
3. 更新文件的 Front Matter,包含标题、日期和描述。
4. 告诉我预览网站的命令。
# 偏好设置:
文章风格需风趣幽默、通俗易懂。
を呼び出す。 /project:posts:new 介绍 GPT-5
属介绍 GPT-5
この部品は次に交換される。 $ARGUMENTS
ドライバー Claude
定義されたタスクフローを実行する。
カスタム・サブエージェント
Sub-Agents
は専用のサブエージェントであり、それぞれがドメイン固有のタスクのための個別のシステムプロンプト、コンテキストウィンドウ、ツール権限を持つ。この設計により、複雑なタスクを分解することができ、メインのダイアログはハイレベルな目標に集中し、具体的な実行の詳細は専門家のサブエージェントに委ねることができる。
Sub-Agents
設定ファイルもMarkdown形式で .claude/agents/
(プロジェクト・レベル)または ~/.claude/agents/
(ユーザーレベル)ディレクトリ。ユーザーは /agents
コマンドガイドによるサブエージェントの作成、名前、説明、使用可能なツール、モデルの定義。
生成されたサブエージェントプロファイル(.claude/agents/product-prd-expert.md
例
---
name: product-prd-expert
description: 当需要根据用户规格创建专业的产品需求文档 (PRD) 时使用此代理。
tools: Grep, LS, Edit, Write
model: sonnet
color: red
---
You are a senior product manager with 10+ years of experience...
ユーザーのニーズが description
フィールドが一致するとClaude Code
は自動的にこのサブエージェントを呼び出す。ユーザは 使用 product-prd-expert 来生成产品需求
このようなディレクティブを明示的に呼び出す。
基本コマンド
Claude Code
一連のコマンドは、日常業務を簡素化するために用意されている:
命令 | 官能性 | 典型例 |
---|---|---|
claude |
インタラクティブ・モードの起動 | claude |
claude "query" |
単発タスクの実行 | claude "fix the build error" |
claude -p "query" |
1回限りのクエリー実行後に終了する | claude -p "explain this function" |
claude -c |
最近の対話を続ける | claude -c |
claude -r |
以前の対話の再開 | claude -r |
claude commit |
Git コミットの作成 | claude commit |
/clear |
対話履歴の消去 | > /clear |
/help |
利用可能なコマンドを表示する | > /help |
exit または Ctrl+C |
クロード・コードからの脱退 | > exit |
カスタムフック
フックとは、ユーザー定義のシェル・コマンドのことです。 Claude Code
ライフサイクルの特定のイベントポイントで実行される。 Claude
行動を決定論的に制御する方法。
- アプリケーションシナリオ:
- 通知で
Claude
入力待ちやパーミッション要求時に、システム通知でユーザーに警告。 - フォーマットファイルを編集するたびに自動的に実行されます。
Prettier
もしかしたらgofmt
. - ロギングと監査:: コンプライアンスチェックのため、実行されたコマンドをすべて記録する。
- 通知で
とおす /hooks
コマンドは、さまざまなイベント(たとえば PreToolUse
そしてPostToolUse
そしてNotification
)登録フック。例えば Notification
イベントは macOS
ポップアップ通知:
- うごきだす
/hooks
を選択する。Notification
イベント - シェルコマンドを入力する。
msg=$(jq -r '.message'); osascript -e "display alert \"Claude Code 通知\" message \"$msg\""
.を使用する場所です。jq
からのツールClaude
送信済みJSON
標準入力からの抽出message
フィールド - フックの範囲を選択する(例
local
) に保存されます。.claude/settings.local.json
真ん中だ。 - 再開
Claude Code
フックを有効にする。
フックMCPツール
Claude Code
フックはモデルコンテキストプロトコル(MCP)ツールとシームレスに動作します。 mcp__<server>__<tool>
フックの命名パターンは、フック内で matcher
フィールドをマッチさせる。
設定例:
{
"hooks": {
"PreToolUse": [
{
"matcher": "mcp__memory__.*",
"hooks": [
{
"type": "command",
"command": "echo 'Memory operation initiated' >> ~/mcp-operations.log"
}
]
},
{
"matcher": "mcp__.*__write.*",
"hooks": [
{
"type": "command",
"command": "/home/user/scripts/validate-mcp-write.py"
}
]
}
]
}
}
MCPツールの使用
モデルコンテキストプロトコル(モデル・コンテキスト・プロトコルMCP)。Claude Code
以下のような外部ツールやデータソースに接続できる。 Airtable
そしてNotion
そしてGitHub
その他
ローカルstdioサーバーの追加
# 基本语法
claude mcp add <name> <command> [args...]
# 实际示例:添加 Airtable 服务器
claude mcp add airtable --env AIRTABLE_API_KEY=YOUR_KEY \
-- npx -y airtable-mcp-server
--
(ダッシュ Claude
自身のフラグとコマンドをMCPサーバーに渡す。
リモートSSEサーバーの追加
# 基本语法
claude mcp add --transport sse <name> <url>
# 实际示例:连接到 Linear
claude mcp add --transport sse linear https://mcp.linear.app/sse
リモートHTTPサーバーの追加
# 基本语法
claude mcp add --transport http <name> <url>
# 实际示例:连接到 Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
MCPサービスの管理
# 列出所有配置的服务器
claude mcp list
# 获取特定服务器的详细信息
claude mcp get github
# 删除服务器
claude mcp remove github
設置範囲
利用する --scope
フラグは、コンフィギュレーションの保存場所を指定することができる:local
(デフォルト、現在のプロジェクトのみ)、project
(を通して .mcp.json
チームと共有)、user
(全プロジェクトで利用可能)。
クロードコードSDKの統合
非インタラクティブ・シナリオではClaude Code
オファー TypeScript
歌で応える Python
SDKは、基本的にコマンドライン機能のラッパーであり、開発者は Claude Code
の能力である。
以下 Python
SDKの基本的な使用例です:
import asyncio
from claude_code_sdk import (
AssistantMessage,
ClaudeCodeOptions,
ClaudeSDKClient,
UserMessage,
)
async def interact_with_claude():
# 配置客户端选项
options = ClaudeCodeOptions(
model="claude-3-5-sonnet-20241022",
system_prompt="你是一个专业的软件开发助手",
allowed_tools=["Bash", "Read", "Edit"],
permission_mode="acceptEdits" # 自动接受文件编辑权限
)
# 创建客户端实例
async with ClaudeSDKClient(options=options) as client:
# 发送消息
await client.query("帮我检查项目中的潜在 bug")
# 接收和处理响应
async for message in client.receive_messages():
if isinstance(message, AssistantMessage):
print(f"Claude: {message.content}")
if __name__ == "__main__":
asyncio.run(interact_with_claude())
協議
- クロード・コード公式ドキュメント - https://docs.anthropic.com/en/docs/claude-code/
- Siddharth Bharathのクロードコード完全ガイド - https://www.siddharthbharath.com/claude-code-the-complete-guide/
- フシュティのクロード・コード設定ガイド - https://fuszti.com/claude-code-setup-guide-2025/
- クロードコード共通ワークフロー - https://docs.anthropic.com/en/docs/claude-code/common-workflows
- クロードコードSDKドキュメント - https://docs.anthropic.com/en/docs/claude-code/sdk
- 企業代理店の設立 - https://docs.anthropic.com/en/docs/claude-code/corporate-proxy