코드를 안 읽고 고치겠다는 AI — 'dangerously-skip-reading-code' 플래그가 던진 질문
요즘 AI 코딩 에이전트를 쓰다 보면, 가끔 이런 생각이 듭니다. “얘는 왜 이렇게 파일을 많이 읽어보는 거지? 그냥 빨리 고쳐주면 안 되나?” 그런데 막상 “읽지 말고 그냥 해"라고 시키려니, 손이 떨립니다. 최근 개발자 커뮤니티에서 화제가 된 dangerously-skip-reading-code 플래그는 바로 이 묘한 긴장감의 한복판에 서 있습니다.
‘dangerously-’ 접두어가 의미하는 것
이름부터 심상치 않습니다. dangerously-로 시작하는 플래그는 보통 “당신이 무슨 짓을 하는지 정확히 알고 있을 때만 쓰세요"라는 경고문 같은 겁니다. React의 dangerouslySetInnerHTML이 대표적이죠. XSS 위험을 알면서도 HTML을 직접 주입하겠다는 선언입니다.
이번에 등장한 dangerously-skip-reading-code도 같은 결입니다. AI 에이전트에게 “기존 코드를 읽고 맥락을 파악하는 단계를 건너뛰고, 그냥 내 지시대로 작성해"라고 명령하는 옵션입니다. 빠릅니다. 그리고 위험합니다.
왜 이런 플래그가 필요해졌나
AI 코딩 에이전트의 작업 흐름을 한번 떠올려보세요. 사용자가 “이 함수에 로깅을 추가해줘"라고 하면, 에이전트는 보통 이렇게 움직입니다.
- 해당 파일을 읽습니다
- 관련 파일들을 grep으로 찾습니다
- 로깅 라이브러리가 어떻게 쓰이고 있는지 확인합니다
- 그제서야 코드를 수정합니다
신중합니다. 하지만 토큰을 많이 씁니다. 그리고 느립니다. 단순 작업일수록 이 오버헤드가 거슬리죠. “어차피 한 줄 추가하는 건데 왜 파일 다섯 개를 읽냐"는 불만이 누적되어 왔습니다.
YouTube의 한 영상(Claude Code Auto Mode: A Safer Way to Skip Permissions)에서 보듯, 권한 확인을 건너뛰는 모드는 이미 보편화되고 있습니다. 이제는 읽기까지 건너뛰는 단계로 넘어온 셈입니다.
위임의 스펙트럼
AI 에이전트에게 무엇을 어디까지 맡길 것인가. 이건 사실 스펙트럼의 문제입니다.
- 완전 수동: 모든 명령 하나하나 승인
- 읽기 자동 / 쓰기 승인: 정보 수집은 자유롭게, 변경은 확인
- 쓰기 자동 / 읽기 자동: 알아서 다 하되 맥락은 파악
- 읽기 스킵 / 쓰기 자동: 맥락 없이 그냥 실행 ← 새로 등장한 영역
가장 마지막 단계는 본질적으로 AI를 키보드처럼 다루는 것입니다. 내가 정확히 무엇을 원하는지 알고, AI는 그저 타이핑 속도를 빠르게 해주는 도구가 되는 거죠. 80,000 Hours의 최근 영상에서 다뤘던 ‘rogue deployments’ 우려와는 정반대 지점에 있는, 개발자가 모든 책임을 지겠다는 선언입니다.
신뢰의 비대칭 문제
흥미로운 건, 이 플래그가 던지는 진짜 질문은 기술이 아니라 신뢰의 문제라는 점입니다.
내가 만든 작은 사이드 프로젝트에서 “README에 한 줄 추가해줘"라고 할 때는 코드를 읽지 않아도 됩니다. 위험이 거의 없으니까요. 그런데 운영 중인 결제 시스템에서 같은 명령을 내린다면? 그 한 줄이 어디에 영향을 미칠지 모르니, AI가 충분히 읽어보는 게 안전합니다.
문제는 이 판단을 누가 하느냐입니다. 사용자가 매번 “이건 안전해, 읽지 마"라고 결정해야 한다면, 그 판단이 틀렸을 때 책임도 사용자에게 돌아옵니다. dangerously- 접두어는 바로 이 책임 이전을 명시화하는 장치입니다.
개발자가 진짜 고민해야 할 것
이 플래그를 만든 사람들의 의도는 분명합니다. “선택지를 주되, 결과는 당신이 책임지세요.” 합리적입니다. 하지만 현실에서는 이런 패턴이 자주 보입니다.
- 처음엔 신중하게 쓴다
- 별 문제 없으니 점점 자주 쓴다
- 어느 순간 기본값처럼 쓴다
- 사고가 난다
자동화 도구의 역사가 늘 그랬습니다. 안전벨트 없이 운전하다가 한 번 다치고 나서야 매는 거죠. AI 코딩 에이전트는 아직 그 ‘한 번 다치는’ 단계조차 충분히 경험하지 못한 분야입니다.
마무리
dangerously-skip-reading-code는 단순한 옵션이 아니라, AI 코딩 에이전트가 진입하고 있는 새로운 위임 단계의 상징 같습니다. 빠른 작업을 위해 맥락을 포기하는 거래, 그리고 그 거래의 책임이 누구에게 있는지를 명시하는 장치죠.
여러분은 어디까지 AI에게 위임하시나요? 그리고 그 위임이 잘못됐을 때, 그건 AI의 실수일까요, 아니면 그렇게 설정한 본인의 실수일까요? 이 질문에 명확히 답할 수 있을 때, 비로소 이런 플래그를 쓸 자격이 생기는 게 아닐까 싶습니다.
댓글
댓글을 불러오는 중...