Co-authored-by: Copilot <copilot@github.com>분명히 커밋 메시지 입력창에는 없었는데, 커밋 버튼을 누른 뒤에 멋대로 추가된 거다.
원인
VS Code 1.118.1 업데이트에서 git.addAICoAuthor 설정의 기본값이 바뀐 게 원인이다.
| 항목 | 이전 | 변경 후 |
|---|---|---|
| 기본값 | "off" | "all" |
"all" 이면 AI(Copilot)가 관여한 변경에 커밋 시 자동으로 Co-authored-by: Copilot <copilot@github.com> 트레일러를 추가한다.
왜 문제가 됐나
기능 자체보다 언제, 어떻게 동작하느냐가 핵심 문제였다.
올바른 UX였다면:
Copilot이 변경에 관여
커밋 메시지 입력창에
Co-authored-by:미리 표시사용자가 보고 → 유지하거나 삭제
커밋 버튼 클릭 → 그대로 저장
실제로 한 동작:
Copilot이 변경에 관여
사용자가 메시지 직접 작성
커밋 버튼 클릭
커밋 완료 후 후처리로 트레일러 삽입 ← 문제
커밋 버튼은 "이 내용으로 확정"이라는 의사표시다.
그 이후에 내용을 바꾸는 건 사용자 동의 모델 위반이다.
기술적인 버그도 있었다
// extensions/git/src/repository.ts
config.get('addAICoAuthor', 'off') // fallback이 'off'로 하드코딩스키마 기본값은 "all"로 바뀌었는데, 런타임 코드의 fallback은 여전히 "off"였다.
VS Code UI 환경에서는 "all"로 동작하고, 스키마가 로드 안 되는 특수 환경에서는 "off"로 동작하는 불일치 상황이 발생했다.
Copilot AI 코드 리뷰도 이 불일치를 잡아냈는데, 아이러니하게도 자기가 만든 기능에 AI가 "이거 되돌리세요"라는 리뷰를 단 셈이 됐다. 😅
커뮤니티 반응
👍 2 vs 👎 372
결국 VS Code 팀은 1.119에서 수정하겠다고 공식 발표했다.
"Sorry about the regression. I will work on fixing this in 1.119."
수정 항목으로 명시한 것은:
disableAIFeatures가 켜져 있을 때는 절대 동작하지 않도록AI가 실제로 관여하지 않은 변경에는 attribution 추가 안 하도록
기본값 변경 전 테스트 커버리지 확보
해결 방법 (롤백 전 버전 사용 중이라면)
.vscode/settings.json 또는 사용자 설정에 추가:
{
"git.addAICoAuthor": "off"
}정리
좋은 의도(AI 기여 투명성)도 UX 기본 원칙을 지키지 않으면 역효과가 난다. 미리 입력창에 보여주고 사용자가 선택하는 opt-in 방식
댓글 없음:
댓글 쓰기