
На Hacker News AI обсуждается статья, описывающая подход к автоматизации операций агентства с помощью десяти ИИ-агентов. Особенность решения заключается в его минималистичности: агенты работают через системный планировщик launchd (macOS/Linux) без использования n8n, фреймворков, очередей или Docker. Каждый агент представляет собой отдельный Node.js файл.
Центральная идея проекта — использование “рельсов” (guardrails) для безопасного выполнения необратимых действий. Все действия агентов проходят через чистую функцию `evaluate()` в `lib/rails.js`, которая проверяет их на соответствие правилам (например, наличие в разрешенном списке, отсутствие в списке “не беспокоить”, дневной лимит). Это позволяет избежать ошибок, таких как массовая рассылка неверным адресатам, что уже случалось у разработчика в прошлом.
Причины создания системы
Разработчик описывает негативный опыт, когда незащищенный бот рассылал электронные письма без контроля, что привело к нежелательным последствиям. Это послужило толчком к созданию системы, где каждое потенциально опасное действие проверяется перед выполнением. Шаблон, представленный в репозитории, позволяет быстро развернуть аналогичную систему с “рельсами” по умолчанию.
Технические детали
Система построена на Node.js. Агенты запускаются по расписанию через launchd. Репозиторий предоставляет шаблон, который можно использовать для создания собственных агентов. В частности, функция `evaluate()` является чистой, не имеет побочных эффектов ввода/вывода, что упрощает ее тестирование и понимание. По умолчанию, система работает в режиме “сухого прогона” (dry-run) и не отправляет реальные сообщения без явного разрешения пользователя.
| Пункт | Detail |
|---|---|
| Платформа | launchd (macOS/Linux) |
| Технологии | Node.js, JavaScript |
| Автоматизация | Исследование лидов, PR-рассылки, сортировка ответов, синхронизация, мониторинг почты, ежедневные брифинги |
| Безопасность | “Рельсы” (guardrails) через функцию `evaluate()` |
| Отсутствие зависимостей | n8n, фреймворки, очереди, Docker |
| Режим по умолчанию | Dry-run (сухой прогон) |
Что проверить дальше
Стоит изучить исходный код репозитория, чтобы понять реализацию функции `evaluate()` и механизмы “рельсов”. Особый интерес представляют примеры агентов и их конфигурация. Также важно оценить масштабируемость данного подхода для более сложных задач и большего количества агентов.
Оригинальный материал доступен по ссылке: https://github.com/Botfather90/digiton-agent-fleet. Проверка информации проводилась через: https://github.blog/.
