FlowCraft: модульный Go SDK для разработки AI-агентов

FlowCraft: модульный Go SDK для разработки AI-агентов

Это проект FlowCraft — модульный Go SDK для разработки AI-агентов с возможностями долгосрочной памяти и извлечения знаний. Он позволяет создавать и оценивать AI-приложения без привязки к конкретным провайдерам моделей или архитектурам.

FlowCraft решает задачу объединения различных компонентов AI-агентов в интуитивно понятный фреймворк. В отличие от многих альтернатив, он позволяет гибко комбинировать модули, такие как интеграция с OpenAI или Anthropic, и использовать их по мере необходимости. Это может быть полезно разработчикам, которым нужно создать кастомизированное AI-решение, например, для автоматизации задач или создания виртуальных помощников.

Проект написан на Go и требует версию 1.26 или выше. Загрузить и запустить его можно, следуя инструкциям в разделе examples/forge, где представлен демонстрационный локальный рабочий процесс. Важно отметить, что FlowCraft находится на ранней стадии разработки, так что проверяй совместимость и функциональность перед использованием в продакшене.

FlowCraft — это модульный инструмент на языке Go, предназначенный для разработки и оценки приложений искусственного интеллекта. Он позволяет создавать приложения, не привязываясь к определённым провайдерам моделей или моделям исполнения. В качестве одной из встроенных опций предлагается использование графов, хотя это не является обязательной архитектурой — можно использовать основные пакеты напрямую или ознакомиться с демонстрационной версией в каталоге `examples/forge`, которая предоставляет готовую локальную рабочую среду.

Структура проекта

Проект состоит из нескольких модулей:

  • `core` — основной модуль, включающий в себя выполнение агентов, графы, инструменты, модели, контракты на память и другие базовые компоненты.
  • `driver/*` — адаптеры провайдеров, построенные на базе `core`, включая OpenAI и других.
  • `backends/*` — специфические реализации для платформ, такие как контрольные точки SQLite.
  • `examples/forge` — демонстрационная рабочая среда, которая позволяет запускать сценарии и взаимодействовать с системой.
  • `tools/releasegate` — инструменты для автоматизации релизов, включая валидацию изменений и планирование релизов.

Как начать

Самый быстрый способ ознакомиться с проектом — запустить демонстрацию в каталоге `examples/forge`. Для этого выполни следующие команды:

cd examples/forge
go run . help

# Создать рабочую область из сценария о волках и запустить сценарный тест.
go run . workspace create --config werewolf --workspace ./workspace
go run . test -test werewolf/opening_setup

Демонстрация разрабатывает рабочие пространства на основании документов сценариев, открывает интерактивный интерфейс TUI и выполняет сценарные тесты.

Интеграция с Go-приложением

Ты можешь интегрировать FlowCraft в своё приложение на Go, используя модуль `core` и добавляя адаптеры из `driver/*` и платформенные бекенды из `backends/*`. Пример кода для сборки и запуска может выглядеть так:

document, _ := deploy.Parse(deployYAML)
app, _ := runtimeBuilder.Build(ctx, document)
defer app.Close()

lease, _ := app.Sessions().Open(ctx, session.Key{
    AgentID:   "assistant",
    ContextID: "conversation-1",
})
turn, _ := lease.Session().Start(ctx, agent.Request{
    Message: message.NewTextMessage(message.RoleUser, "hello"),
}, session.SinkSpec{ID: "console", Sink: streamSink})
result, _ := turn.Wait(ctx)

Архитектура и ограничения

Архитектура FlowCraft способствует разделению ответственности: основные контракты для выполнения определены в `core`, а адаптеры и конкретные реализации остаются вне этого модуля. Это означает, что изменения в адаптерах не влияют на основную библиотеку. При этом поддерживаются разные контракты для памяти и обработчиков событий, что делает архитектуру гибкой.

Стоит отметить, что проект пока находится на стадии активной разработки, и его основные модули не достигли версии 1.0. Это означает, что могут происходить изменения в API, которые будут следовать правилам семантического версионирования.

Участие и лицензия

Проект приветствует участие через создание проблем (issue) и пулл-реквестов. Все изменения отслеживаются, и каждое изменение сопровождается правилом, что коды изменений должны быть проверены с помощью `make ci`. Лицензия на проект — MIT.

Открыть на GitHub: GizClaw/flowcraft →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте