Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.5Миграция на Claude 4.5Устаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIКонтекстные окнаЛучшие практики промптинга
    Возможности
    Кэширование промптовРедактирование контекстаРасширенное мышлениеУсилиеПотоковая передача сообщенийПакетная обработкаЦитированияМногоязычная поддержкаПодсчет токеновEmbeddingsЗрениеПоддержка PDFFiles APIРезультаты поискаСтруктурированные выходные данныеДополнение Google Sheets
    Инструменты
    ОбзорКак реализовать использование инструментовЭффективное использование инструментов по токенамПотоковая передача инструментов с детализациейИнструмент BashИнструмент выполнения кодаПрограммное вызывание инструментовИнструмент компьютерного управленияИнструмент текстового редактораИнструмент веб-выборкиИнструмент веб-поискаИнструмент памятиИнструмент поиска инструментов
    Навыки агента
    ОбзорБыстрый стартЛучшие практикиИспользование навыков с API
    Agent SDK
    ОбзорTypeScript SDKPython SDKРуководство по миграции
    Руководства
    Потоковый вводОбработка разрешенийУправление сеансомСтруктурированные выходные данные в SDKРазмещение Agent SDKИзменение системных промптовMCP в SDKПользовательские инструментыПодагенты в SDKКосые команды в SDKНавыки агента в SDKОтслеживание затрат и использованияСписки задачПлагины в SDK
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на платформах третьих сторон
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговый промптинг)Дайте Claude подумать (CoT)Используйте XML тегиДайте Claude роль (системные промпты)Предзаполните ответ ClaudeЦепочка сложных промптовСоветы по длинному контекстуСоветы по расширенному мышлению
    Тестирование и оценка
    Определение критериев успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Усиление защиты
    Снижение галлюцинацийУвеличение согласованности выходных данныхСмягчение взломовПотоковые отказыСнижение утечки промптовДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIAPI использования и затратClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

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

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    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

    Learn

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

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Инструменты

    Инструмент Bash

    Инструмент bash позволяет Claude выполнять команды оболочки в постоянной сессии bash, обеспечивая системные операции, выполнение скриптов и автоматизацию командной строки.

    Инструмент bash позволяет Claude выполнять команды оболочки в постоянной сессии bash, обеспечивая системные операции, выполнение скриптов и автоматизацию командной строки.

    Обзор

    Инструмент bash предоставляет Claude:

    • Постоянную сессию bash, которая сохраняет состояние
    • Возможность запускать любую команду оболочки
    • Доступ к переменным окружения и рабочему каталогу
    • Возможности цепочки команд и написания скриптов

    Совместимость моделей

    МодельВерсия инструмента
    Claude 4 модели и Sonnet 3.7 (устарело)bash_20250124

    Старые версии инструмента не гарантируют обратную совместимость с новыми моделями. Всегда используйте версию инструмента, которая соответствует версии вашей модели.

    Варианты использования

    • Рабочие процессы разработки: Запуск команд сборки, тестов и инструментов разработки
    • Автоматизация системы: Выполнение скриптов, управление файлами, автоматизация задач
    • Обработка данных: Обработка файлов, запуск скриптов анализа, управление наборами данных
    • Настройка окружения: Установка пакетов, настройка окружения

    Быстрый старт

    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."}
        ]
    )

    Как это работает

    Инструмент bash поддерживает постоянную сессию:

    1. Claude определяет, какую команду запустить
    2. Вы выполняете команду в оболочке bash
    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

      Создайте постоянную сессию bash, с которой Claude может взаимодействовать:

      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
    • Обработка ошибок
    • Следуйте лучшим практикам реализации
    • Безопасность
    • Ключевые рекомендации
    • Цены
    • Распространенные шаблоны
    • Рабочие процессы разработки
    • Операции с файлами
    • Системные задачи
    • Ограничения
    • Комбинирование с другими инструментами
    • Следующие шаги