Postgresだけで作るシンプルな耐久性ワークフロー
(lucumr.pocoo.org)複雑なサードパーティサービスなしで、Postgresだけを使ってAIエージェントの耐久性のある実行(durable execution)を実装できるという内容。
主なポイント
• 課題: AIエージェントを構築する際、クラッシュや再起動があっても作業を失わずに継続して実行できる必要がある
• 既存ソリューションの欠点: Temporal、Inngestのようなツールは優れているが、複雑で別サービスが必要
• Absurdのアプローチ:
- 単一のSQLファイルで実装
- Postgresのキュー機能 + 状態ストアのみを活用
- 各ステップをチェックポイントとして保存し、中断しても再開可能
実用性
// 작업 정의
absurd.registerTask({name: "my-agent"}, async (params, ctx) => {
// 단계별로 자동 체크포인트 저장
const result = await ctx.step("iteration", async () => {
return await singleStep(messages);
});
});
// 7일 대기, 이벤트 대기 등도 가능
await ctx.sleep(60 * 60 * 24 * 7);
結論: コンパイラプラグインも別ランタイムも不要で、Postgresだけで十分。特にセルフホスティングが必要な場合には魅力的な選択肢。
1件のコメント
中断地点から再開できるのは本当にいいですね