Показать HN: Pickaxe — библиотека TypeScript для создания агентов ИИ=news.ycombinator.com=

Показать HN: Pickaxe – библиотека TypeScript для создания агентов ИИ ( github.com/hatchet-dev ) Привет, HN, Гейб и Александр из Hatchet. Сегодня мы выпускаем Pickaxe, библиотеку TypeScript для создания агентов ИИ, которые масштабируемы и устойчивы к отказам.

Вот демо: https://github.com/user-attachments/assets/b28fc406-f501-442…

Pickaxe предоставляет простой набор примитивов для создания агентов, которые могут автоматически проверять свое состояние и приостанавливать или возобновлять обработку (также известное как долговременное выполнение) в ожидании внешних событий (например, человека в цикле). Библиотека основана на общих шаблонах, которые мы видели, помогая пользователям Hatchet запускать миллионы выполнений агентов в день.

В отличие от других инструментов Pickaxe не является фреймворком. Он не имеет никаких мнений или абстракций для реализации памяти агента, подсказок, контекста или прямого вызова LLM. Его единственная цель — сделать агентов ИИ более наблюдаемыми и надежными.

По мере того, как агенты начинают масштабироваться, обычно возникают три большие проблемы: 1. Агенты работают долго по сравнению с другими частями вашего приложения. Чрезвычайно долго работающие процессы сложны, поскольку развертывание новой инфраструктуры или достижение тайм-аутов запросов в бессерверных средах выполнения прерывают их выполнение. 2. Они сохраняют состояние: они обычно хранят внутреннее состояние, которое управляет следующим шагом в пути выполнения. 3. Им требуется доступ к большому количеству свежих данных, которые могут быть либо запрошены во время выполнения агента, либо должны постоянно обновляться из источника данных.

(Эти проблемы более характерны для агентов, которые выполняются удаленно — локально работающие агенты обычно не имеют таких проблем)

Pickaxe разработан для решения этих проблем путем предоставления простого API, который оборачивает инфраструктуру длительного выполнения для агентов. Долговременное выполнение — это способ автоматической контрольной точки состояния процесса, так что в случае сбоя процесса его можно автоматически воспроизвести с контрольной точки, а не начинать заново с самого начала. Эта модель также особенно полезна, когда вашему агенту необходимо дождаться внешнего события или проверки человеком, чтобы продолжить выполнение. Для поддержки этого шаблона Pickaxe использует функцию Hatchet под названием `waitFor`, которая надежно регистрирует прослушиватель для события, что означает, что даже если агент не прослушивает активно событие, оно гарантированно будет обработано Hatchet и сохранено в истории выполнения и возобновления обработки. Эта инфраструктура работает на основе того, что по сути является линейным журналом событий, который хранит всю историю выполнения агента в базе данных Postgres, управляемой Hatchet.

Полная документация здесь: https://pickaxe.hatchet.run/

Мы будем очень признательны за любые отзывы и надеемся, что у вас будет возможность опробовать Pickaxe.

почтиздесь 1 час назад | [–]
Что мне действительно нравится в этом, так это то, что такой проект помогает людям узнать, кто такой агент.
abelanger 1 час назад | | [–]
Спасибо! Наши любимые ресурсы по этой теме (оба были опубликованы на HN несколько раз):

https://www.anthropic.com/engineering/building-effective-age…

https://github.com/humanlayer/12-factor-agents

Вот почему мы реализовали практически все соответствующие шаблоны в документации (например, https://pickaxe.hatchet.run/patterns/prompt-chaining ).

Если вам хотелось бы увидеть какой-то пример или шаблон, дайте мне знать, и мы сможем его опубликовать.

randomcatuser 1 час назад | | [–]
О, это действительно круто! Я немного поработал над этим с Restate на прошлой неделе, но это выглядит действительно хорошо собранным 🙂 Попробую!
abelanger 48 минут назад | | [–]
Спасибо! Хотелось бы узнать больше о том, какой тип агента вы создаете.

Мы часто слышали, что долговременное выполнение сложно уложить в голове, и мы также видели, что все больше наших пользователей (включая опытных инженеров) полагаются на Cursor и Claude Code при сборке. Поэтому один из экспериментов, которые мы проводили, — это обеспечение долговременности кода агента при написании LLM с помощью нашего сервера MCP, чтобы агенты могли следовать лучшим практикам при генерации кода: https://pickaxe.hatchet.run/development/developing-agents#pi…

Наш сервер MCP очень легкий и, по сути, просто говорит LLM прочитать документацию здесь: https://pickaxe.hatchet.run/mcp/mcp-instructions.md (вместе с некоторыми вызовами инструментов для создания каркасов)

Понятия не имею, полезно это или нет, но нам удалось заставить Клода генерировать сложные агенты, написанные с использованием надежных практик выполнения (отсутствие побочных эффектов или недетерминированности между повторными попытками), что мы расценили как хороший знак.

zegl 32 минуты назад | [–]
Как давний пользователь Hatchet, я понимаю, почему вы создали эту библиотеку, но она также немного меня разочаровывает. Хотелось бы, чтобы больше инженерного времени было потрачено на то, чтобы сделать основную платформу более стабильной и производительной.
abelanger 32 минуты назад | [–]
Определенно понимаю разочарование, сложность универсальности Hatchet в том, что быть производительным для каждого варианта использования может быть сложно, особенно при объединении многих функций (параллелизм, ограничение скорости, приоритетная очередь, повторные попытки с отсрочкой и т. д.). Мы должны быть более прозрачными в отношении того, на оптимизации каких комбинаций вариантов использования мы сосредоточены.

Мы потратили много времени на оптимизацию сценария использования однозадачного FIFO, с которым мы обычно сравниваем. Производительность для этого шаблона ограничена вводом-выводом на уровне > 10k/s, что является хорошим знаком (просто нужны более качественные диски). Поэтому чистая рабочая нагрузка длительного выполнения должна работать очень производительно.

Сейчас мы сосредоточены на улучшении многозадачности и параллелизма. Недавно наша настройка бенчмаркинга добавила поддержку этих шаблонов. Подробнее об этом скоро!


Рассмотрите возможность подачи заявки на набор в YC на осень 2025 года! Заявки принимаются до 4 августа

Source: news.ycombinator.com

Leave a Reply

Your email address will not be published. Required fields are marked *