Перейти к содержимому

Huzzah: пишем код через псевдокод — альтернативный подход к ИИ-программированию

К концу лета 2026 года терпение разработчиков к coding agents лопнуло. Daniel Vaughn — софтваре-инженер, который первые месяцы 2026 года активно использовал ИИ для кодинга — описывает это состояние прямо:

If you’re a software engineer like me, the first few months of 2026 were incredible. Coding agents suddenly became good enough that we no longer needed to manually write code. But if you’re like me, then sometime later you hit a wall. The honeymoon period ended, and the novelty wore off. No more dopamine hits.

Если ты, как и я, софтваре-инженер, первые месяцы 2026 были невероятными. Кодинг-агенты вдруг стали достаточно хорошими, чтобы нам больше не нужно было писать код вручную. Но если ты, как и я, то где-то потом ты упёрся в стену. Медовый месяц закончился, новизна сошла. Больше никаких дофаминовых всплесков.

Daniel Vaughn, Huzzah

Vaughn не хочет возвращаться к ручному написанию кода. Но он устал от бесконечных промптов на английском. Его решение — экспериментальный редактор Huzzah, который меняет правила игры: вместо длинных промптов — компактный псевдокод, который сохраняется и становится документацией.

Проблема: three pain points coding agents

Ваун выделяет три ключевые проблемы текущего подхода coding agents:

1. Нет надёжной записи человеческого намерения. Промпты отбрасываются после генерации. Код может быть сгенерирован ИИ — а может и нет. Центральный документ, выражающий то, чего человек хочет от машины, утрачен.

2. Промпты императивны и повторяются. Чат с агентом — это пошаговые инструкции, описывающие изменения в приложении, а не само приложение. Одни и те же инструкции повторяются многократно в ходе разработки. Это неэффективно.

3. Естественный язык избыточен. Большая часть предложений существует по социальным причинам, а не для передачи информации. Писать такому «машине» — неудобно.

Решение: pseudocode → persistent prompt → real code

Huzzah предлагает альтернативу.

Workflow Huzzah: pseudocode → LLM → real code
Workflow Huzzah: пишешь псевдокод, сохраняешь — LLM генерирует реальный код

Сравните два подхода на примере FizzBuzz:

С coding agent

Вы открываете чат и пишете:

Создай функцию, которая зацикливается 100 раз. Если число делится на 3 — выведи «fizz». Если на 5 — «buzz». Если на оба (например, 15) — «fizz buzz».

Если нужно изменить — отправляете follow-up:

Вместо зацикливания 100 раз функция должна принимать число и зацикливаться столько раз.

Повторяете, пока не получится.

С Huzzah

Создаёте файл fizz_buzz.hz и пишете:

fizz_buzz()
    loop 100
        modulo 3 ? "fizz"
        5 ? "buzz"
        both ? "fizz buzz"

Сохраняете — Huzzah автоматически генерирует реальный код. Нужно изменить? Редактируете тот же файл:

fizz_buzz(n)
    loop n
        modulo 3 ? "fizz"
        5 ? "buzz"
        both ? "fizz buzz"

Сохраняете — Huzzah захватывает diff и использует его как промпт для LLM. Затронутый исходный код перегенерируется.

FizzBuzz: промпт vs псевдокод
Сравнение: слева — промпт для coding agent (50+ слов, транзистный), справа — псевдокод Huzzah (7 строк, персистентный)

Ключевое отличие: три свойства псевдокода

Coding agents (промпт) Huzzah (псевдокод)
Форма Длинный естественный язык Компактный псевдокод
Природа Императивный (что изменить) Декларативный (что получить)
Срок жизни Транзистный (отбрасывается) Персистентный (сохраняется)

Больше примеров

Shopping cart

list cart
list inventory

mock_data = // include some mock data

init()
    inventory.fill(mock_data)

add_item(id)
    cart.add(item by id)

remove_item(id)
    cart.filter(item by id)

checkout()
    return cart.sum(item by price) and format as price

Todo List

Todo {
  id: int
  text: str
  completed: bool
}

add_todo(text)
    todos.add(text, completed = false)

toggle_todo(id)
    todo = todos.get by id
    todo.completed = NOT .completed

remove_todo(id)
    todos.filter by id

Преимущества

  • Лаконичность. Псевдокод короче промптов в разы. Меньше токенов — меньше денег.
  • Вовлечённость. Писать псевдокод — всё ещё проектирование. Вы думаете о структуре кода, а не о формулировках промпта.
  • Документация. Псевдокод — этоuman-readable документация, написанная человеком для выражения своего намерения.
  • Языконезависимость. Псевдокод можно использовать как основу для генерации на разных языках программирования.

Ограничения

Vaughn честно перечисляет, где подход пока не работает:

  • Масштабирование — могут быть проблемы на больших кодовых базах.
  • Подходит лучше для нового кода, чем для существующего.
  • Без domain expertise естественный язык проще.
  • Кросс-файловые зависимости сложно выражать.
  • LSP-фичи (автодополнение, навигация) пока недоступны.

Россия и Huzzah

Huzzah — экспериментальный проект с открытым исходным кодом (github.com/danielvaughn/hz). Для работы нужен LLM — поддерживается любой, доступный через API. В РФ основная сложность — доступ к API моделям (Anthropic, OpenAI блокированы без VPN). Альтернативы: OpenCode с Zen-моделями (DeepSeek V4 Flash free), или self-hosted модели через Ollama.

Русскоязычного контента по Huzzah практически нет — тема свежая (август 2026).

Вывод

Huzzah — не замена coding agents, а альтернативный интерфейс к ним. Вместо того чтобы описывать изменения на английском, вы проектируете структуру кода на компактном псевдокоде. Псевдокод сохраняется, становится документацией и не отбрасывается.

Подход экспериментальный и подходит не всем. Но сам принцип — persistent, declarative prompts вместо transient, imperative ones — заслуживает внимания. Если coding agents утомляют вас длинными промптами, Huzzah показывает другой путь.


Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий

Adblock
detector