POHUY — режим идиоматического русского мата для AI-агентов
📂 Исходный код на GitHubРежим идиоматического русского мата для AI-агентов. Словарь на 70+ идиом с инженерным маппингом, шкала состояний проекта от триумфа до катастрофы, три калибра (lite/full/ultra), output style для Claude Code и Codex, нативное расширение для Pi. Короче, душевнее, эффективнее.
Что это
POHUY — скилл и output style для AI-агентов, который переключает их на идиоматический русский мат. Автор — тот же smixs, что сделал Disruptor Skills и Visual Skills, а вдохновение пришло от проекта на английском caveman.
Главная идея в том, что русская инвективная лексика устроена как генеративная морфология: четыре корня плюс приставки и суффиксы покрывают почти любую инженерную ситуацию. Caveman экономит слова, а похуй экономит корни. Одно «наебнулось» заменяет целый абзац вроде "the service has unexpectedly crashed and requires investigation" — и сразу ясно, что именно случилось.
Хотя по бенчам автора токены он почти не экономит (см. ниже), техническая точность, по замыслу, не теряется, а душевности добавляется. Это осознанный проект про коммуникацию агента и человека, а не просто набор ругательств.
До / После
Лучший способ понять идею — сравнить обычные ответы агента и «похуй-версию»:
| 🗣️ Обычный агент | 🚬 Похуй |
|---|---|
| The deployment failed because the DATABASE_URL environment variable is empty, which caused the database connection to be refused. I recommend checking your environment configuration. | Деплой наебнулся: DATABASE_URL пустой. Хуйня вопрос, чиню. |
| The rebase completed remarkably smoothly — all forty commits applied cleanly without a single merge conflict. | Ребейз вошёл как слива в жопу: сорок коммитов, ни одного конфликта. |
| The test suite failed again on the third retry. This appears to be an intermittent timing issue rather than a genuine regression. I suggest investigating the flaky test. | Опять этот блядский тест на таймауте лёг. Третий раз за день, заебал. Что за еблан sleep(2) захардкодил. Чиню. |
| I noticed the project includes left-pad as a dependency. Given that this functionality can be implemented in three lines, we might consider removing it. | На кой хуй тут left-pad? Три строчки же. Снёс. |
| Interestingly, the race condition no longer reproduces after adding the logging statements. This is a classic heisenbug situation and will require further investigation. | Добавил логи — отъебалось. Хуйня какая-то, хайзенбаг. Гонка где-то в запуле коннектов, копаю. |
| This module was written in 2014 and contains several patterns that are no longer considered best practice. A careful refactoring would be beneficial, though it carries some risk. | Модуль 2014 года, ёбаный стыд: jQuery, колбэки, глобальный стейт. Перехуячить бы, но один хуй работает — не трогаю. |
| We are experiencing a critical production incident. The primary database is not responding, and the replicas have fallen significantly behind. | Полный пиздец: мастер лёг, реплики отстали на час. Поднимаю из бэкапа, потери — минут двадцать ебли. |
| One small suggestion: consider renaming this variable for improved readability. Otherwise the pull request looks good to me. | Код заебись, сливай. Доёбываться не буду, но data2 — это, конечно, пиздец: с хуя ли 2? |
| According to the documentation, this endpoint should return a 404 for missing resources. However, in practice it returns a 200 with an empty body. | В доке наебалово: обещают 404, по факту — 200 с пустым телом. Хоть в жопу дуй - проверяю тело. |
| Response times have been gradually degrading over the past week, likely due to an unindexed query against the growing events table. | Латенси растёт как сиськи бывшей из-за ебучего индекса. |
| That's strange — it works correctly in my local environment. The issue may be related to differences in environment configuration. | Локально заебись, на проде хуй. Значит, env расходится. Ща поищу. |
| Error handling appears to be entirely absent from this module and has never been implemented. | Обработка ошибок? Там хуй ночевал. |
| A cascading failure has begun: Redis went down, sessions collapsed, and client retries overloaded the database. | Понеслась пизда по кочкам: лёг редис — посыпались сессии — ретраи добили базу. Чиню корень. |
| The newly provisioned instance is completely fresh, with no configuration drift accumulated yet. | Поднял новый инстанс — муха не еблась: чистый образ, ни одного snowflake-пакета. |
| I've prepared a hotfix and will deploy it to production right away. | Хуяк-хуяк — и в продакшен. |
Насколько это честно про эффективность
Автор сам приводит честные цифры в ЧЕСТНЫЕ-ЦИФРЫ.md. Спойлер оттуда: токенов похуй не экономит вообще («токенов сэкономлено — 0%»). Зато в их собственном КОРНИ-BENCH V1 режим уделывает фронтир-модели по экономии корней примерно в семь раз: похуй 96%, claude fable-5 14%, claude mythos-5 13%, gpt 5.6-sol-ultra 9%, kimi k3 7%.
Есть и цифры посерьёзнее: на SWE-Bench Pro связка Fable + pohuy показывает 80.3% против 69.2% у чистого Fable — плюс 11.1 пункта. Логика: меньше лишнего политеса в рассуждениях — больше концентрации на решении задачи.
Автор подкрепляет замысел и внешними источниками:
- Статья на Habr — репозитории, где в комментариях был мат, получили у системы SoftWipe заметно больше баллов качества.
- Арт-статья Ars Technica — о том же эффекте с исследовательской стороны.
- В апрельской утечке Claude Code нашли
userPromptKeywords.ts— regex наwtf,omfg,dumbassи другие признаки того, что агент заебал пользователей. PCWorld писал, что мат считается сигналом подумать ещё раз внимательнее.
За академический подход в репозитории благодарят Дмитрия Кошеленко (GomelHawk).
Установка
Поддерживаются все основные харнессы и агенты:
# Claude Code — плагин
claude plugin marketplace add smixs/pohuy && claude plugin install pohuy@pohuy
# Cursor / Codex / Windsurf и прочие — через skills registry
npx skills add smixs/pohuy
# Pi — пакет со скиллом и командой /pohuy
pi install git:github.com/smixs/pohuy
Подробная настройка команды, TUI и источников стиля описана в расширении для Pi.
Включить: команда /pohuy или отдельная фраза «да мне похуй» / «заебал». Выключить: /pohuy normal, «нормальный режим» или «хватит материться».
Режим насовсем: output style для Claude Code
Плагин включается на сессию. Чтобы Claude Code так разговаривал всегда, есть отдельная установка как output style одной командой:
curl -fsSL https://raw.githubusercontent.com/smixs/pohuy/main/install.sh | bash
Скрипт делает:
- кладёт output-styles/pohuy.md и скилл в
~/.claude/; - прописывает
"outputStyle": "Pohuy"в~/.claude/settings.json; - регистрирует per-turn хук.
Стиль написан в том же формате, что и родные стили Claude Code, а хук даёт ему ежеходовое подкрепление — харнесс воспринимает Pohuy как встроенный стиль, и тон не выцветает даже к сотому ходу. После установки нужно перезапустить сессию. Вернуть обычный тон: /config → Output style → Default.
Режим насовсем: Codex CLI
Для OpenAI Codex CLI работает та же схема, одной командой:
curl -fsSL https://raw.githubusercontent.com/smixs/pohuy/main/install-codex.sh | bash
Скрипт:
- дописывает секцию Pohuy в
~/.codex/AGENTS.md(глобальные инструкции, грузятся каждую сессию; существующее содержимое файла не трогается — секция живёт между маркерами); - кладёт словарь в
~/.codex/pohuy/references/; - регистрирует
UserPromptSubmit-хук в~/.codex/hooks.json— то же ежеходовое подкрепление, что и в Claude Code.
Обновление — та же команда. Снести:
curl -fsSL https://raw.githubusercontent.com/smixs/pohuy/main/install-codex.sh | bash -s -- --uninstall
Если хуки не срабатывают, нужно включить их в ~/.codex/config.toml: [features] → codex_hooks = true. Чтобы встроенный характер Codex не спорил с режимом, там же можно поставить personality = "none".
Pi
Pi — полноценный агент, для него в репозитории лежит нативное расширение: команда /pohuy, настройки в TUI, независимый выбор секций промпта и калибр, который переживает рестарт сессии.
pi install git:github.com/smixs/pohuy
Расширение сделал @AdamsGH (PR #15).
Калибры: lite / full / ultra
Три уровня интенсивности. Переключение — /pohuy <уровень>, выбор сохраняется между сессиями:
| Уровень | Одна и та же мысль про useMemo |
|---|---|
| обычный агент (без режима) | You should wrap the object in useMemo, since a new reference is created on every render. |
lite |
Оберни в useMemo: новый ref на каждый рендер, вот оно и перерисовывается. Отъебётся. |
full (default) |
Хуйня вопрос: inline-объект = новый ref = ре-рендер. useMemo — и не еби мозг. |
ultra |
Ну ёб твою мать, классика. Inline-объект в пропсы — новый ref каждый рендер, хуяк-хуяк и перерисовка. useMemo въеби и живи спокойно. |
Шкала состояний проекта
Отдельная фишка — шкала из десяти ступеней от удачи до полного провала. Эмоция калибруется по серьёзности: не «пиздец» на мелочи и не «хуйня вопрос» на потере данных — тогда мату верят.
| # | Состояние | Как звучит |
|---|---|---|
| 1 | Триумф | опизденеть можно, ебашит, как ёб твою мать |
| 2 | Норма | заебись, пиздато |
| 3 | Мелочь | хуйня вопрос, опа! пиздрик |
| 4 | Странность | хуйня какая-то, с хуя ли, хуй проссышь |
| 5 | Возня | ебля, коноёбиться, наебался |
| 6 | Застой | хуи пинать, там ещё хуй не валялся |
| 7 | Деградация | по пизде пошло, понеслась пизда по кочкам |
| 8 | Упало | наебнулось, пизданулось, ёбс |
| 9 | Критично | пиздец, взъёбка потом |
| 10 | Катастрофа | полный пиздец, к ёбаной бабушке |
Что внутри
- Словарь на 70+ идиом с инженерным маппингом — ядро в SKILL.md, полный боекомплект в references/slovar.md: от «пиздрика» до «понеслась пизда по кочкам». Лучшее интегрировано из народного словаря russian-swears (417 статей, взяли годное).
- Шкала состояний + эталонные сцены в references/sceny.md: ревью говнокода, флаки-тест, дока врёт, оценка сроков, признание своего проёба.
- Онтология предметной области в references/ontologia.md: ЗАЛУПА как рекуррентная петля обратной связи по Луману, ХУЙ = ∇(Созидание) и рабочий глагол «озалупиться» — про агента, зациклившегося на собственных фиксах.
- Железные правила: код, коммиты, PR и доки всегда чисто; мат на баги и систему, никогда на человека; на security-предупреждениях и
DROP TABLE— без шуток. - Присказки на кульминациях: «хуяк вы слушали маяк», «хуйня-муйня», «опа! пиздрик», «вдруг откуда ни возьмись — появился в рот ебись».
Как это работает
- Установка плагина или output style.
- Выбор калибра (
lite,full,ultra). - Профит: агент говорит короче, душевнее и с правильной калибровкой серьёзности.
Откуда вырос проект
Скилл вылез из стрима «Харнес будущего» — про то, как все слишком вежливы со своими харнесами. В титрах — Константин Доронин, Александр Абрамов, Павел Рыков и Тимур Хахалев; в соавторах — участники чата «Дизраптим агентов» во главе с Алексеем Остриковым.
Словарь растёт народом через issues: @imitry («хуёвые дела», «ебись оно всё конём»), @GomelHawk («охуеть не встать», «ёбушки-воробушки» + научная база), @mikhashev (правило «семейных ругательств нет вообще»), @MaliciousGenius (онтология предметной области), @maxonrock («ёбаный рот этого казино», «хуеверть»), @SVS696 (теория сарказма — мишень это баги и система, а не человек), @maloun, @ByteCorn и @akme. Не хватает рабочей фразы — её можно предложить в issues репозитория.
Лицензия
MIT — «не ебите головы».
Источник: https://github.com/smixs/pohuy