Huzzah - Declarative pseudocode editor for AI coding
Show HN: Huzzah – a novel approach to coding with AI
Huzzah — это экспериментальный редактор, который меняет подход к программированию с ИИ. Вместо длинных императивных промптов в чате, вы пишете краткий декларативный псевдокод в файле, который сохраняется и служит постоянной записью ваших намерений. При сохранении Huzzah генерирует реальный код, а при изменениях использует diff для обновления. Это делает процесс более контролируемым, эффективным и приятным, возвращая ощущение профессионализма.
С Huzzah промпты — это (а) псевдокод, (б) декларативные и (в) постоянные, что даёт вам лучший контроль и понимание вашего кода.
- reticulates
Думаю, вы, вероятно, не понимаете, почему это выматывает. Проблема не в написании английского текста, а в скорости изменений. Программирование — это медитация, это мыслительный процесс; код, который вы выдаёте, — это артефакт вашего мышления. Разработка на основе агентов... здесь нет мышления, нет медитации; вы делегируете мышление машине, вы просто выкрикиваете ей, чего хотите, безостановочно, бесконечно.
Для бизнеса имеет смысл отказаться от программирования в пользу делегирования агентам, которые могут сделать больше за меньшее время, но для программистов это потеря. Либо будьте программистом и пишите код, либо будьте делегатором и делегируйте; вы не сделаете жизнь делегатора менее отстойной, пытаясь обмануть себя, что вы программируете.
- avaer
Я думаю, обратное направление важнее: взять огромную сложную проблему/кодовую базу и разложить её на короткий псевдокод. Затем вы могли бы редактировать псевдокод и компилировать его обратно в систему.
Именно так инженеры-программисты, работающие над большими проектами, и работают: сначала вы собираете контекст о состоянии системы и читаете его на уровне, который вы можете понять. Затем вы предлагаете изменение в упрощённом представлении, а затем целостно обновляете машиночитаемый формат («реализацию»).
Мне были бы интересны инструменты, которые формализуют/автоматизируют этот процесс.
- quasarj
Я запутался: похоже, вы просто написали новый лаконичный язык, компиляция которого теперь стоит денег?
- smicallef
Я уже некоторое время думаю о чём-то в этом духе. Мне очень нравится направление.
Проблема, которую я вижу в более широком смысле, заключается в том, что мы (как инженеры, теперь наделённые возможностями LLM) пытаемся найти правильный уровень абстракции для работы. Писать длинные предложения и (иногда) проверять результат кажется слишком далёким. Но работа LLM напрямую с вами в IDE кажется слишком близкой к «старому способу».
Лично для меня подход здесь всё ещё немного слишком близок к низкоуровневому старому способу, но он лучше двух вышеупомянутых подходов.
С нетерпением жду, куда вы это приведёте!
- leobg
Глупый вопрос:
Почему бы просто не добавить инструкцию в системный промпт вашего любимого инструмента: «Если я даю вам псевдокод, изложите мои намерения, а затем напишите и протестируйте это в реальном коде».
- broken-kebab
Как я это вижу, здесь есть небольшое внутреннее противоречие: ваша заявленная цель — не писать код, но вам пришлось вернуться к коду (хотя и более расслабленному и расплывчатому), потому что человеческий английский (по сравнению с языками программирования) неточен. Псевдокод, однако, недалеко от него ушёл, всё ещё не строг, и LLM — это всё ещё стохастический генератор. Так что он будет продолжать случайным образом отклоняться от того, что вы хотите. Думаю, это может быть улучшением, но кто знает, возможно, через год вам надоест, что псевдокод неточен, и вы вернётесь к написанию кода :wink:
- wyum
Я не убеждён в подходе с псевдокодом, но согласен с декларативным аспектом. Декларативные спецификации стали центральными в моём процессе, и я создал этот инструмент для их поддержки:
https://github.com/spekk-ai/spekk-cli
Вместо написания исчерпывающих спецификаций я сохраняю только намерение и то, что должно быть истинным, как отдельные утверждения. Это сохраняет преимущество, которое вы получаете от LLM — всё, что он может надёжно вывести, не нужно специфицировать. Это также (в основном) отделяет намерение от кода или архитектурных решений, что сохраняет гибкость спецификаций.
- jkl5xx
Мне кажется, многие комментарии скептичны или пренебрежительны, но это кажется действительно умной идеей.
Так много классических учебников используют псевдокод, чтобы передать суть алгоритма, так что это не беспрецедентный уровень абстракции для работы.
Логично, что должна существовать средняя зона абстракции между английским эссе и реально работающим кодом.
Ещё одна интересная мысль об этом: это почти как быстрый и грязный транспилятор для ваших собственных идей дизайна языка программирования. Я баловался написанием своего собственного «идеального языка», и это похоже на быстрый и грязный способ проверить эргономику различных синтаксисов и концепций через псевдокод.