Найти в Дзене
Покупайте СтеллыИ дарите их за контент
2 дня назад
 • Вы подписаны

Залупливание кодового ассистента

На днях мне понадобилось добавить в 40ants-bots поддержку клиента мессенджера MAX. Раньше библиотека работала только с Telegram, а теперь хочется уметь поддерживать разные мессенджеры. Решил сделать это с помощью AI-ассистента и заодно испытать подход Atomic Spec, о котором недавно писал. Попросил агента продумать внедрение, разложить его на отдельные спеки и описать в них весь нужный функционал. С этим он справился вполне неплохо. А вот дальше хотелось максимально вайбово: дать модели реализовать всё самой, а потом только проверить результат...

5 дней назад
 • Вы подписаны

Что такое Atomic Spec и зачем он кодовому ассистенту

? В предыдущем посте я упоминал про навык использования Atomic Spec. Расскажу, что это такое и почему этот подход особенно интересен, когда код пишет AI-ассистент. Обычно требования к фиче живут в задаче, обсуждении и голове автора. Ассистент получает короткую формулировку, находит похожий код и начинает действовать. Пока задача маленькая, этого хватает. Но чем она длиннее и чем больше в ней исключений, тем проще забыть исходное намерение и сделать технически аккуратную, но неправильную вещь. Atomic Spec предлагает хранить требования как набор маленьких «атомов»: один *.spec.md — одна единица знания...

1 неделя назад
 • Вы подписаны

Осторожно: skill с сюрпризом

! В одном из последних проектов я решил попробовать подход Atomic Spec. Это когда системные требования фиксируются в отдельных файлах, чтобы кодовый ассистент мог сверяться с ними при добавлении новых фич. Начал искать skill для работы с Atomic Spec и наткнулся на GitHub репу lovely392/atomic-spec. На первый взгляд — вроде бы свежая и улучшенная версия. Но устанавливать его не спешите. Похоже, автор взял существующий репозиторий, внёс косметические правки и залил результат как новый. Это не fork, поэтому связи с исходным проектом на GitHub не видно...

3 месяца назад
 • Вы подписаны

Итерация которую можно прервать

С акторами не всё так просто. Вот вам небольшая демка того, как в системе акторов можно реализовать итерацию таким образом, чтобы её можно было безопасно прервать. Я собираюсь использовать этот подход для того, чтобы организовать работу с код-ассистентом и тулами, которые он запускает. Это нужно сделать так, чтобы код-ассистента можно было прервать в любой момент и сделать это безопасно. В этом демо используется фреймворк Sento, реализующий актеры для Common Lisp. Вот полный код примера: (defun make-interruptable-actor-loop-example () (ac:actor-of *sys* :destroy (lambda (&rest args) ;; По сообщению...

3 месяца назад
 • Вы подписаны

Итерация которую можно прервать

С акторами не всё так просто. Вот вам небольшая демка того, как в системе акторов можно реализовать итерацию таким образом, чтобы её можно было безопасно прервать. Я собираюсь использовать этот подход для того, чтобы организовать работу с код-ассистентом и тулами, которые он запускает. Это нужно сделать так, чтобы код-ассистента можно было прервать в любой момент и сделать это безопасно. В этом демо используется фреймворк Sento, реализующий актеры для Common Lisp. Вот полный код примера: (defun make-interruptable-actor-loop-example () (ac:actor-of *sys* :destroy (lambda (&rest args) ;; По сообщению...

3 месяца назад
 • Вы подписаны

Зачем мне CLOS объекты как состояние акторов в Sento

? На этой небольшой демке хочу показать, как я собираюсь использовать CLOS-объекты как состояние акторов в моем кодовом ассистенте Кодабрус. Для реализации акторов я использую библиотеку Sento, а CLOS-объекты в качестве состояния мне нужны для того, чтобы это состояние можно было сериализовать на диск и потом продолжить работу системы с того же места, на котором остановился пользователь...

Покупайте СтеллыИ дарите их за контент