Pi Coding Agent: как установить терминального агента и выполнить первую задачу
Pi представляет собой минимальный терминальный интерфейс для работы с моделями над кодом. Он оставляет пользователю больше контроля над настройкой, но требует понимать провайдера, текущую папку и разрешенные инструменты. Первую задачу лучше выполнять в отдельном учебном репозитории.
Проверьте требования и источник
Откройте официальную документацию Pi и выберите поддерживаемый способ установки. Один из вариантов использует npm-пакет @earendil-works/pi-coding-agent; для macOS и Linux также может быть доступен установочный скрипт.
Перед запуском команды проверьте имя пакета и издателя в актуальной документации. Не устанавливайте одноименный пакет из случайного результата поиска.
После установки выполните команду версии или справки, указанную в документации. Если оболочка не видит Pi, перезапустите терминал и проверьте путь к глобальным исполняемым файлам.
Подключите модель
Pi может работать с разными провайдерами. Выберите один, настройте авторизацию рекомендуемым способом и проверьте текущую модель. Секрет не должен находиться в файле проекта или истории чата.
Если используете API с оплатой по запросам, установите лимит расходов. Для локального провайдера заранее запустите его сервер и убедитесь, что модель отвечает отдельно от Pi.
Создайте тестовый репозиторий
Подготовьте маленький проект с файлом calculator.js и несколькими проверками. Функция деления пусть возвращает Infinity при нуле. Запустите проверки и сохраните исходное состояние в Git.
Откройте терминал в этой папке. Не запускайте агента из домашнего каталога и не давайте ему доступ ко всем рабочим проектам.
Начните с инструментов только для чтения
По умолчанию Pi получает инструменты чтения, записи, редактирования и запуска shell-команд. Встроенной песочницы и обязательных окон подтверждения у него нет. Для первого анализа безопаснее запустить отдельную сессию с allowlist: pi --tools read,grep,find,ls.
Дайте read-only запрос:
Прочитай calculator.js и тесты. Ничего не меняй и не выполняй. Объясни текущее поведение деления на ноль и предложи минимальный план: выбрасывать понятную ошибку и добавить две проверки.
Сверьте план с исходным кодом. Для этой задачи не нужна новая библиотека или перестройка модуля. Завершите сессию чтения и только после этого запустите обычную сессию для согласованной правки.
Выполните одно изменение
После согласования дайте узкое разрешение:
Измени только функцию divide и связанные тесты. При нуле выбрасывай Error с текстом «Division by zero». Сохрани публичные имена остальных функций. Запусти существующую команду тестов и покажи diff.
Pi не показывает обязательное подтверждение перед каждым действием. Поэтому область нужно ограничивать самим проектом, а доступные инструменты выбирать до запуска. Установка пакета, сетевой запрос и удаление файла не относятся к этой задаче.
Проверьте без участия агента
В другом терминале выполните git diff и тесты. Добавьте ручную проверку для -0, потому что в JavaScript это отдельное числовое значение, сравнимое с нулем. Убедитесь, что обычное деление по-прежнему работает.
Если Pi изменил форматирование всего файла, верните несвязанные строки. Цель первого коммита состоит в двух небольших изменениях: поведении функции и проверках.
Что Pi не решает автоматически
Терминальный агент не определяет правильную архитектуру, не подтверждает безопасность и не принимает продуктовые решения. Его ответ зависит от модели, контекста и доступных инструментов. Поэтому полезнее оценивать не красоту объяснения, а повторяемый рабочий цикл.
Этот цикл продолжается в более крупных проектах в ИИ-лаборатории Глеба Кудрявцева: Git, постановка задачи, проверка функции, база, сервер и деплой. Курс использует Codex, а не Pi, поэтому ссылка относится к общему способу разработки.
Первую сессию Pi можно считать успешной, когда установлен проверенный пакет, подключена понятная модель, агент работал в одной папке, а изменение подтверждено независимыми тестами и отдельным коммитом.