Loading...
    • 開發者指南
    • API 參考
    • MCP
    • 資源
    • 發行說明
    Search...
    ⌘K

    第一步

    Claude 介紹快速入門

    模型與定價

    模型概覽選擇模型Claude 4.5 的新功能遷移到 Claude 4.5模型棄用定價

    使用 Claude 建構

    功能概覽使用 Messages API上下文視窗提示詞最佳實踐

    功能

    提示詞快取上下文編輯延伸思考串流訊息批次處理引用多語言支援Token 計數嵌入向量視覺PDF 支援Files API搜尋結果Google Sheets 附加元件

    工具

    概述如何實現工具使用代幣高效工具使用細粒度工具串流Bash 工具代碼執行工具電腦使用工具文字編輯工具網頁擷取工具網路搜尋工具記憶工具

    代理技能

    概述在 API 中開始使用 Agent Skills技能編寫最佳實踐使用 Agent Skills 與 API

    Agent SDK

    概述Agent SDK 參考 - TypeScriptPython SDK

    指南

    串流輸入處理權限會話管理託管 Agent SDK修改系統提示SDK 中的 MCP自訂工具SDK 中的子代理SDK 中的斜線命令SDK 中的代理技能追蹤成本和使用量待辦事項清單SDK 中的外掛程式

    API 中的 MCP

    MCP 連接器遠端 MCP 伺服器

    Claude 在第三方平台上

    Amazon BedrockVertex AI

    提示工程

    概述提示詞生成器使用提示模板提示詞改進器保持清晰和直接使用範例(多樣提示)讓 Claude 思考(思維鏈)使用 XML 標籤給 Claude 分配角色(系統提示詞)預填 Claude 的回應串接複雜提示長文本技巧延伸思考技巧

    測試與評估

    定義成功標準開發測試案例使用評估工具降低延遲

    加強防護措施

    減少幻覺提高輸出一致性防範越獄handle-streaming-refusals減少提示詞洩漏保持 Claude 的角色特性

    管理和監控

    Admin API 概述使用量和成本 APIClaude Code 分析 API
    Console
    工具

    Bash 工具

    Bash 工具使 Claude 能夠在持久的 bash 會話中執行 shell 命令,允許系統操作、腳本執行和命令行自動化。

    Bash 工具使 Claude 能夠在持久的 bash 會話中執行 shell 命令,允許系統操作、腳本執行和命令行自動化。

    概述

    Bash 工具為 Claude 提供:

    • 維持狀態的持久 bash 會話
    • 運行任何 shell 命令的能力
    • 訪問環境變數和工作目錄
    • 命令鏈接和腳本編寫功能

    模型相容性

    模型工具版本
    Claude 4 模型和 Sonnet 3.7 (已棄用)bash_20250124

    舊版工具版本不保證與較新模型向後相容。始終使用與您的模型版本相對應的工具版本。

    使用案例

    • 開發工作流程:運行構建命令、測試和開發工具
    • 系統自動化:執行腳本、管理文件、自動化任務
    • 數據處理:處理文件、運行分析腳本、管理數據集
    • 環境設置:安裝軟件包、配置環境

    快速開始

    Python
    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        tools=[
            {
                "type": "bash_20250124",
                "name": "bash"
            }
        ],
        messages=[
            {"role": "user", "content": "List all Python files in the current directory."}
        ]
    )
    Shell
    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 1024,
        "tools": [
          {
            "type": "bash_20250124",
            "name": "bash"
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "List all Python files in the current directory."
          }
        ]
      }'

    工作原理

    Bash 工具維持一個持久會話:

    1. Claude 確定要運行的命令
    2. 您在 bash shell 中執行命令
    3. 將輸出(stdout 和 stderr)返回給 Claude
    4. 會話狀態在命令之間保持(環境變數、工作目錄)

    參數

    參數必需描述
    command是*要運行的 bash 命令
    restart否設置為 true 以重新啟動 bash 會話

    *除非使用 restart,否則為必需

    示例:多步驟自動化

    Claude 可以鏈接命令以完成複雜任務:

    # 用戶請求
    "Install the requests library and create a simple Python script that fetches a joke from an API, then run it."
    
    # Claude 的工具使用:
    # 1. 安裝軟件包
    {"command": "pip install requests"}
    
    # 2. 創建腳本
    {"command": "cat > fetch_joke.py << 'EOF'\nimport requests\nresponse = requests.get('https://official-joke-api.appspot.com/random_joke')\njoke = response.json()\nprint(f\"Setup: {joke['setup']}\")\nprint(f\"Punchline: {joke['punchline']}\")\nEOF"}
    
    # 3. 運行腳本
    {"command": "python fetch_joke.py"}

    會話在命令之間維持狀態,因此在步驟 2 中創建的文件在步驟 3 中可用。


    實現 bash 工具

    Bash 工具實現為無模式工具。使用此工具時,您不需要像其他工具那樣提供輸入模式;該模式內置於 Claude 的模型中,無法修改。

    1. 1

      設置 bash 環境

      創建一個 Claude 可以交互的持久 bash 會話:

      import subprocess
      import threading
      import queue
      
      class BashSession:
          def __init__(self):
              self.process = subprocess.Popen(
                  ['/bin/bash'],
                  stdin=subprocess.PIPE,
                  stdout=subprocess.PIPE,
                  stderr=subprocess.PIPE,
                  text=True,
                  bufsize=0
              )
              self.output_queue = queue.Queue()
              self.error_queue = queue.Queue()
              self._start_readers()
    2. 2

      處理命令執行

      創建一個函數來執行命令並捕獲輸出:

      def execute_command(self, command):
          # 將命令發送到 bash
          self.process.stdin.write(command + '\n')
          self.process.stdin.flush()
          
          # 使用超時捕獲輸出
          output = self._read_output(timeout=10)
          return output
    3. 3

      處理 Claude 的工具調用

      從 Claude 的響應中提取並執行命令:

      for content in response.content:
          if content.type == "tool_use" and content.name == "bash":
              if content.input.get("restart"):
                  bash_session.restart()
                  result = "Bash session restarted"
              else:
                  command = content.input.get("command")
                  result = bash_session.execute_command(command)
              
              # 將結果返回給 Claude
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      實現安全措施

      添加驗證和限制:

      def validate_command(command):
          # 阻止危險命令
          dangerous_patterns = ['rm -rf /', 'format', ':(){:|:&};:']
          for pattern in dangerous_patterns:
              if pattern in command:
                  return False, f"Command contains dangerous pattern: {pattern}"
          
          # 根據需要添加更多驗證
          return True, None

    處理錯誤

    實現 bash 工具時,處理各種錯誤場景:

    遵循實現最佳實踐

    安全性

    Bash 工具提供直接系統訪問。實現這些必要的安全措施:

    • 在隔離環境中運行(Docker/VM)
    • 實現命令過濾和允許列表
    • 設置資源限制(CPU、內存、磁盤)
    • 記錄所有執行的命令

    關鍵建議

    • 使用 ulimit 設置資源約束
    • 過濾危險命令(sudo、rm -rf 等)
    • 以最小用戶權限運行
    • 監控和記錄所有命令執行

    定價

    The bash tool adds 245 input tokens to your API calls.

    Additional tokens are consumed by:

    • Command outputs (stdout/stderr)
    • Error messages
    • Large file contents

    有關完整定價詳情,請參閱工具使用定價。

    常見模式

    開發工作流程

    • 運行測試:pytest && coverage report
    • 構建項目:npm install && npm run build
    • Git 操作:git status && git add . && git commit -m "message"

    文件操作

    • 處理數據:wc -l *.csv && ls -lh *.csv
    • 搜索文件:find . -name "*.py" | xargs grep "pattern"
    • 創建備份:tar -czf backup.tar.gz ./data

    系統任務

    • 檢查資源:df -h && free -m
    • 進程管理:ps aux | grep python
    • 環境設置:export PATH=$PATH:/new/path && echo $PATH

    限制

    • 無交互式命令:無法處理 vim、less 或密碼提示
    • 無 GUI 應用程序:僅命令行
    • 會話範圍:在對話中持續,在 API 調用之間丟失
    • 輸出限制:大型輸出可能被截斷
    • 無流式傳輸:完成後返回結果

    與其他工具結合

    Bash 工具與文本編輯器和其他工具結合時最為強大。

    後續步驟

    工具使用概述

    了解 Claude 的工具使用

    文本編輯器工具

    使用 Claude 查看和編輯文本文件

    • 實現 bash 工具
    © 2025 ANTHROPIC PBC

    Products

    • Claude
    • Claude Code
    • Max plan
    • Team plan
    • Enterprise plan
    • Download app
    • Pricing
    • Log in

    Features

    • Claude and Slack
    • Claude in Excel

    Models

    • Opus
    • Sonnet
    • Haiku

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Claude Developer Platform

    • Overview
    • Developer docs
    • Pricing
    • Amazon Bedrock
    • Google Cloud’s Vertex AI
    • Console login

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Help and security

    • Availability
    • Status
    • Support center

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy

    Products

    • Claude
    • Claude Code
    • Max plan
    • Team plan
    • Enterprise plan
    • Download app
    • Pricing
    • Log in

    Features

    • Claude and Slack
    • Claude in Excel

    Models

    • Opus
    • Sonnet
    • Haiku

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Claude Developer Platform

    • Overview
    • Developer docs
    • Pricing
    • Amazon Bedrock
    • Google Cloud’s Vertex AI
    • Console login

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Help and security

    • Availability
    • Status
    • Support center

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    © 2025 ANTHROPIC PBC