핵심 요약
GitHub 블로그의 마틴 우드워드(Martin Woodward) 글에 따르면, 소프트웨어 개발의 패러다임이 키보드, 마우스, 편집기, 터미널 등 기존 도구를 조작하는 방식에서 의도를 표현하고 AI가 이를 수행하는 방식으로 이동하고 있습니다. AI는 단순한 코드 자동완성을 넘어 리포지토리를 이해하고, 적절한 모델을 선택하며, 작업을 계획하고, 도구를 사용해 파일을 편집하고, 명령어를 실행하며, 실패를 검사하는 과정을 개발자가 제어하는 경계 내에서 수행합니다. 예를 들어 GitHub Copilot의 에이전트 모드는 IDE 내에서 상호작용 루프를 유지하며, 코딩 에이전트는 이슈를 격리된 GitHub Actions 환경으로 가져와 검토용 풀 리퀘스트를 반환할 수 있습니다. 이러한 변화는 개발 과정에서 도구 탐색에 소요되는 시간을 줄이고 방향 설정, 맥락 공급, 제약 조건 정의, 증거 검토에 집중하게 만듭니다. 저자는 이를 구현하기 위해 모달리티(의도 포착), 하니스(계획 및 실행), 제어 평면(검사, 리디렉션, 승인)의 세 가지 레이어가 필요하다고 설명합니다. 또한 텍스트, 음성, 물리적 제어 등 다양한 양식 간 이동이 가능해진다고 밝혔습니다. 특히 로지텍(Logitech)의 MX Keypad와의 협업을 통해 개발자가 반복적인 동작을 프로그래밍 가능한 입력으로 바꿀 수 있는 실험을 진행 중입니다. GitHub Copilot 앱에서 키 하나로 매개변수화된 프롬프트를 제출하거나, Copilot 세션을 열거나 재개하고, IDE 명령을 호출하거나 다단계 시퀀스를 트리거할 수 있습니다. 다만, 모든 개발자가 추가 기기가 필요한 것은 아니며, 실제 집중력을 유지하는 데 도움이 되는지 여부는 개발자가 직접 판단해야 합니다. 이와 함께 에이전트가 유지해야 할 리포지토리 및 조직 맥락의 범위, 자동으로 실행할 수 있는 도구 호출, 자격 증명 및 네트워크 접근 권한의 범위, 다중 에이전트 간 조정 문제 등 여전히 해결해야 할 엔지니어링 과제들이 남아 있습니다.