GitHub는 단일 호출의 토큰 수에 의존해 프로그래밍 에이전트의 효율성을 측정하면 오해의 소지가 있는 결과가 나올 수 있다고 봅니다. 출력이 짧아지면 모델이 명령을 다시 실행하거나 삭제된 정보를 요청해야 할 수 있으며, 그 결과 전체 작업 수준에서 라운드 수와 시간, 비용이 증가합니다. 이에 따라 회사는 개별 도구 응답의 크기가 아니라 작업의 최종 결과를 기준으로 GitHub Copilot의 개선 사항을 재평가했습니다.
에릭 크리스텐슨과 나발리스 클레시오스가 2026년 9월 2일 게시한 블로그 글에서 GitHub는 오프라인에서 에이전트 프로그래밍 작업을 평가하는 기준을 사용한 테스트를 통해 개발한 네 가지 변경 사항을 설명했습니다. 이후 출시 전에 사용자 대상 통제 실험으로 이를 검증했다고 밝혔습니다. GitHub Copilot 애플리케이션과 코드 검토를 포함한 여러 Copilot 제품은 동일한 기반 구조를 사용하며, 블로그 글의 예시는 GitHub Copilot CLI에서 가져온 것입니다.
왜 더 짧은 응답만으로는 충분하지 않은가?
GitHub는 셸 출력을 에이전트에 표시하기 전에 축약하는 RTK, 즉 Rust Token Killer 도구의 영향을 테스트했습니다. 테스트 설정에서는 중요한 일부 텍스트를 삭제하자 원본 출력을 다시 열거나 명령을 다시 실행하는 일이 발생했습니다. 그 결과 도구 응답의 로컬 크기는 줄었지만, 작업에는 평균적으로 더 많은 토큰과 더 긴 시간이 필요했습니다.
회사는 이 결과가 테스트한 통합 및 작업 부하에만 해당하며, 모든 RTK 설정이나 모든 출력 압축 방식에 대한 판단을 의미하지는 않는다고 강조했습니다. 실질적인 교훈은 평가 기준이 사용자 요청부터 최종 결과까지 확장되어야 하며, 복구와 재작업 라운드도 포함해야 한다는 것입니다.
선택적 출력 압축
GitHub의 해결책은 에이전트가 필요로 하는 정보는 유지하면서 반복되는 잡음을 압축하는 것이었습니다. 운영 분석에 따르면 설치, 빌드, 테스트 및 lint 출력에는 대체로 많은 반복이 포함되어 있는 반면, 코드와 유사한 출력 및 임의 명령의 결과에는 필수 정보가 포함될 수 있습니다.
출시된 버전은 다음 세 가지 정책을 채택했습니다.
- 임의의 스크립트뿐 아니라 cat, git diff, git show 같은 명령을 포함해 코드와 유사한 출력 및 임의 결과는 변경하지 않고 유지합니다.
- grep 결과와 파일 목록처럼 검색 결과를 재구성하되, 어떤 결과도 삭제하지 않습니다.
- 절감 효과가 클 때만 설치, 빌드, 테스트 및 진행 상황 출력을 압축합니다.
Copilot은 원본 전체 출력을 직접 가져올 수 있는 경로도 유지했습니다. GitHub는 이 경로의 사용을 안전장치이자 압축으로 인해 유용한 정보가 삭제되었다는 지표로 추적했습니다. 압축을 활성화한 오프라인 작업에서 회사는 작업 성공률의 통계적으로 유의미한 하락을 관찰하지 못했습니다. 또한 온라인 실험에서는 추적한 품질 지표에 본질적인 하락 없이 평균 비용이 소폭 감소했습니다.
불필요한 서식 제거
GitHub는 파일 내용을 모델에 표시하는 view 도구를 통해 가장 뚜렷한 비용 절감 중 하나를 달성했습니다. 이 도구는 각 줄에 줄 번호를 추가했지만, 현재 편집 도구는 주변 코드를 일치시키는 방식에 의존하며 일반적인 작업 흐름에서는 이러한 번호를 사용하지 않습니다. 따라서 회사는 파일을 읽을 때 이러한 접두사를 제거했으며, 차이점과 짧은 코드 조각에서는 줄 번호의 유용성을 유지했습니다.
이 변경으로 오프라인 에이전트 프로그래밍 작업 기준에서 모델 추론 비용이 약 5% 감소했습니다. 성공률은 예상되는 변동 범위 안에 머물렀고 편집 오류도 증가하지 않았습니다. Copilot CLI 사용자 대상 온라인 실험에서는 사용자당 일일 평균 추론 비용이 약 3% 감소했으며, GitHub가 측정한 품질이나 만족도 지표에 본질적인 하락은 없었습니다.
행동을 바꾸지 않고 지침 축약
task 도구의 지침은 도구 설명, 스키마, 에이전트 정의 및 시스템 지침에 걸쳐 누적되었습니다. GitHub는 지침을 자동으로 개선하는 루프를 사용해 텍스트를 약 절반으로 줄인 다음, 유지하려는 동작을 테스트했습니다.
그러나 첫 번째 온라인 실험에서는 오프라인 평가에서 드러나지 않았던 문제가 발견되었습니다. 신중한 병렬 처리 지침이 엄격한 일정 관리 정책으로 바뀌면서 독립적인 하위 에이전트가 순차적으로 작동한 것입니다. GitHub는 실험을 중단하고 이 동작에 대한 회귀 테스트를 추가한 뒤, 허용 및 금지 목록을 다음 한 문장으로 대체했습니다. “독립적인 에이전트는 병렬로 작업할 수 있습니다. 부작용을 고려하십시오.”
최종 형식은 각 라운드의 작업 도구 지침에서 약 1,300토큰을 줄였습니다. 이는 세션당 전체 지침 토큰의 약 1.8% 감소와 시간당 표준화 비용의 2.9% 감소에 해당하며, 측정된 평가에서 품질 저하는 관찰되지 않았습니다.
불필요한 결과 가져오기 라운드 제거
에이전트는 때때로 백그라운드에서 독립적인 작업을 수행합니다. 예를 들어 하위 에이전트가 조사를 진행하는 동안 긴 셸 명령을 병렬로 실행할 수 있습니다. 이전에는 이러한 작업의 완료 알림이 결과 자체 없이 전달되었기 때문에 에이전트가 Copilot이 이미 확보한 출력을 가져오기 위해 추가 호출을 해야 했습니다. 이제 시스템은 조건을 충족하는 완료 알림을 모아 완료된 결과를 기존 도구 결과 형식으로 함께 전송합니다.
셸 명령과 하위 에이전트를 결합한 예에서 작업 완료에는 이전에 모델 호출 네 번이 필요했습니다. 결과를 요청하는 호출 두 번과 결과를 처리하는 호출 두 번이었습니다. 변경 후에는 두 결과가 처리용 단일 호출로 함께 전달됩니다. 그 결과 AI Credits 단위로 측정한 평균 토큰 관련 사용량이 약 2.3% 감소했습니다.
실제로 무엇이 달라지는가?
GitHub의 경험은 프로그래밍 에이전트 개발자에게 중요한 원칙을 제시합니다. 가장 안전한 최적화는 가능한 한 많은 텍스트를 삭제하는 것이 아니라 모델에 애초에 필요하지 않은 작업을 제거하는 것입니다. 여기에는 사용되지 않는 서식, 시스템이 처리할 수 있는 대기 및 결과 가져오기 라운드, 복구 경로를 제공하면서 압축할 수 있는 반복이 포함됩니다.
반면 모든 결과를 테스트 환경 밖으로 일반화할 수는 없습니다. 파일 도구 지침을 지나치게 제한한 변경은 코드 검토에서는 성공했지만 Copilot CLI 실험에서는 비용을 증가시켰기 때문에 GitHub는 출시하지 않았습니다. 또한 git diff 압축은 기준 테스트에서 에이전트가 삭제된 정보를 복원하기 위해 원본 출력을 다시 연다는 사실이 드러난 후 제거되었습니다.
이 글이 입증하는 결론은 변경 사항을 사용될 작업, 워크플로 및 제품 수준에서 측정해야 한다는 것입니다. 이를 위해 오프라인 기준, 온라인 실험 및 명확한 동작 테스트를 함께 사용해야 합니다. 이러한 개선 사항이 특정 사용자에게 미치는 영향은 작업 유형과 도구, 그 출력에 따라 달라지며, 토큰 수의 국소적인 감소만으로는 추론할 수 없습니다.