Vercel 기반 오픈 에이전트 구축 가이드: 코딩 자동화의 새로운 표준
요약
Open Agents는 Vercel 환경에서 백그라운드 코딩 에이전트를 개발하고 실행하기 위한 오픈소스 레퍼런스 앱입니다. 이 시스템은 웹 UI, 에이전트 워크플로우, 샌드박스 오케스트레이션의 3계층 구조로 되어 있습니다. 핵심은 에이전트가 격리된 샌드박스 VM 외부에서 동작하며 파일 읽기, 수정, 쉘 명령어 등 도구(tools)를 통해 상호작용한다는 점입니다. 이를 통해 요청 라이프사이클에 종속되지 않고 지속적이고 독립적인 다단계 코딩 작업을 수행할 수 있으며, 자동 커밋 및 PR 생성까지 지원하여 개발 워크플로우를 혁신합니다.
핵심 포인트
- 3계층 아키텍처 (Web -> Agent workflow -> Sandbox VM)를 채택하여 에이전트 실행과 격리 환경을 분리함으로써 안정성과 확장성을 확보했습니다.
- 에이전트는 샌드박스 내부가 아닌 외부에서 동작하며, 파일 시스템 접근, 검색, 쉘 명령어 등 도구를 통해 코드를 변경하고 테스트합니다.
- Workflow SDK 기반의 지속적(durable) 다단계 실행을 지원하여, 세션 재연결 및 취소 기능이 가능한 장기적인 코딩 작업을 처리할 수 있습니다.
- 자동 커밋, 브랜치 생성, PR 생성을 옵션으로 제공하며, GitHub App 통합을 통해 실제 개발 환경에 깊숙이 관여합니다.
- Vercel OAuth와 GitHub App 통합을 위해 PostgreSQL, Redis/KV 등의 백엔드 서비스 및 다양한 민감한 환경 변수 설정이 필수적입니다.
Open Agents는 Vercel 플랫폼 위에서 코딩 에이전트를 구축하고 실행하는 것을 목표로 하는 오픈소스 레퍼런스 애플리케이션입니다. 이 프로젝트의 핵심 가치는 '프롬프트(Prompt)를 코드 변경(Code Changes)'으로 직접 연결하며, 개발자의 로컬 장비 개입 없이 백그라운드에서 코딩 작업을 자동화할 수 있게 한다는 점에 있습니다.
💡 시스템 아키텍처: 3계층 분리 구조 (Three-Layer System)
Open Agents는 다음과 같은 세 개의 독립적인 계층으로 구성되어 있어 높은 확장성과 안정성을 보장합니다:
- Web UI: 인증(auth), 세션 관리, 채팅 인터페이스 및 스트리밍 출력을 담당하는 사용자 접점입니다.
- Agent Workflow (워크플로우): Vercel 위에서 지속적이고 내구성 있는(durable) 워크플로우로 실행되는 에이전트의 핵심 로직입니다. 이 부분이 요청 라이프사이클에 묶이지 않도록 설계된 것이 가장 큰 특징입니다.
- Sandbox VM: 실제 코드 실행 환경을 제공하는 격리된 가상 머신입니다. 파일 시스템, 쉘(shell), Git 기능, 개발 서버 포트 등을 포함합니다.
핵심 분리 원칙: 에이전트는 이 샌드박스 VM 내부에서 동작하지 않습니다. 대신, 외부에서 실행되면서 file reads, edits, search, shell commands와 같은 **도구(tools)**를 통해 샌드박스와 상호작용합니다. 이러한 분리는 다음과 같은 기술적 이점을 제공합니다:
- 독립적인 생명 주기: 에이전트 실행과 샌드박스 VM의 생명 주기가 서로 독립적으로 작동할 수 있습니다.
- 유연한 진화: 모델/제공자 선택이나 샌드박스 구현 방식이 제어 평면(control plane)을 건드리지 않고 개별적으로 발전할 수 있게 합니다. VM은 순수한 실행 환경으로만 유지됩니다.
✨ 주요 기능 및 기술적 특징
- 도구 기반 코딩: 파일, 검색, 쉘, 태스크, 스킬, 웹 도구를 활용하는 채팅 기반의 코딩 에이전트입니다.
- 지속적인 다단계 실행: Workflow SDK를 백본으로 사용하여 여러 단계에 걸친 실행을 지원하며, 스트리밍 및 취소 기능까지 제공합니다. 이는 장시간의 복잡한 개발 작업을 안정적으로 처리할 수 있음을 의미합니다.
- 격리된 샌드박스: 스냅샷 기반(snapshot-based)으로 재개 가능한 격리된 Vercel 샌드박스를 사용하며, 비활성화 시 하이버네이션(hibernate) 기능을 통해 자원을 효율적으로 관리합니다.
- 개발 워크플로우 통합: 리포지토리 클론 및 브랜치 작업이 샌드박스 내에서 가능하며, 성공적인 실행 후에는 선택적 자동 커밋, 푸시, 그리고 PR 생성까지 지원하여 개발 사이클을 완성합니다.
⚙️ 배포 및 환경 설정 (Deployment Considerations)
Open Agents를 실제 서비스로 구현하려면 복잡한 백엔드 인프라와 민감한 환경 변수 관리가 필요합니다. 필수적으로 다음 요소들이 요구됩니다:
- 데이터베이스:
POSTGRES_URL과 같은 데이터 저장소 연결이 필요하며, 세션 및 상태 유지를 위해 Redis/KV 등의 캐시 시스템도 사용될 수 있습니다. - 인증 통합: Vercel OAuth와 GitHub App을 통해 사용자 인증 및 리포지토리 접근 권한을 관리합니다. 특히 GitHub 기능을 사용하려면
GITHUB_CLIENT_ID,GITHUB_APP_ID등 여러 민감한 환경 변수 설정이 필수적입니다. - 보안 및 암호화: 데이터 전송 및 저장 시 보안 유지를 위해 JWE Secret, Encryption Key 등의 키 관리가 요구됩니다.
결론적으로, Open Agents는 단순한 데모를 넘어, 엔터프라이즈급의 지속적인(durable) AI 에이전트 워크플로우를 Vercel이라는 현대적 플랫폼 위에서 구현하는 방법을 제시하는 포괄적인 레퍼런스입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending TypeScript (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기