smithersai/smithers
Smithers is an agentic workflow framework for defining workflows in simple TypeScript configuration files and executing them quickly, durably, and reliably
무엇을 해결하는가
Smithers는 프로세스 충돌 시에도 생존할 수 있는 "durable" 에이전트 워크플로우를 구축하는 방법을 제공합니다. 표준 소프트웨어에서는 실행 도중 프로세스가 종료되면 상태가 손실되지만, Smithers는 새로운 프로세스가 시작될 때 이전의 사이드 이펙트(side effects) 저널을 읽어 이전 실행이 중단된 정확한 지점에서 재개할 수 있도록 보장합니다.
작동 방식
Effect 프레임워크를 기반으로 구축된 durable-execution 엔진입니다. 타입이 지정된 프로그램의 모든 사이드 이펙트를 저널에 기록합니다. 실패가 발생하면 엔진은 저널을 재생(replay)하여 상태를 복구합니다. 단계(step)의 이름을 변경해도 재생 프로세스가 손상되지 않도록 활동 이름 대신 콘텐츠 주소 지정(content-addressed) 단계 키(canonical JSON 기반)를 사용합니다. 다양한 스토리지 백엔드를 지원하며, 현재 출시 후보 버전(release candidate)에서는 로컬 SQLite가 주요한 durable 옵션입니다.
대상 사용자
높은 신뢰성, 장기 실행 프로세스, 또는 진행 상황을 손실 없이 중단 및 재시도를 처리할 수 있는 능력이 필요한 AI 에이전트 또는 복잡한 자동화 워크플로우를 구축하는 개발자.
주요 특징
- Fault Tolerance: 프로세스 종료 후에도 워크플로우가 생존하며 durable 상태에서 재개할 수 있습니다.
- Time Travel: 실행을 이전 프레임으로 재생, 포크(forking), 또는 되감기(rewinding)하는 것을 지원합니다.
- Strict Identity: 단계에 대한 콘텐츠 주소 지정과 호출자가 선택한 실행 ID를 사용하여 조용한 충돌을 방지합니다.
- Type Safety: 스키마 타입이 지정된 페이로드, 성공, 그리고 에러를 특징으로 합니다.
- Agent Tooling: 세션 관리 및 모델 프로토콜을 포함한 프로덕션 에이전트 루프를 포함합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트