Show GN: claw-code를 Elixir로 포팅하면서 OTP, 멀티노드 강점을 살려봤습니다.

3 hours ago 2

안녕하세요.
최근에 instructkr / ultraworkers의 claw-code (https://github.com/ultraworkers/claw-code) 를 Elixir로 포팅해보는 실험을 하고 있습니다.

그냥 1:1로 옮기는 것보다는,
이런 종류의 agent / control-plane 성격의 프로젝트를 Elixir스럽게 만들면 어떤 모습이 될지 보고 싶었습니다.

특히 아래 같은 Elixir / BEAM의 강점을 적극적으로 살려보려고 했습니다:

  • OTP supervision
  • long-running process
  • daemon-first runtime
  • multi-node / distributed BEAM routing
  • recovery-oriented control plane

그래서 단순히 명령어만 포팅하는 방향보다는,
다음 같은 쪽에 더 무게를 두었습니다:

  • supervised session / workflow process
  • daemon-aware routing
  • cluster ownership tracking
  • DETS 기반의 가벼운 persistence / recovery
  • connected node 기준의 failover / recovery 테스트

결과물은 현재 Beamwarden이라는 이름으로 정리해두었습니다:

https://github.com/jidohyun/beamwarden

완성된 제품이라기보다는,
“이런 agent runtime/control-plane 계열 구조를 OTP와 멀티노드 기반으로 다시 만들어보면 어떨까?”
를 실험해보는 프로젝트에 가깝습니다.

혹시 관심 있으신 분들이 계시면 특히 이런 부분에 대한 피드백이 궁금합니다:

  • OTP boundary / supervision 구조가 Elixir답게 보이는지
  • multi-node routing / failover 방향이 괜찮은지
  • 불필요하게 복잡한 부분은 없는지
  • 이런 종류의 시스템을 Elixir-native하게 만든다면 어떻게 접근할지

피드백이나 비판 모두 환영합니다.

Read Entire Article