Optio: AI 코딩 에이전트를 위한 자동화된 CI/CD
Optio는 코딩 작업을 자동으로 완료하고 PR을 머지하는 시스템입니다. 인간의 개입 없이 말이죠. 작업을 한 번만 제출하면(수동 입력, GitHub Issue, 또는 Linear 티켓으로), 나머지는 Optio가 알아서 처리합니다. 격리된 환경을 준비하고, AI 에이전트를 실행하고, PR을 열고, CI를 모니터링하고, 코드 리뷰를 촉발하고, 실패를 자동으로 수정하고, 모든 게 통과하면 병합하는 식으로요.
Optio의 핵심은 피드백 루프입니다. CI가 실패하면 에이전트가 자동으로 재개되는데, 실패 컨텍스트를 함께 받게 됩니다. 리뷰어가 변경을 요청하면, 에이전트가 리뷰 코멘트를 읽고 수정본을 올립니다. 모든 게 통과하고 승인받으면 PR은 squash-merge되고 이슈가 닫힙니다. 당신이 해야 할 일은 작업 설명뿐이고, Optio가 완성까지 책임집니다.
대시보드와 상세 보기
대시보드에서는 실시간으로 실행 중인 에이전트, Pod 상태, 비용, 최근 활동을 한눈에 볼 수 있습니다.
작업 상세 보기는 에이전트 출력을 라이브 스트리밍하고, 파이프라인 진행 상황, PR 추적, 비용 분석을 보여줍니다.
어떻게 동작하는가
작업 생성 에이전트 실행 루프 종료
─────────────────── ────────────────────── ──────────────────────
GitHub Issue → Repo pod 준비 → CI 실패?
수동 입력 git worktree 생성 → 에이전트 재개 (실패 컨텍스트 포함)
Linear 티켓 Claude Code / Codex 실행 리뷰 변경 요청?
→ 에이전트 재개 (피드백 포함)
PR 오픈 → CI 통과 + 승인?
→ Squash-merge + 이슈 닫기
Intake(입수): 작업은 웹 UI, GitHub Issues(원클릭 할당), 또는 Linear 티켓에서 옵니다.
Provisioning(준비): Optio는 저장소용 Kubernetes pod를 찾거나 생성하고, 격리를 위해 git worktree를 만듭니다.
Execution(실행): AI 에이전트(Claude Code 또는 OpenAI Codex)가 설정된 프롬프트, 모델, 옵션으로 돌아갑니다.
PR 라이프사이클: Optio는 30초마다 PR을 폴링해서 CI 상태, 리뷰 상태, 머지 준비 상황을 확인합니다.
Feedback loop(피드백 루프): CI 실패, 머지 충돌, 리뷰 피드백이 발생하면 자동으로 에이전트가 컨텍스트와 함께 재개됩니다.
Completion(완성): PR은 squash-merge되고, 연결된 이슈는 닫히며, 비용이 기록됩니다.
핵심 기능들
자동화된 피드백 루프
이게 Optio를 다른 솔루션과 구별하는 가장 중요한 특징입니다. 에이전트를 실행하고 떠나는 게 아니라, PR을 계속 모니터링하면서 완성까지 주도합니다:
- CI 실패 시 자동 재개 — 실패한 체크의 이름과 함께 에이전트가 다시 큐에 들어갑니다
- 머지 충돌 시 자동 재개 — 에이전트에게 리베이스하고 force-push하도록 지시합니다
- 리뷰 피드백 시 자동 재개 — 리뷰어 코멘트가 재개 프롬프트로 전달됩니다
- 자동 머지 — CI를 통과하고 리뷰가 승인되면 PR을 squash-merge합니다
- 자동 이슈 종료 — 연결된 GitHub Issues는 머지된 PR 링크와 함께 닫힙니다
Pod-per-repo 아키텍처
각 저장소마다 하나의 장기 실행 Kubernetes pod가 있습니다. Pod는 저장소를 한 번 클론한 후 계속 살아있게 됩니다. 각 작업은 자신만의 git worktree를 받으므로, 여러 작업이 동시에 실행되어도 서로 간섭하지 않습니다.
- 다중 pod 스케일링 — 저장소는 단일 pod를 넘어 확장 가능합니다(maxPodInstances는 최대 20)
- 영구 볼륨 — 설치된 도구와 캐시는 pod 재시작 후에도 유지됩니다
- 유휴 정리 — pod는 10분간 비활성화된 후 회수됩니다(설정 가능)
- 헬스 모니터링 — 충돌하거나 OOM으로 죽은 pod는 자동 감지되어 재시작됩니다
- Worktree 라이프사이클 — 재시도를 위한 유예 기간을 포함하여 자동으로 정리됩니다
코드 리뷰 에이전트
Optio는 원본 코딩 작업의 하위 작업으로 자동으로 리뷰 에이전트를 시작할 수 있습니다:
- CI 통과, PR 오픈, 또는 수동으로 촉발됩니다
- 별도의 리뷰 전용 프롬프트와 모델로 실행됩니다(리뷰는 더 저렴한 모델 사용 가능)
- 차단 방식 — 부모 작업은 리뷰 완료 전까지 머지를 기다립니다
- 저장소별로 설정 가능하며 커스텀 리뷰 프롬프트 템플릿을 지원합니다
저장소별 에이전트 튜닝
각 저장소는 개별적으로 설정할 수 있습니다:
- Claude 모델 — Opus 또는 Sonnet, 컨텍스트 윈도우(200k 또는 1M), thinking 온/오프, effort level
- 컨테이너 이미지 — 저장소 내용에서 자동 감지(Node, Python, Go, Rust, Full) 또는 커스텀 Dockerfile
- 프롬프트 템플릿 — Handlebars 스타일 템플릿에 {{variables}} 및 {{#if}} 조건문 지원
- 동시성 — 저장소당 최대 동시 작업 수, 저장소당 최대 pod 수, pod당 최대 에이전트 수
- 추가 패키지와 설정 명령 — pod 시작 시 실행되는 apt 패키지와 셸 명령
- .optio/setup.sh — 클론 후 실행되는 저장소 레벨 설정 스크립트
작업 관리
- 우선순위 큐 — 정수 우선순위와 드래그로 재정렬 가능
- 대량 작업 — 실패한 작업 모두 재시도, 활성 작업 모두 취소
- 하위 작업 시스템 — 자식 작업, 순차적 파이프라인 단계, 리뷰 하위 작업
- 비용 추적 — 작업별 USD 비용, 분석 대시보드(일일 트렌드, 저장소별 분석, 상위 작업)
- 오류 분류 — 실패는 분류되며(인증, 네트워크, 타임아웃, 리소스 등), 인간이 읽을 수 있는 설명과 제안된 해결책을 제공합니다
통합
- GitHub Issues — UI에서 이슈 탐색, 원클릭 Optio 할당, 자동 라벨링 및 PR 링크 코멘트
- Linear — 실행 가능한 티켓 가져오기, 상태 동기화, 코멘트 추가
- 다중 제공자 OAuth — GitHub, Google, GitLab 인증
- Claude Code + OpenAI Codex — API 키 또는 Max Subscription(OAuth 토큰) 인증
실시간 UI
- 라이브 로그 스트리밍 — 구조화된 에이전트 출력을 WebSocket으로 스트리밍
- 파이프라인 진행률 — 시각적 단계 추적(대기 → 설정 → 실행 → PR → CI → 리뷰 → 머지 → 완료)
- 이벤트 타임라인