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 →
RepoRadar