Un workflow durable simple avec Postgres uniquement
(lucumr.pocoo.org)L’idée est qu’il est possible d’implémenter l’exécution durable d’agents IA uniquement avec Postgres, sans service tiers complexe.
Points clés
• Problème : lors de la création d’un agent IA, il faut pouvoir reprendre l’exécution sans perdre le travail, même après un crash ou un redémarrage
• Limites des solutions existantes : des outils comme Temporal ou Inngest sont excellents, mais complexes et nécessitent un service séparé
• Approche d’Absurd :
- implémentation dans un unique fichier SQL
- utilisation uniquement des fonctions de file d’attente de Postgres et d’un store d’état
- sauvegarde de chaque étape (
step) comme point de contrôle, pour permettre une reprise après interruption
Aspects pratiques
// 작업 정의
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);
Conclusion : pas besoin de plugin de compilateur ni de runtime séparé, Postgres suffit. C’est un choix particulièrement attrayant lorsqu’un déploiement en self-hosting est nécessaire.
1 commentaires
Pouvoir reprendre à partir d’un point d’arrêt, c’est vraiment appréciable.