christopherkarani/Swarm

🐦‍🔥 LangGraph for Swift — build stateful AI agent workflows natively on Apple/Linux platforms.

解決する課題

Swarmは、AIエージェントとマルチエージェントワークフローの作成を簡素化するために設計されたSwiftフレームワークです。Appleエコシステムにおける、ネイティブで型安全、かつ並行処理に安全なエージェントフレームワークの不足を解消し、オンデバイスまたはカスタムバックエンドで実行可能な複雑なAIパイプラインを構築するための構造化された方法を提供します。

仕組み

Swarmは、開発者がエージェントとツールを定義するグラフベースの実行モデルを使用します。Swift 6.2の厳格な並行処理(strict concurrency)を活用してデータレースの安全性を確保します。このフレームワークは、@Toolマクロを提供し、コンパイル時にSwiftの構造体からJSONスキーマを生成することで、型安全なツール呼び出しを実現します。ワークフローは有向非巡回グラフ(DAG)としてコンパイルされ、永続的なチェックポインティングをサポートしているため、クラッシュ後も特定の状態からプロセスを再開できます。

対象者

主にiOS、macOS、tvOS、およびLinux向けのAIアプリケーションを構築するSwift開発者、特にAPIキーを必要とせず、プライバシーに配慮したローカル推論のためにAppleのオンデバイスFoundation Modelを活用したい開発者を対象としています。

ハイライト

  • オンデバイス優先: ローカル推論のためのApple Foundation Modelへの組み込みサポート。
  • 型安全なツール作成: Swiftマクロを使用してツールの型安全性を確保し、コンパイル時にスキーマを生成。
  • 永続的なワークフロー: 長時間のエージェントタスクを再開するためのチェックポインティングとクラッシュ復旧をサポート。
  • ネイティブな並行処理: Swift 6.2の StrictConcurrency およびストリーミング出力用の AsyncThrowingStream と完全に統合。
  • 柔軟なオーケストレーション: シーケンシャル、パラレル、ルーティング、およびリピート(repeat-until)のワークフローパターンをサポート。
  • 包括的なメモリ機能: ベクトル、スライディングウィンドウ、サマリーメモリなどの複数のメモリ戦略を含む。