github4분 읽기

큐레이션 요약

실무에서의 지속적인 AI: 에

원문 읽기(새 탭에서 열림)

소프트웨어 개발에는 테스트·빌드처럼 규칙으로 자동화할 수 있는 작업뿐 아니라, 코드의 의도와 맥락을 해석해야 하는 작업도 많다. GitHub가 제안하는 Continuous AI는 CI를 대체하지 않고, 자연어로 정의한 기대사항을 에이전트가 지속적으로 검토하도록 해 문서 불일치, 성능 회귀, 버그 추세 분석 같은 판단 중심 업무를 자동화한다. 다만 에이전트의 권한과 산출물을 명시적으로 제한해 개발자의 검토와 통제를 유지하는 것이 핵심이다.

CI가 해결하지 못하는 판단 중심 업무

  • CI는 테스트, 빌드, 포맷팅, 정적 분석처럼 결과를 이진적으로 판단할 수 있는 작업에 적합하다.
    • 테스트가 통과했는지
    • 빌드가 성공했는지
    • 정해진 린트 규칙을 위반했는지
  • 반면 다음과 같은 문제는 단순한 규칙이나 휴리스틱만으로 판단하기 어렵다.
    • 문서의 설명과 실제 구현이 서로 다른 경우
    • 접근성 린터는 통과하지만 사용자에게 여전히 혼란스러운 문구
    • 메이저 버전 변경 없이 의존성의 플래그 동작이 바뀐 경우
    • 반복문 안에서 정규식을 컴파일해 발생하는 미묘한 성능 저하
    • 실제 제품과 상호작용해야만 드러나는 UI 동작 변화
  • 이런 문제는 코드가 의도와 일치하는지, 사용자 경험이나 성능에 문제가 없는지를 해석해야 한다.
  • GitHub Next는 코드 생성 중심의 AI에서 나아가, 개발자의 인지 부담이 큰 반복 업무를 대신 처리하는 방향을 제시한다.

Continuous AI의 개념

  • Continuous AI는 CI를 대체하는 새로운 제품이 아니라 자동화 패턴이다.
  • 핵심 구조는 다음과 같다.
    • 자연어 규칙
    • 에이전트의 추론
    • 저장소 안에서의 지속적 실행
  • 개발자는 코드에 대해 “무엇이 참이어야 하는가”를 자연어로 정의한다.
  • 에이전트는 저장소를 분석한 뒤 다음과 같은 검토 가능한 산출물을 만든다.
    • 수정 제안
    • 풀 리퀘스트
    • 이슈
    • 댓글 또는 토론
    • 프로젝트 활동·품질 관련 인사이트
  • 예시로는 다음과 같은 워크플로가 있다.
    • 문서와 구현의 차이를 찾아 원인을 설명하고 수정안 제시
    • 매주 프로젝트 활동, 버그 증가 추세, 코드 변경량이 급증한 영역 요약
    • 핵심 경로의 성능 회귀 탐지
    • 사용자 흐름에서 의미상 회귀가 발생했는지 확인
  • 실제 워크플로는 한 문장으로 완성되지 않는다. 개발자와 에이전트가 의도, 제약 조건, 허용 가능한 결과를 반복적으로 조정하며 만든다.

YAML과 자연어의 역할 분담

  • 문제가 명확한 규칙으로 표현된다면 YAML, 스키마, 린터, 기존 CI가 여전히 가장 적합하다.
  • 그러나 “문서와 코드가 불일치하면 찾아서 수정하라”와 같은 요구는 정규식이나 스키마만으로 의미를 보존하기 어렵다.
  • 자연어는 코드의 의미와 개발자의 의도를 설명하는 데 유리하다.
  • 따라서 Continuous AI는 YAML 기반 CI를 대체하는 것이 아니라, CI가 다루기 어려운 의미·맥락 중심의 자동화를 보완한다.

권한과 안전한 산출물

  • 에이전트는 기본적으로 저장소에 읽기 전용 권한만 가진다.
  • 명시적으로 허용하지 않는 한 다음 작업을 수행할 수 없다.
    • 이슈 생성
    • 풀 리퀘스트 생성
    • 파일이나 콘텐츠 수정
  • Safe Outputs는 에이전트가 만들 수 있는 산출물과 조건을 명시하는 결정적 계약이다.
  • 워크플로를 정의할 때 개발자는 에이전트가 어떤 결과를 만들 수 있는지와 그 제약을 지정한다.
  • 예상 밖의 동작에 대비해 다음 안전장치를 둔다.
    • 출력 정제
    • 명시적 권한 관리
    • 전체 활동 기록 및 감사 가능성
    • 제한된 권한으로 인한 예측 가능한 영향 범위
  • 따라서 목표는 AI가 개발을 자율적으로 장악하는 것이 아니라, 개발자가 정한 경계 안에서 반복적인 판단 업무를 수행하게 하는 것이다.

개발자의 검토를 유지하는 방식

  • 에이전트는 자율적으로 커밋을 확정하는 대신, 개발자가 검토할 수 있는 형태로 결과를 제출한다.
  • 가장 일반적인 출력은 풀 리퀘스트이며, 기존의 코드 리뷰 방식과 자연스럽게 연결된다.
  • 개발자는 AI가 생성한 결과를 검토하고, 자신의 판단과 취향을 최종적으로 유지한다.
  • 장기적으로는 개발자가 계속 직접 수행할 일과 AI에 위임할 일을 구분하는 것이 중요하다.

실무에서는 먼저 읽기 전용 분석과 보고서 생성부터 도입하고, 결과의 품질이 검증된 뒤 이슈 생성이나 풀 리퀘스트 작성 권한을 제한적으로 부여하는 방식이 안전하다. 결정적 규칙은 CI에 남기고, 의도·맥락·해석이 필요한 업무만 자연어 기반 에이전트 워크플로로 확장하는 것이 바람직하다.

큐레이션 요약을 이어서 읽어보세요.