사람은 // TODO(bug/12345): 이 분기 제거 같은 주석을 보고도 그냥 지나갑니다. 에이전트는 그렇지 않을 때가 있습니다. Google Developers Blog가 2026년 11월 6일 공개한 Agent Distraction은 이 차이를 데이터로 보여 줍니다. 이미 해결된 버그를 가리키는 주석 하나가 에이전트의 작업 시간을 눈에 띄게 늘릴 수 있다는 내용입니다.
무엇을 측정했나
저자(Sam Saccone, Madhuri Garikapati)는 TODO(bug/...)와 FIXME(bug/...)를 "오래된 정보"의 대리 지표로 썼습니다. 코드를 고치고도 주석은 남기고, 정작 기록은 이슈 트래커에 있기 때문입니다. 에이전트 분산 트레이스를 각 TODO가 가리키는 버그의 현재 상태, 사용자 프롬프트와 대조해 "시킨 일"과 "스스로 벌인 일"을 구분했습니다. 글은 수천 명의 엔지니어와 수억 개의 에이전트 단계를 분석했다고 밝히지만 정확한 세션 수와 인원은 공개하지 않았습니다.
| 지표 | 값 |
|---|---|
| 버그 참조 TODO/FIXME에 노출된 세션 | 13% |
| 노출된 경우 중 에이전트가 해당 버그를 따라간 비율 | 6% (94%는 무시) |
| 그 후속 행동 중 사용자가 시키지 않은 비율 | 83% |
| 시키지 않은 우회 중 이미 닫힌 티켓을 쫓은 비율 | 41% |
| 시키지 않은 우회 중 아직 열린 버그를 쫓은 비율 | 57% |
| 우회가 나타난 세션의 증가폭 (통제 변수 반영) | 단계 +70%, 토큰 +77%, 대기 시간 +105% |
출처는 모두 위 Google 글이며, 제가 재계산하거나 재현하지 않았습니다.
숫자를 읽는 법
가장 눈에 띄는 것은 70·77·105%지만, 먼저 봐야 할 숫자는 6%입니다. 대부분의 에이전트는 TODO를 무시합니다. 문제는 드물게 따라갈 때 비용이 크다는 점입니다.
열린 버그를 쫓은 경우는 더 위험합니다. 글에 따르면 그중 39%는 코드 수정까지 이어졌습니다. 닫힌 티켓을 쫓는 것은 시간 낭비로 끝나지만, 열린 버그를 건드리면 요청하지 않은 변경이 diff에 섞입니다. 글의 사례에서도 한 에이전트가 요청 밖의 ModelDownloaderV1 코드를 수정했고, 개발자가 따지자 범위를 넘었다고 인정했습니다.
인과인가, 연관인가
저자들은 개발자, 코드베이스 복잡도, 작업 유형, 모델 등급, 읽은 파일 수, 프롬프트 길이 등을 통제한 고정효과 회귀를 썼습니다. 그래도 관찰 연구입니다. 증가폭은 "우회가 나타난 세션이 그렇지 않은 세션보다 이만큼 길었다"는 연관이고, TODO를 지우면 정확히 그만큼 줄어든다는 보장은 아닙니다. 또 하나의 회사 내부 도구에서 나온 수치라 독립 재현은 없습니다. 정리 작업의 "95% 이상 승인율"도 사람 리뷰어가 삭제를 승인한 비율이지, 에이전트 성능이 개선됐다는 측정이 아닙니다.
우리 저장소에 적용하기
Google이 한 방식은 단순합니다. 에이전트가 코드베이스를 훑어 "해결됨" 상태 참조를 찾고, 상태 플래그만 믿지 않고 버그 이력·파일 이력·코드 변경을 확인한 뒤, 확실히 불필요한 것만 리뷰에 올렸습니다. 6개월간 수천 개를 제거했다고 합니다.
작은 팀이라면 이렇게 시작할 수 있습니다. 아래는 제가 실행해 보지 않은 예시이므로 저장소 규칙에 맞게 바꿔 쓰세요.
# 이슈 번호가 붙은 TODO/FIXME 목록 (예시 패턴)
grep -rnE "(TODO|FIXME)\((#|bug/|b/)?[0-9]+\)" src/
- 목록의 이슈를 트래커에서 조회해 닫힌 것부터 후보로 추립니다.
- 주석 삭제는 사람이 리뷰합니다. 상태가 닫혔어도 주석이 설명하던 제약이 남아 있을 수 있습니다.
- 정리와 별개로 에이전트 지침에 범위 제한을 넣습니다. 예: "요청받지 않은 이슈 번호는 조회하거나 수정하지 말 것."
한계와 남은 질문
- 이 연구는 버그 참조 TODO만 다룹니다. 오래된 README, 폐기된 스펙 문서의 영향은 측정되지 않았습니다.
- 모델과 하네스에 따라 6%는 달라질 수 있습니다. 우리 환경의 값은 우리 트레이스로 재야 합니다.
- TODO를 지우는 비용과 효과의 균형은 팀마다 다릅니다. 에이전트를 거의 쓰지 않는 코드라면 우선순위가 낮습니다.
결론
에이전트가 일하는 코드베이스에서 방치된 주석은 더 이상 "무해한 잡음"이 아닙니다. 다만 근거는 하나의 회사에서 나온 관찰 데이터입니다. 먼저 자기 환경에서 TODO 노출 비율과 불필요한 우회 비율을 세어 보고, 정리와 범위 제한을 함께 적용하세요. 컨텍스트에 무엇이 들어가는지 관리하는 문제는 에이전트 토큰 트래픽과 재읽기 비용, 에이전트 기억 3층과도 이어집니다.
참고
- Google Developers Blog, Agent Distraction (2026-11-06, 2026-11-07 확인)