Devin과 OpenInspect: 백그라운드 에이전트와 자율 코딩으로의 전환
Devin과 OpenInspect: 백그라운드 에이전트와 자율 코딩으로의 전환
백그라운드 에이전트로의 전환
AI 코딩은 IDE에서 "손잡아 주는" 방식에서 "백그라운드 에이전트"—클라우드 기반 시스템이 자율적으로 개발 프로세스를 주도하는 방식으로 전환되고 있습니다. 2025년 12월경(Opus 4.5와 GPT 5.2와 같은 모델)에서 중요한 모델 전환점이 발생했으며, 이를 통해 에이전트가 최소한의 마찰로 사양에서 완성된 PR까지 이동할 수 있는 실용적인 "spec-to-pull request" 워크플로우가 가능해졌습니다.
Cognition에서는 이 전환으로 병합된 PR이 7배 성장했으며, Devin에게 귀속된 커밋 비율이 1월의 16%에서 3월에는 80%로 급증했습니다.
백그라운드 에이전트 아키텍처
프로덕션 수준의 백그라운드 에이전트를 구축하려면 에이전트 실행 환경에 대한 두 가지 주요 아키텍처 패턴 중 하나를 선택해야 합니다:
Harness In-the-Box vs. Out-of-the-Box
- Harness In-the-Box: 에이전트가 샌드박스 내부에서 직접 실행됩니다. 상태 관리가 더 간단하지만, 비밀 정보를 박스 안에 배치해야 하므로 예측할 수 없는 AI에 의해 실수로 유출될 위험이 있습니다.
- Harness Out-of-the-Box: "뇌"(에이전트 로직 및 제어 플레인)는 외부에서 실행되고, 샌드박스는 "손"(실행 환경) 역할을 합니다. 이는 고권한 비밀을 에이전트가 조작하는 머신과 분리하기 때문에 더 복잡하지만 보안성이 높은 아키텍처입니다.
인프라 및 샌드박스 요구사항
- Full VMs vs. Docker: Docker는 인프라에 유용하지만, 에이전트가 실제 애플리케이션을 실행하고 중첩 가상화(예: Android 에뮬레이터 실행)를 수행하며 진정한 보안 경계를 제공하려면 전체 VM이 종종 필요합니다.
- Repo Setup: 에이전트 배포에서 가장 어려운 문제 중 하나는 "repo setup"—에이전트가 올바른 종속성, 자격 증명 및 환경을 갖추어 코드를 자율적으로 실행하고 테스트하도록 보장하는 것입니다.
- Fast Restore: 긴 부팅 시간을 피하기 위해 Cognition은 파일 시스템 전체가 아니라 파일 시스템의 차이점만 처리하여 VM을 빠르게 시작·중지할 수 있는 블록‑diff 파일 저장 형식을 개발했습니다.
테스트 도전 과제
테스트는 단순한 "컴퓨터 사용"(화면 좌표 클릭) 이상의 문제 해결 과제입니다. 효과적인 자율 테스트를 위해 에이전트는 다음을 수행해야 합니다:
- 올바른 코드 버전으로 프런트엔드와 백엔드 애플리케이션을 어떻게 조율할지 논리적으로 판단합니다.
- 관리자 권한이나 특정 기능 플래그가 필요할 수 있는 특정 기능을 트리거합니다.
- 스크린샷 및 비디오 녹화를 사용해 결과를 검증하고, 인간 리뷰어에게 "작동한다는 것을 알았다"는 병합 순간을 제공합니다.
메모리와 지식 관리
메모리는 아직 크게 해결되지 않은 검색 문제로 남아 있습니다. 현재 접근 방식은 다음과 같습니다:
- 자동 생성 메모리: Devin은 사용자에게 메모리를 제안하는 시스템을 사용합니다(예: "Cole이 초안 PR을 좋아한다는 것을 기억할까요?"). 사용자는 이를 승인하거나 거부합니다.
- 메모리 가지치기 및 편집: 시스템은 선호도가 변함에 따라 에이전트가 기존 메모리를 편집할 수 있도록 진화하고 있습니다.
- 파일 시스템 기반 메모리: 메모리를 파일 시스템(예:
memory.md파일)처럼 취급하여 에이전트가 자율적으로 탐색하고 유지 관리하는 추세가 있습니다.
"Vibe Coding"과 코드베이스 부패 위험
통제되지 않은 "vibe coding"—엄격한 검토 없이 AI 코드를 자동 병합하는 행위—는 코드베이스 부패를 초래합니다. 실험에 따르면 이러한 방식으로 유지된 코드베이스는 약 2주 정도는 관리 가능하지만, 중복 및 일관성 없는 패턴으로 인해 관리가 어려워집니다.
주요 위험:
- 최악의 엔지니어로 회귀: 엔지니어가 코드를 감사하지 않고 AI를 사용하면 AI가 그 나쁜 패턴을 학습하고 복제하여 "슬롭"이 기하급수적으로 증가합니다.
- AI 코드 냄새: 흔히 발생하는 AI 생성 패턴으로는 Python에서
getattr을 과도하게 사용해 충돌을 피하려는 보상 해킹, 모듈 이름을 변경하지 않기 위해 불필요한 역호환성 import 등이 있습니다.
백그라운드 에이전트의 프로덕션 사용 사례
표준 기능 개발 외에도 백그라운드 에이전트는 다음과 같이 배포되고 있습니다:
- SRE 자동 트리아지: 에이전트가 알림(Sentry, DataDog 등) 첫 대응자로서 로그와 데이터베이스에서 컨텍스트를 수집하고, 인간이 개입하기 전에 문제를 해결하는 PR을 제안합니다.
- 비엔지니어 기여: 제품 관리자(PM)나 마케팅 팀이 Slack 프롬프트를 통해 빠른 버그 수정이나 변경을 직접 배포합니다.
- 고객 지원: 에이전트가 전체 코드베이스 컨텍스트를 활용해 고객이 보고한 버그를 분석하고 즉시 기술적인 답변을 제공하거나 엔지니어링을 위한 트리아지를 수행합니다.
- 보안 스캔: 코드베이스에 대한 지속적인 자율 보안 검토.