Autonoma의 18개월 코드베이스 재작성: 테스트, 기술 부채, 서버 액션에 관한 교훈

✍️ OpenClawRadar📅 게시일: March 11, 2026🔗 Source
Autonoma의 18개월 코드베이스 재작성: 테스트, 기술 부채, 서버 액션에 관한 교훈
Ad

성공적인 제품이 완전한 재작성이 필요한 이유

Autonoma는 여러 번 전환을 거친 회사(엔터프라이즈 검색, 문서 생성, 코딩 에이전트, QA 테스트 플랫폼)로, 1.5년 이상 제품을 개발하고 고객을 확보하며 주요 업계 플레이어로부터 자금을 조달하고 14명의 팀을 구성했습니다. 이러한 성과에도 불구하고, 그들은 전체 코드베이스를 버리고 처음부터 다시 시작하기로 결정했습니다.

테스트 없는 시대와 그 결과

처음에 팀은 엄격 모드와 테스트 없이 TypeScript 모노레포를 사용했습니다. 이는 코드베이스의 많은 부분을 소유한 2명의 엔지니어에게는 효과적이었지만, 채용 후에는 재앙이 되었습니다. 코드베이스는 null 문제, 정의되지 않은 동작, 불량한 오류 처리를 발생시켜 버그가 "갑자기" 나타나고 심지어 고객을 잃는 결과를 초래했습니다. 창립자는 처음에 빠른 출시 문화를 유지하기 위해 테스트를 금지했지만, 나중에 이는 제품 품질과 생산성에 영향을 미친다는 것을 깨달았습니다.

재작성을 이끈 기술적 결정

원래 제품은 GPT-4 시대(4o가 아님)에 구축되었으며, 당시 모델은 광범위한 가드레일이 필요했습니다. 그들은 복잡한 검사와 7가지 클릭 전략을 갖춘 정교한 Playwright 및 Appium 래퍼를 구축하여 실시간으로 자가 치유할 수 있었습니다. 모델 발전으로 인해 이러한 정교한 검사는 더 이상 필요하지 않게 되어 기술 부채가 있는 레거시 코드베이스의 가치가 떨어졌습니다.

Next.js와 Server Actions 포기

팀은 Next.js와 Server Actions에서 벗어나고 있으며, 다음과 같은 여러 문제를 제기했습니다:

  • Server Actions는 비동기식이므로 React에서 useEffect 블록 또는 수동 상태 처리가 필요합니다.
  • 테스트하기 어렵습니다. 테스트에는 메모리 내 데이터베이스로 Prisma 객체를 생성하거나 모의 객체가 필요합니다.
  • 의존성 주입 기능이 없습니다.
  • 전역적으로 순차적으로 실행되어 "TypeScript에서 인위적인 Python 전역 인터프리터 잠금"을 생성합니다.

새 구현은 처음부터 테스트로 시작하며 가장 엄격한 TypeScript 모드를 사용합니다.

📖 전체 소스 읽기: HN AI Agents

Ad

👀 See Also

AlphaEvolve: 딥마인드의 제미니 기반 에이전트, 유전체학, 전력망, TPC 회로 전반에서 알고리즘 최적화
News

AlphaEvolve: 딥마인드의 제미니 기반 에이전트, 유전체학, 전력망, TPC 회로 전반에서 알고리즘 최적화

Google DeepMind의 Gemini 기반 코딩 에이전트 AlphaEvolve가 DeepConsensus 변이 탐지 오류를 30% 줄이고, AC 최적 전력 흐름 GNN의 실행 가능성을 14%에서 88%로 높였으며, 양자 회로 오류를 10배 감소시켰습니다.

OpenClawRadar
AI 에이전트 정의: 워크플로우 테스트
News

AI 에이전트 정의: 워크플로우 테스트

레딧 토론에서 많은 AI 에이전트 제품이 기본적으로 할 일 목록이 달린 챗봇에 불과한지 질문하며, 수동 개입 없이 여러 도구 간 워크플로우를 완료할 수 있는 능력을 기준으로 한 테스트를 제안합니다.

OpenClawRadar
Meta, 콘크리트 배합 설계를 위한 BOxCrete AI 모델 공개
News

Meta, 콘크리트 배합 설계를 위한 BOxCrete AI 모델 공개

메타가 미국산 재료를 사용해 지속 가능한 콘크리트 배합을 설계하는 오픈소스 AI 모델인 Bayesian Optimization for Concrete(BOxCrete)를 공개했습니다. 이 모델은 이전 버전 대비 향상된 노이즈 내성과 슬럼프 예측 능력을 갖추고 있습니다.

OpenClawRadar
Anthropic, ChatGPT/Gemini에서 Claude로 전환 시 메모리 가져오기 기능 추가
News

Anthropic, ChatGPT/Gemini에서 Claude로 전환 시 메모리 가져오기 기능 추가

Anthropic의 새로운 메모리 가져오기 기능을 통해 사용자는 ChatGPT, Gemini 또는 기타 AI에서 Claude로 선호도, 프로젝트, 컨텍스트 및 작업 스타일을 약 두 번의 복사-붙여넣기 단계로 전송할 수 있어 처음부터 다시 학습할 필요가 없습니다.

OpenClawRadar