복잡한 서드파티 서비스 없이 Postgres만으로 AI 에이전트의 내구성 있는 실행(durable execution)을 구현할 수 있다는 내용.
주요 포인트
• 문제: AI 에이전트 구축 시 크래시나 재시작에도 작업을 잃지 않고 이어서 실행해야 함
• 기존 솔루션의 단점: Temporal, Inngest 같은 도구들은 훌륭하지만 복잡하고 별도 서비스 필요
• Absurd의 접근:
- 단일 SQL 파일로 구현
- Postgres의 큐 기능 + 상태 저장소만 활용
- 각 단계(step)를 체크포인트로 저장해서 중단되어도 재개 가능
실용성
// 작업 정의
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만으로 충분하다. 특히 셀프 호스팅이 필요한 경우 매력적인 선택.