Show HN: Pipelex – Declarative language for repeatable AI workflows
Представлен Pipelex - новый open-source язык, созданный специально для AI агентов с целью разработки и выполнения повторяющихся AI рабочих процессов. Проект призван упростить создание сложных автоматизированных систем с использованием искусственного интеллекта, предоставляя разработчикам специализированный инструмент для реализации своих идей.
На данный момент репозиторий предлагает базовую структуру проекта, но подробная документация и примеры использования еще не полностью раскрыты. Цель разработчиков - создать гибкую платформу, которая позволит эффективно соединять различные AI сервисы и модели в единую рабочую среду, снижая порог входа для создания сложных AI-ориентированных приложений.
Комментарии (20)
- Declarative workflow DSL (Pipelex) позволяет описывать пайплайны на высоком уровне, что делает его более читаемым и удобным для совместной работы между техническими и нетехническими участниками.
- В отличие от BAML, Pipelex фокусируется на том, чтобы предоставить DSL для описания логики, а не только для LLM вызовов.
- Пользователи могут запускать пайплайны как локально через CLI, так и удалённо через API сервер, который также доступен как Docker образ.
- Поддержка MCP серверов в разработке, но уже сейчас можно использовать PipeFunc для вызова любых Python функций и инструментов.
- Сообщество приветствует вклад в развитии и интеграцию с другими инструментами и сервисами.
Make Any TypeScript Function Durable
Vercel представил Workflow DevKit — библиотеку, добавляющую надёжность, устойчивость и наблюдаемость в асинхронный JavaScript. С помощью простого директивного подхода "use workflow" разработчики могут превращать обычные TypeScript-функции в долговременные процессы, способные приостанавливаться, возобновляться и сохранять состояние. Это устраняет необходимость в ручной реализации очередей и механизмов повторных попыток.
Библиотека предлагает декларативный API для определения и использования рабочих процессов, поддерживает шаги с директивой "use step" и предоставляет встроенные инструменты наблюдаемости — отслеживание выполнения, возможность паузы, повтора и "путешествия во времени" по шагам с автоматическим сбором трассировок, логов и метрик. Код работает одинаково на локальной машине, в Docker, на Vercel или любом другом облаке, обеспечивая переносимость без привязки к платформе.
Комментарии (56)
- Обсуждение в основном крутится вокруг критики Vercel Workflow за то, что он представляет собой еще один слой абстракции, который скрывает детали реализации и ограничивает прозрачность, а также заставляет разработчиков использовать магические строки вроде "use workflow", что делает код менее читаемым и более трудным для отладки.
- Участники также отмечают, что это похоже на попытку создать vendor lock-in, поскольку Workflow требует специфичной для Vercel инфраструктуры, и что это может быть частью более широкой тенденции к созданию проприетарных инструментов вместо использования открытых стандартов.
- Некоторые участники также высказывают сомнения в том, что Vercel Workflow может быть не более чем оберткой вокруг очередной системы очередей/конечных автоматов, и что это может быть не более чем попытка создать vendor lock-in.
- Также поднимается вопрос о том, что если бы Vercel предоставил бы возможность самостоятельно хостить "Workflow" движок, это могло бы быть более приемлемо для сообщества, и что это могло бы быть шагом в сторону открытости и само-хостинга.
Organize your Slack channels by "How Often", not "What"
Автор предлагает отказаться от стандартной группировки Slack-каналов по темам (проекты, команды, соцактивности) в пользу сортировки по частоте чтения: «Читать сейчас», «Читать ежечасно», «Читать ежедневно» и «Читать когда угодно». Такой подход позволяет сразу фокусироваться на самых срочных сообщениях, снижая стресс и повышая продуктивность. Он ссылается на матрицу Эйзенхауэра, объясняя, как распределить каналы по важности и срочности.
Гибкость системы позволяет легко менять приоритеты каналов по мере изменения проектов или личной доступности. Автор отмечает, что тематическая группировка часто бессмысленна: например, канал офиса может требовать немедленного внимания (если там раздают кексы), а IT-поддержка — вообще не стоить времени. После месяца использования метода он достиг нуля непрочитанных сообщений и рекомендует попробовать этот подход.
Комментарии (46)
- Пользователи обсуждают методы организации каналов в Slack по приоритетам (например, группы для инцидентов, команд, проектов) для управления вниманием.
- Высказывается недовольство ограниченностью настроек уведомлений: отсутствие батчинга, промежуточных вариантов между "полностью отключить" и "уведомлять обо всём".
- Предлагаются альтернативные подходы: использование вкладки "Unreads", сортировка каналов в боковой панели, отключение уведомлений и выборочная проверка.
- Некоторые пользователи сравнивают Slack с электронной почтой и другими инструментами (Teams, Zoom Chat), отмечая их преимущества для асинхронного общения.
- Обсуждается проблема информационного шума: большинство сообщений не требуют срочного внимания, что приводит к потере времени.
Комментарии (60)
- Пользователи высоко оценивают надежность, масштабируемость и удобство разработки Trigger.dev, особенно отмечая функцию отложенных задач и режим разработки.
- Обсуждаются сравнения с конкурентами (Temporal, Inngest, Restate), где Trigger.dev выделяется как движок устойчивого выполнения с собственной инфраструктурой для запуска рабочих нагрузок.
- Подчеркивается выгодное ценообразование сервиса по сравнению с самостоятельным хостингом на VPS.
- Затрагиваются технические аспекты: использование CRIU для снапшотов, обработка ошибок и повторных попыток, безопасность и модели развертывания.
- Отмечается сильная поддержка со стороны основателей и активное сообщество в Discord.
- Пользователи интересуются интеграциями (например, с Supabase/Postgres) и возможностями использования в различных сценариях, не только AI.
- Обсуждается ориентация рынка на AI-агентов, хотя платформа универсальна и подходит для любых фоновых задач и рабочих процессов.
- Поднимаются вопросы о различиях с другими инструментами (Mastra) и потенциальных рисках при рефакторинге из-за автоматических повторных попыток.
- Представители Trigger.dev разъясняют архитектурные решения и планы на будущее, включая возможность запуска рабочих нагрузок на своей инфраструктуре.
The cost of interrupted work (2023) 🔥 Горячее 💬 Длинная дискуссия
Миф о 23 минутах 15 секундах
Популярная фраза «переключение контекста отнимает 23 мин 15 с» не подтверждается исследованиями. В статье The Cost of Interrupted Work фиксируется лишь повышенный стресс, но не время восстановления; в тексте цифра 23 не встречается. Другие работы упоминают 11–16 мин или вообще не приводят значений.
Источник мифа
Автор просмотрел 23 поста: 9 ошибочно ссылаются на статьи, 9 — на интервью с Глорией Марк, где она озвучила 23 мин 15 с; ещё 2 — на Wall Street Journal, цитирующий Марк. Печатного первоисточника найти не удалось.
Комментарии (195)
- Участники обсуждают, сколько времени требуется, чтобы вернуться к задаче после прерывания; часто упоминается цифра «23 минуты 15 секунд», но её происхождение вызывает сомнения.
- Некоторые чувствуют физическую боль при выходе из потока, другие замечают, что стоимость зависит от сложности задачи, характера прерывания и эмоционального фона.
- Утверждается, что научные публикации и СМИ часто искажают результаты исследований, приписывая им цифры, которых в оригинале нет.
- Предложены способы смягчения эффекта: pair-programming, заранее спланированные задачи, медитация, прогулки или полный «выходной» после неудачного дня.
- Менеджеры подчеркивают ценность доступности для помощи коллегам, но разработчики жалуются на «мелкие» прерывания, которые разрушают контекст.
Best Practices for Building Agentic AI Systems
Двухуровневая модель
Основной агент ведёт диалог, помнит контекст, раздаёт задачи.
Под-агенты — чистые функции: получили вход, вернули результат, забыли всё.
Больше двух уровней — лишние точки отказа.
Под-агенты без состояния
Каждый вызов — как вызов функции:
- одинаковый вход → одинаковый выход
- легко кешировать, тестировать, запускать параллельно
Пример сообщения:
{"task": "sentiment", "data": [...], "constraints": {"timeout": 5}}
Разбиение задач
- Вертикальное: последовательные шаги (сбор → извлечение → сравнение).
- Горизонтальное: параллельные ветки (исследовать 5 конкурентов одновременно).
Смешиваем: сначала параллельная категоризация фидбека, потом последовательная приоритизация.
Протокол общения
Каждая команда содержит:
- цель, входные данные, ограничения, формат вывода.
Ответ:status,result,confidence,processing_time.
Болтовни и «помни, что мы обсуждали» — нет.
Специализация агентов
- Research — поиск по базе фидбека.
- Analysis — извлечение тем и настроений.
- Summary — генерация отчётов и changelog.
Один агент = одна чёткая функция.
Оркестрация
- Round-robin — когда порядок важен.
- Priority queue — сначала критичные фидбеки.
- Fan-out/fan-in — параллельные под-агенты, потом сбор результатов.
Состояние хранит только основной агент; под-агенты не знают о существовании друг друга.
Управление контекстом
- Сжатие: оставляем только релевантные куски.
- Слайды: отправляем под-агенту только нужную подборку.
- Версионирование: каждый результат имеет
id, чтобы легко откатиться.
Обработка ошибок
- Повторы с экспоненциальной задержкой (до 3 раз).
- Fallback-агенты: если «анализатор» упал, включаем «резервный».
- Circuit breaker: после N ошибок отключаем агента и пишем алерт.
Производительность
- Кешируем по хешу запроса.
- Параллельные вызовы без блокировок.
- Пакетная обработка: отправляем 50 фидбеков за раз, а не по одному.
Мониторинг
Отслеживаем:
- latency под-агентов,
- точность (сравниваем с разметкой),
- частота ошибок,
- объём контекста (токенов).
Всё пишем в Prometheus + Grafana.
Уроки из продакшена
- Начинайте с 2–3 под-агентов, добавляйте постепенно.
- Пишите юнит-тесты для каждого под-агента.
- Не давайте агентам доступ к внешним API без rate-limit.
- Держите промпты в git; версионируйте как код.
Принципы
- Простота > масштаб.
- Чистые функции > разделяемое состояние.
- Структурированные сообщения > свободный текст.
- Мониторинг с первого дня > дебаг в проде.
Частые ошибки
- «Умные» под-агенты с памятью → гонки и непредсказуемость.
- Слишком большой контекст → таймауты и лишние токены.
- Отсутствие таймаутов → зависшие цепочки.
- Игнорирование кеширования → лишние $$$ на API.
Как начать
- Определите 1–2 ключевые задачи (например, «суммаризировать фидбек»).
- Создайте под-агентов:
research,summarize. - Напишите структурированные схемы входа/выхода.
- Покройте тестами, добавьте метрики.
- Подключите к реальному потоку данных и наблюдайте.
Комментарии (62)
- Автор делится опытом построения практичных «агентов» как чистых функций без состояния и истории разговоров, что экономит токены и упрощает отладку.
- Поддержка: дешёвые/локальные модели на 75 % задач, жёсткое разбиение на под-агентов, явное описание шагов вместо «умных» решений.
- Критика: часть читателей считает описанное не настоящим агентством, а обычным workflow с LLM-вызовами; стиль текста вызывает раздражение как «AI-generated».
- Практические инструменты: Claude Code (файлы .claude/agents), AWS Lambda + Step Functions, Spring AI, кеширование промптов.
- Сообщество обсуждает, где грань между «агентом» и «инструментом», просит примеров и данных, а также делится ссылкой на оригинальный пост Anthropic.