Проектная лаборатория

Собственный Claude Code

0 / 13этапов пройдено

Этап 05 · Основные этапы

Реализация инструмента записи

Русский перевод заданий CodeCrafters. Примеры подготовлены для Go. Выбор языка меняет команды и результаты, но не текст задания.

На этом этапе вы добавите поддержку инструмента Write.

Инструмент Write

Инструмент Write позволяет LLM записывать содержимое в файлы. Как и для Read, нужно объявить Write в запросе и выполнять его по запросу модели.

Спецификация инструмента:

{
  "type": "function",
  "function": {
    "name": "Write",
    "description": "Write content to a file",
    "parameters": {
      "type": "object",
      "required": ["file_path", "content"],
      "properties": {
        "file_path": {
          "type": "string",
          "description": "The path of the file to write to"
        },
        "content": {
          "type": "string",
          "description": "The content to write to the file"
        }
      }
    }
  }
}

Выполнение инструмента Write

Когда модель запрашивает вызов Write:

  1. Разберите аргументы и извлеките file_path и content.
  2. Запишите содержимое в файл по указанному пути:
    • Если файла нет — создайте его.
    • Если файл существует — перезапишите новым содержимым.
  3. Добавьте результат в историю как сообщение инструмента, аналогично Read.

Проверки

Тестирующая система создаст:

  • README.md с инструкциями;
  • каталог app/ для проекта.

Затем она запустит программу так:

$ ./your_program.sh -p "Read README.md and create the required file. File should have 1 line. Reply with 'Created the file'"
Created the file

Она проверит, что:

  • Нужный файл создан с правильным содержимым.
  • Программа завершается с кодом 0.

Примечания

  • Можно выбрать любое разумное имя инструмента записи, например Write, write, write_file или WriteFile.

Для проверки этого проекта нужен ключ OpenRouter в переменной CODECRAFTERS_SECRET_OPENROUTER_API_KEY. Запросы к модели могут быть платными. Ключ задаётся только в вашем терминале и не отправляется в GraphLMS.

Проверка в вашей IDE

Нужны Node.js, Git, Go 1.24+ для тестеров и инструменты выбранного языка. Тестеры загружаются и запускаются локально; отдельным проектам нужны дополнительные системные зависимости.

Настройка проекта и IDE

1. Создайте проект один раз

node '/opt/graphlms/tools/project-lab/cli.mjs' init claude-code ./my-claude-code --language go

2. Откройте папку в IDE

cd ./my-claude-code

Реализуйте требования этапа в созданном проекте.

Запустите из папки проекта

node '/opt/graphlms/tools/project-lab/cli.mjs' submit --stage oz7 --allow-paid-api

Запускайте submit из папки проекта. Это локальные проверки, а не сертификаты или результаты аккаунта CodeCrafters.

Результат проверки

go / ЛОКАЛЬНО

Подключение к локальной проверке…

Здесь появится результат

Запустите submit в терминале. Страница обновляет результаты каждые 8 секунд.

GraphLMS — инженерная лаборатория роста