POHUY — режим идиоматического русского мата для AI-агентов

· 3 мин чтения
ai-agents skills claude-code prompt-engineering communication
📂 Исходный код на GitHub

Режим идиоматического русского мата для AI-агентов. Словарь на 70+ идиом с инженерным маппингом, шкала состояний проекта от триумфа до катастрофы, три калибра (lite/full/ultra), output style для Claude Code и Codex, нативное расширение для Pi. Короче, душевнее, эффективнее.

POHUY — режим идиоматического русского мата для AI-агентов

Что это

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

Скрипт делает:

Стиль написан в том же формате, что и родные стили 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 — без шуток.
  • Присказки на кульминациях: «хуяк вы слушали маяк», «хуйня-муйня», «опа! пиздрик», «вдруг откуда ни возьмись — появился в рот ебись».

Как это работает

  1. Установка плагина или output style.
  2. Выбор калибра (lite, full, ultra).
  3. Профит: агент говорит короче, душевнее и с правильной калибровкой серьёзности.

Откуда вырос проект

Скилл вылез из стрима «Харнес будущего» — про то, как все слишком вежливы со своими харнесами. В титрах — Константин Доронин, Александр Абрамов, Павел Рыков и Тимур Хахалев; в соавторах — участники чата «Дизраптим агентов» во главе с Алексеем Остриковым.

Словарь растёт народом через issues: @imitry («хуёвые дела», «ебись оно всё конём»), @GomelHawk («охуеть не встать», «ёбушки-воробушки» + научная база), @mikhashev (правило «семейных ругательств нет вообще»), @MaliciousGenius (онтология предметной области), @maxonrock («ёбаный рот этого казино», «хуеверть»), @SVS696 (теория сарказма — мишень это баги и система, а не человек), @maloun, @ByteCorn и @akme. Не хватает рабочей фразы — её можно предложить в issues репозитория.

Лицензия

MIT — «не ебите головы».

Источник: https://github.com/smixs/pohuy