Хватит пи-агента
Я боюсь сложных вещей. Когда я прочитал что Opencode использует React для рендера TUI в консоли - мне стало страшно. Я не считаю себя минималистом, но к простоте стремлюсь.
И когда я читал - всякие там субагенты, инструменты, mcp - мне казалось страшным и сложным. И подвернулся мне, сначала, minimal-agent. А потом я попробовал pi-agent.
tldr; По-мере накопления опыта работы с пи-агентом, я поставил на него расширения, что превращают его в claudecode/opencode. Только более багованный (субагенты, например, постоянно теряли git worktree где находились).
Но есть и позитивный опыт. Адаптируясь постепенно, пробуя разные расширения, экспериментируя - получает опыт и чуть более глубокое понимание работы с агентами.
Осталось понять - а это чуть более глубокое понимание работы надо вообще?
Всё не так и просто
Пи-агент подкупил меня простотой. Продаёт он себя офигенно. Марио, создатель пи-агента пишет про то, что mcp не нужны - достаточно скриптов с утилитами. Субагенты тоже не нужны - используйте tmux + pi (на самом деле, так никто не делает).
Немного попользовавшись в обозначенном Марио ключе, я быстро понял что так жить нельзя таки начал агрессивно расширять агента. Писать для него скиллы, скрипты. Адаптировать системный промпт под конкретную модель (pi-qwen). Идею про то, что пусть агент сам пишет расширения для себя1 я прочёл благодаря тому, что читал блоги авторов пи-агента.
Кажется, я прочёл об этой идее тут. Там ещё mcporter упомянут. Тоже его использую с пи-агентом. Но там блог автора в целом достоин ознакомления.
Однако, с этой расширяемостью есть и другая проблема - я устал. Расширение для субагентов постоянно теряет git worktree. Не знаю почему, но разбираться, если честно, лень.
То что у пи-агента минималистичный tui-рендер - да пофиг. Мне не нравится идея TUI в целом. Любители юникс-вея - делайте пайпы из команды и сохраняйте их как скрипты, а не скачите по псевдосимвольным интерфейсам при помощи hjkl и команд. Правда это тоже отстой.
grep который недоступен
Пи-агент поставляется с двумя бинарниками - fd и rg. Удобно. Только они недоступны по-умолчанию. Есть пара инструментов - grep и второй для просмотра директорий (каюсь, забыл как называется, а искать название пока пишу заметку лень), и оба они недоступны для моделей по-умолчанию. Почему? Хз. На реддите кто-то писал, что написал расширение для пи, которое их включает.
расширение на каждый чих
На удивление, Пи-агент не так уж удобен для расширения. Например, если хочешь как-то условно (по-условию) изменить системный промпт - пиши расширение. Не декларативненько. В итоге ты пишешь расширения, которые взаимодействуют с другими расширениями, делаешь форки других расширений чтобы изменить в них что-то (например, чтобы писались логи субагентов). С одной стороны - это своеобразный pi-way. С другой, по-примеру совета запускать субагентов через tmux (я пробовал, это дичь) видно, что это не продуманный концептуализм и минимализм, а ответ на отъ***сь.
В заключение
Играя с пи-агентом я получил опыт что да как в этом мире агентской разработки. Есть возможность пробовать разные подходы к субагентам, разные расширения для задач. И главное - можно избежать шока сложности и новизны, с которым сегодня сталкиваются многие разработчики впервые запускающие агентов.