---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/how-tools-work.md
  - https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/how-tools-work.md
title: Как работают инструменты в SourceCraft Code Assistant
description: 'Обзор инструментов SourceCraft Code Assistant для взаимодействия с кодом и окружением: чтение, редактирование, выполнение команд и поиск.'
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


# Как работают инструменты в SourceCraft Code Assistant

<!-- source: ru/_includes/code-assistant/only-in-vscode.md -->
{% note warning %}

Функциональность доступна только в Visual Studio Code.

{% endnote %}
<!-- endsource: ru/_includes/code-assistant/only-in-vscode.md -->

Для взаимодействия с вашим кодом и окружением Code Assistant использует определенный набор инструментов. Это специализированные модули, которые выполняют конкретные действия, такие как чтение файлов, внесение изменений, выполнение команд или поиск по коду. Инструменты обеспечивают автоматизацию для распространенных задач разработки без необходимости ручного выполнения.

## Работа с инструментами {#how-tools-work}

В интерфейсе чата опишите естественным языком, что нужно сделать, и Code Assistant выполнит следующие шаги:
1. Выберет подходящий инструмент на основе вашего запроса.
1. Предоставит инструмент с его параметрами для вашего рассмотрения.
1. Выполнит одобренный инструмент и покажет вам результаты.
1. Продолжит этот процесс до завершения вашей задачи.

## Справочник инструментов {#tool-reference}

| Название инструмента | Описание | Категория |
| --- | --- | --- |
| `read_file` | Читает содержимое файла с номерами строк | Чтение |
| `search_files` | Ищет текст или шаблоны regex в файлах | Чтение |
| `list_files` | Получает список файлов и директорий в указанном месте | Чтение |
| `list_code_definition_names` | Получает список определений кода, таких как классы и функции | Чтение |
| `write_to_file` | Создает новые файлы или перезаписывает существующие | Редактирование |
| `apply_diff` | Вносит точечные изменения в определенные части файла | Редактирование |
| `execute_command` | Выполняет команды в терминале VS Code | Выполнение |
| `browser_action` | Выполняет действия в браузере | Браузер |
| `ask_followup_question` | Задает уточняющий вопрос | Рабочий процесс |
| `attempt_completion` | Указывает, что задача завершена | Рабочий процесс |
| `switch_mode` | Переключается на другой режим работы | Рабочий процесс |
| `new_task` | Создает новую подзадачу с определенным стартовым режимом | Рабочий процесс |

## Пример использования инструментов {#example-usage}

Вот как работает типичное взаимодействие с инструментом:

1. Пользователь пишет в чат: `Создай файл с именем greeting.js, который выводит приветственное сообщение.`
1. Code Assistant предлагает использовать инструмент `write_to_file`.

    ```xml
    <write_to_file>
    <path>greeting.js</path>
    <content>
    function greet(name) {
      console.log(`Hello, ${name}!`);
    }

    greet('World');
    </content>
    <line_count>5</line_count>
    </write_to_file>
    ```

1. Пользователь нажимает **Save** в интерфейсе чата.
1. Code Assistant подтверждает создание файла.

## Безопасность инструментов и одобрение {#tool-safety-and-approval}

Каждое использование инструмента требует вашего явного одобрения. Когда Code Assistant предлагает инструмент, появляются следующие элементы управления:
* **Approve** для одобрения выполнения действия.
* **Reject** для отказа от предложенного действия.
* (опционально) **Auto-approve** для [автоматического одобрения](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/auto-approving-actions.md) действий.

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