AI 에이전트로 Rails 앱을 Rust와 Elixir로 재작성한 실험, 코드를 안 읽으니 설계 판단이 빠짐
- DHH가 Ruby on Rails 기반 Campfire Once를 코드 리뷰 없이 AI 에이전트에게 맡겨 Rust로 재작성함, 이후 Elixir와 Go 버전도 추가됨
- Rust 버전은 CSRF 토큰을 제거하고 알림 큐에서 Redis를 빼 인프로세스 큐로 바꿈, 하위 호환성 유지 여부가 언어와 무관하게 갈림
- Zach Daniels 측정에서 Rust 버전은 6천에서 7천 건 중 1%만 알림을 전달했고, Elixir 버전은 약 1,700건 전부 전달함
- 필자는 DHH와 Zach의 벤치마크가 닫힌 루프 방식이라 실제 몰려드는 부하를 재현하지 못한다고 지적하며 일정 도착률 방식을 권함
Hacker News opinions
내가 보기엔 시스템을 어느 정도 이해해야 판단이 되는 거임. 코드를 전부 읽진 않더라도 훑어보는 건 해야 된다고 생각함.
벤치마크 얘기 공감함. 미리 측정 기준을 정해놓고 시작했으면 Rust 쪽 문제를 일찍 잡았을 텐데 아쉬움.
근데 Claude한테 고부하에서 불안정하다고만 말해도 벤치마크 세팅해서 브로드캐스트 채널 문제까지 찾아주더라. 생각을 하면 결과가 좋아지는 건 맞는데, 그게 실직 막아주는 얘기는 아닌 듯.
작성자가 말하는 건 고부하 신뢰성 같은 명확한 요구사항이 아니라 트레이드오프 얘기임. 그건 도메인 지식 있어야 답 나옴.
회사에서 요즘 AI 에이전트 안 쓰면 시간 낭비하는 취급받음. AI 결과가 틀렸다고 근거 대도 반대하는 사람 취급당함.
p95 지연이랑 OOM 막으려면 결국 코드를 이해해야 함. 근데 AI 쓰는 비용이 싸다면 사용자가 불편해도 떠나지 않는 상황에서 코드 리뷰 비용을 굳이 낼 필요가 있냐는 생각도 듦. 생각 실험일 뿐임.
이 글 말하는 건 결국 사용자한테 엉성한 소프트웨어 주고 남은 돈으로 로비하고 경쟁사 사들이자는 거임?
IoT랑 암호화, 동시성 섞인 중간 규모 시스템에서 AI 써보는데 처음에 잘못 판단하는 게 진짜 많음. 시니어 리뷰 없이 전체 코드베이스 만들면 얼마나 엉망일지 상상도 안 됨.
이건 LLM에 제일 맞는 케이스인 게 맞음. 번역 대상 시스템은 원래 개발자들이 90%를 이미 생각해놓은 상태였음.
기존 동작을 테스트로 먼저 고정하고 나서 어떤 버그를 같이 박제했는지 따져보는 식으로 가면 괜찮음.
번역 쪽 성공 사례가 많은 건 맞는데, 10%가 제일 어려운 부분이라 결국 나머지 90%를 이해해야 고칠 수 있음.
이 글 읽고 workslop이 왜 막기 어려운지 다시 느낌. 만드는 건 공짜인데 반박하는 데는 시간이 훨씬 많이 듦. Brandolini 법칙이랑 딱 맞음.