pi (pi.dev)
Что это
Заголовок раздела «Что это»pi — открытый (лицензия MIT) кодинг-агент, созданный Марио Цехнером (Mario Zechner, известным под ником badlogic, автором игрового движка libGDX). Первая версия вышла в 2025 году; сейчас проект развивается в компании Earendil, репозиторий переехал с badlogic/pi-mono на github.com/earendil-works/pi. Написан на TypeScript, работает в терминале: интерактивный TUI-интерфейс плюс режимы для скриптов и встраивания (вывод в JSON, RPC, SDK).
pi построен вокруг определённой философии. Большинство харнесов (agent harness) движутся в сторону «комбайна»: всё больше встроенных функций, всё длиннее системный промпт. pi идёт в обратную сторону: маленькое прозрачное ядро по принципу «примитивы вместо функций». В ядре только цикл агента, минимальный системный промпт и несколько базовых инструментов; всё остальное вы при необходимости добавляете сами через расширения. Это делает pi, пожалуй, лучшим инструментом для того, чтобы понять, как харнесы устроены изнутри: устройство агента здесь видно целиком, без слоёв «магии».
Ключевые возможности
Заголовок раздела «Ключевые возможности»Инструменты: минимальный набор
Заголовок раздела «Инструменты: минимальный набор»Встроенных инструментов всего несколько: чтение, запись и редактирование файлов плюс запуск shell-команд. Этого достаточно, ведь через shell агент может делать почти всё: искать по коду, запускать тесты, работать с git. Показательный факт: у pi один из самых коротких системных промптов среди заметных кодинг-агентов.
Расширяемость: скилы и расширения
Заголовок раздела «Расширяемость: скилы и расширения»Всё, чего нет в ядре, добавляется двумя механизмами:
- Скилы поддерживаются нативно: упакованные инструкции, которые агент подгружает по запросу задачи, не расходуя контекст впустую.
- Расширения (extensions) — модули на TypeScript, которые могут добавлять инструменты, команды, реакции на события и элементы интерфейса. В комплекте идут десятки примеров: субагенты, режим планирования, подтверждение действий, запуск по SSH, песочницы. Расширения и скилы распространяются пакетами.
Важно понимать: MCP, субагенты, режим планирования и система разрешений в ядро не встроены: это осознанное решение автора. Всё это реализуемо (и реализовано) как расширения, но по умолчанию их нет.
Память и контроль контекста
Заголовок раздела «Память и контроль контекста»- Роль памяти проекта играет стандартный
AGENTS.md; кроме того, файломSYSTEM.mdможно полностью заменить системный промпт, редкая для харнесов возможность. - Контекст под полным контролем пользователя: автоматическое сжатие истории с настраиваемой логикой, ветвящиеся сессии в виде дерева (можно откатиться к развилке и попробовать другой путь), смена модели посреди сессии командой
/model. Это практическое воплощение идей со страницы «Контекст-инжиниринг».
pi мультипровайдерный: поддерживается более полутора десятков провайдеров (Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, xAI, локальные модели через Ollama и llama.cpp), суммарно сотни моделей. Авторизоваться можно через /login для подписочных провайдеров или через API-ключи в переменных окружения (например, ANTHROPIC_API_KEY). Сам pi бесплатен; вы платите только провайдеру модели.
Сильные стороны и ограничения
Заголовок раздела «Сильные стороны и ограничения»Сильные стороны:
- Прозрачность: кодовая база маленькая, поведение агента полностью объяснимо, видно, что именно попадает в контекст и почему.
- Хакабельность: любое поведение можно изменить расширением на TypeScript, вплоть до замены системного промпта.
- Свобода выбора модели и мгновенное переключение между провайдерами.
- Дерево сессий и явное управление контекстом, удобные для экспериментов.
Ограничения:
- «Батарейки не в комплекте»: MCP, субагенты, подтверждение действий нужно подключать самому. Порог входа для нетехнического пользователя выше, чем у готовых харнесов.
- Нет встроенной системы разрешений и песочницы: по умолчанию агент делает с файлами и командами всё, что может ваш пользователь ОС. Автор прямо рекомендует запускать pi в контейнере для изоляции.
- Проект держится на небольшой команде; экосистема меньше, чем у крупных харнесов.
Кому подойдёт
Заголовок раздела «Кому подойдёт»- Инженерам, которым важно понимать и контролировать каждый слой инструмента, а не доверять «чёрному ящику».
- Тем, кто хочет глубоко разобраться, как устроены харнесы как класс: изучение pi заменяет чтение большой кодовой базы фирменного агента.
- Тем, кто собирает собственные агентные пайплайны: режимы RPC и SDK позволяют встроить pi в свои системы.
- Вряд ли подойдёт как первый агент менеджеру или аналитику: для старта удобнее готовые инструменты вроде Claude Code или Codex.
Как попробовать
Заголовок раздела «Как попробовать»Установка (любой из вариантов):
curl -fsSL https://pi.dev/install.sh | shnpm install -g --ignore-scripts @earendil-works/pi-coding-agentПервый запуск делается из папки проекта:
piАвторизуйтесь командой /login (для подписочных провайдеров) или заранее задайте API-ключ в переменной окружения. Дальше идёт обычный диалог с агентом; начните с просьбы описать структуру проекта.