agentflow4j は何をしますか?
Javaで状態を持つマルチエージェントワークフローを構築 — グラフ、リトライ、永続化を備えて
このスキルを使用すると、Javaでマルチエージェントワークフローを定義し、実行できます。グラフ構造を使用してエージェント間の依存関係と順序をモデル化し、リトライポリシーと永続化を組み込むことで、耐障害性と再開可能性を実現します。
機能
- グラフベースのワークフロー: エージェントを有向グラフのノードとして定義し、エッジで依存関係と実行順序を指定します。
- リトライ機構: エージェントの実行失敗時に自動的にリトライするポリシーを設定できます。
- 状態の永続化: ワークフローの進行状況(各エージェントの状態、コンテキストデータなど)を保存し、再開できます。
- Javaネイティブ: Javaの型安全性とパフォーマンスを活用し、既存のJavaコードベースとシームレスに統合します。
クイックスタート
以下は、agentflow4j を使用した基本的な例です。
// ワークフロー定義の例
AgentFlow workflow = AgentFlow.builder()
.addAgent("AgentA", new MyAgent())
.addAgent("AgentB", new MyAgent())
.addEdge("AgentA", "AgentB") // AgentA が完了したら AgentB を実行
.withRetryPolicy(RetryPolicy.fixedDelay(3, Duration.ofSeconds(2)))
.withPersistence(new FileSystemPersistence("./workflow-state"))
.build();
// ワークフローの実行
workflow.execute();
システム要件
- Java 11 以降
- Maven または Gradle プロジェクト
インストール
Maven を使用する場合:
<dependency>
<groupId>com.datallmhub</groupId>
<artifactId>agentflow4j</artifactId>
<version>1.0.0</version>
</dependency>
Gradle を使用する場合:
implementation 'com.datallmhub:agentflow4j:1.0.0'
エージェントの定義
Agent インターフェースを実装してカスタムエージェントを作成します。
public class MyAgent implements Agent {
@Override
public AgentResult execute(AgentContext context) {
// エージェントのロジックをここに記述
return AgentResult.success("Agent completed successfully");
}
}
ライセンス
MIT