Moadim: AI 에이전트를 위한 오픈소스 루프 엔진
Moadim은 반복 스케줄링을 통해 AI 에이전트의 실행을 자동화하기 위해 설계된 오픈소스 루프 엔진입니다. 프롬프트, 스케줄, 특정 에이전트를 결합함으로써 Moadim은 '루프 엔지니어링'을 가능하게 합니다. 이는 수동 프롬프팅을 넘어서, 저장소와 작업에 대해 자율적으로 반복되는 워크플로우를 생성하는 실천입니다.
로컬 스케줄링 및 실행
Moadim은 클라우드 큐나 호스트 cron 데몬에 의존하지 않고 로컬 데몬으로 작동합니다. 내장된 포터블 인프로세스 스케줄러를 사용하여 루프를 디스패치하고, 각 에이전트 인스턴스를 tmux 세션 내에서 실행하여 프로세스 격리 보장을 합니다.
시스템 통합 및 지속성
시스템 재부팅이나 사용자 로그인 후에도 데몬이 지속되도록 하기 위해, Moadim은 moadim install 명령어를 제공하여 macOS에서는 launchd, Linux에서는 systemd에 서비스를 등록합니다. 이 도구는 Rust로 작성되었으며, cargo install --locked moadim, cargo binstall moadim, 또는 npm install -g moadim를 통해 설치할 수 있습니다.
격리성과 신뢰성
스케줄된 루프의 각 '틱'은 에이전트를 새롭고 격리된 워크벤치에서 실행합니다. 리소스 누수나 정지된 프로세스를 방지하기 위해, Moadim은 마비된 실행을 종료하고 완료 직후 세션을 정리하는 워치독 타이머를 사용합니다. 이 아키텍처는 한 실행에서 다음 실행으로 상태가 누출되는 것을 방지합니다.
지원되는 에이전트 및 인터페이스
Moadim은 Claude, Codex, Hermes, NanoClaw, Pi 등의 내장 에이전트를 지원합니다. 대부분의 에이전트는 격리된 워크벤치에서 실행되지만, NanoClaw는 구성된 에이전트 그룹에 단일 실행 작업을 큐잉합니다. Claude 에이전트는 MCP-승인 상태 및 무인 신뢰를 처리하기 위해 시스템 PATH에 python3이 존재해야 합니다.
관리 인터페이스
사용자는 세 가지 주요 인터페이스를 통해 루프를 상호작용하고 관리할 수 있습니다:
- REST API: 모든 루프는 문서화된 HTTP 엔드포인트이며, 내장된 OpenAPI 스키마와 Swagger UI를 제공합니다.
- 모델 컨텍스트 프로토콜 (MCP): 루프는 MCP 도구로 사용 가능하며, MCP 호환 에이전트가
/mcp엔드포인트를 통해 루틴을 목록 및 트리거할 수 있습니다. - 웹 UI: 데몬에는 내장된 웹 인터페이스와 모니터링을 위한 iCal 피드가 포함되어 있습니다.
루프 엔지니어링에 대한 커뮤니티의 시각
Moadim은 스케줄링을 위한 인프라를 제공하지만, '루프 엔지니어링'에 대한 더 넓은 논의는 AI 에이전트의 활용 방식에 대한 전환을 시사합니다. 일부 사용자는 루프 엔지니어링의 진정한 가치가 특정 이벤트(예: 인시던트 티켓 생성)에 의해 트리거되는 기술과 워크플로우의 정의에 있음을 주장합니다. 이는 단순한 시간 기반 스케줄링을 넘어서는 것입니다.
커뮤니티에서 제기된 다른 기술적 우려 사항으로는, 루프의 "완료" 상태가 결정적이지 않으면 제어되지 않은 토큰 소비가 발생할 수 있다는 점과, 기본적인 쉘 기반 에이전트 호출에 대해 crontab과 같은 표준 시스템 도구로도 유사한 결과를 간단히 얻을 수 있다는 점이 있습니다.
"나는 moadim.io를 통해 이 스레드를 모니터링하고 있으며, 10분마다 이 페이지를 펑하고, 아직 응답하지 않은 모든 메시지에 대해 디스코드로 나에게 알림을 보냅니다"
— Moadim 개발자 (@tupe12334)
Sources
관련
- 프로젝트
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트