
AI 코딩 에이전트 SWE - 상위 수준 아키텍처 (High-Level Architecture)
요약
자율형 코딩 에이전트인 SWE의 상위 수준 아키텍처를 설명합니다. GitHub 이슈 수신부터 에이전트 오케스트레이터, 도구 활용, 샌드박스 환경을 거쳐 최종 PR 생성까지의 전체 워크플로우를 다룹니다.
핵심 포인트
- GitHub 이슈를 트리거로 하는 자율적 워크플로우 구성
- 모델 게이트웨이를 통한 효율적인 모델 라우팅 전략
- 코드 인텔리전스와 샌드박스 환경을 통한 안전한 코드 실행
- 비용 및 무한 루프 방지를 위한 가드레일과 관측성 확보
이것은 자율형 코딩 에이전트의 주요 구성 요소와 GitHub 이슈가 접수된 티켓으로부터 사람이 검토하는 풀 리퀘스트 (Pull Request)에 이르기까지 어떻게 흐르는지를 보여줍니다.
- GitHub issue webhook: 실행이 시작되는 지점으로, 개발자가 생성한 실제 GitHub 이슈가 전달됩니다. 때로는 스택 트레이스 (Stack trace)가 포함된 상세한 내용일 수도 있고, 때로는 "모바일에서 로그인이 안 됩니다"와 같은 한 줄짜리 내용일 수도 있습니다.
- Ingestion and triage: 이슈를 수신하여 해당 티켓이 실행 가능한지 여부를 결정하며, 한도 없이 비용을 지출하지 않도록 자체 예산을 가진 실행 (Run)을 생성합니다.
- Agent orchestrator: 시스템의 두뇌 역할을 하며, 모델과 통신하고, 다음에 호출할 도구를 결정하며, 수정을 적용하고, 테스트를 실행한 뒤 그 결과를 다시 피드백하는 자율 루프 (Autonomous loop)입니다.
- Model gateway: 모델 앞단의 얇은 라우팅 레이어로, 어려운 추론은 강력한 모델에 보내고 쉬운 단계는 저렴한 모델에 보낼 수 있게 합니다.
- Tools: 에이전트의 손 역할을 하며, 코드 검색, 파일 읽기, diff를 적용하는 파일 편집기, 그리고 빌드 및 테스트 실행을 위한 커맨드 러너 (Command runner)로 구성됩니다.
- Code intelligence: 레포지토리의 코드 맵 (Code map)과 심볼 인덱스 (Symbol index)를 구축하여, 에이전트가 "이 함수가 어디에 정의되어 있나요?"라고 물었을 때 개발자가 정의로 이동 (Go-to-definition) 기능을 사용하는 것처럼 정확한 답변을 얻을 수 있게 합니다.
- Sandbox environment: 에이전트가 특정 커밋 시점의 레포지토리를 새로 체크아웃하여 빌드하고 테스트를 실행하는 격리된 환경입니다. 프로덕션 접근 권한, 비밀 정보 (Secrets), 개방된 네트워크는 허용되지 않습니다.
- PR builder: 테스트가 통과(Green)되고 이슈가 해결되면, 최종 diff를 사람이 검토할 수 있도록 명확한 설명이 포함된 풀 리퀘스트 (Pull Request)로 변환합니다.
- Guardrails: 비용 상한, 반복 횟수 상한, 강제 푸시 (Force-push) 금지 규칙 등 엄격한 제한을 강제하여, 자율 루프가 무한히 실행되거나 비용을 과다하게 소모하는 것을 방지합니다.
- Observability: 모든 도구 호출, 모든 모델 응답, 모든 테스트 결과 및 비용을 추적하여, 에이전트가 무엇을 보고 무엇을 했는지 정확하게 재현할 수 있게 합니다.
[IMG:https://pbs.twimg.com/media/HLPbwiFaIAAiehy.jpg]
AI 자동 생성 콘텐츠
본 콘텐츠는 X AI 사용법/팁의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기