저장소에 AGENTS.md(또는 CLAUDE.md)가 존재할 때 그것이 의미하는 바—에이전트에게 맥락을 남기는 실용성과, 바이브 코딩의 흔적이라는 불길한 신호 사이에서의 양가적 감정.
URL: https://joshmock.com/post/2026-agents-md-as-a-dark-signal/
오랜만입니다! 마지막 글 이후로 정확히 말해 3년이 넘었네요.
세상에, 정말 많은 게 바뀌었습니다. 그중에서도 가장 큰 변화는—적어도 제게는—AI가 소프트웨어 엔지니어링이라는 실천 자체와, 우리가 만들어 내는 도구와 제품에 미치는 피할 수 없는 영향입니다.
저는 많은 시니어 성향의 엔지니어들이 그렇듯, AI가 정말로 우리를 더 생산적인 코더로 만들어 주는지에 대해, 그리고 특히 LLM이 경제, 저임금 노동, 지식재산권 법, 환경에 큰 혼란을 일으키고 있는 상황에서 그게 과연 ‘할 만한 가치’가 있는지에 대해 양가적인 마음을 가지고 있습니다. 하지만 제가 아무리 양가적이라 해도, 이 변화의 거대한 파도를 완전히 무시하는 건 나쁜 생각일 겁니다. 완전히 회피하면 제 고집스러운 부분은 행복하겠지만, 친구나 가족이 LLM이나 에이전트, 휴먼-인-더-루프 같은 것들을 물어보는 위치에 있으면서 그에 대해 조금이라도 도움이 되는 말을 해주지 못한다면 무책임하게 느껴집니다.
이 주제와 관련해 좋은 링크들을 잔뜩 모아 둔 긴 읽을거리 목록이 있는데, 언젠가 공유하겠습니다. (바라건대 3년이 지나기 전에요.) 오늘은 일화 하나와 생각 하나만.
AI 분야의 발전을 따라잡기 위해, 저는 큰 흐름을 챙겨 보고, 사용할 수 있게 된 도구들을 직접 실험해 보려 합니다. 요즘 제가 하는 실험은 Github의 Copilot 에이전트를 써서, 말 그대로 수년 동안 백로그에 쌓여 있던 지루한 작업들을 자동화해 보는 것입니다. 다른 일을 하는 동안 에이전트가 제 리스트에 쌓인 먼지 낀 항목 몇 개라도 털어낼 수 있는지 보려는 거죠.
팀원이 제가 하는 걸 보고는, 에이전트가 아무렇지 않게 걸려 드는 함정이나 사각지대에 대해 둘이 한참 웃었습니다. 예를 들어 에이전트가 (똑똑하게도) 자기 변경사항을 검증하기 위한 유닛 테스트를 작성해 놓고는, (멍청하게도) 유닛 테스트 글로빙(globbing) 패턴 때문에 CI 잡이 자기가 만든 테스트를 아예 실행조차 하지 못했다는 사실을 못 알아차린 겁니다. 이 경우 그 테스트들이 실행되었다면 윈도우에서 실패했을 거예요.
이를 해결하기 위한 권장 사항은, 저장소에 있는 AGENTS.md에 “나중에 도움이 될 만한 학습 내용은 무엇이든 기록하라”고 지시함으로써 에이전트에게 지속적인 기억(durable memory)을 주는 것입니다. 즉, 저장소 안에 살아 있는 AGENTS.md에 나중에 유용할 수 있는 배움을 적어 두도록 하는 거죠. 미래의 에이전트들이 편집 중인 코드에 대해 더 완성된 맥락을 갖도록 해 주는, 단순하지만 영리한 아이디어입니다.
하지만 동전의 다른 면도 있습니다. 많은 시니어 엔지니어들에게는, 저장소에 AGENTS.md나 CLAUDE.md 같은 파일이 존재한다는 것 자체가 **“에이전트가 여기에 왔다”**는 신호로 작동하고, 이 프로젝트의 코드 품질은 좋게 봐야 ‘미심쩍다’는 인상을 줍니다. 저도 대체로 이쪽에 가까운데요. 인간의 체크와 밸런스가 거의 없거나 아예 없이, 코드가 100% ‘바이브 코딩’으로만 만들어지는 소프트웨어 프로젝트가 존재한다는 사실은 악몽 같은 이야기입니다. 어떤 이들은 그걸 인정하기도 하지만, 전체적인 영향은 측정하기 불가능합니다. 그러니 이 프로젝트에서 코드가 바이브로 만들어졌을지도 모른다는 힌트를 주는 파일은 일종의 어두운 신호(dark signal)인 셈이죠.
그런데 오늘 또 다른 생각이 들었습니다. 그리고 그 생각은, 지금 제가 널리 사용되는 오픈 소스 프로젝트들의 메인테이너로 일하고 있다는 관점에서 나온 것입니다. 에이전트 파일은 우리 같은 심술궂은 사람들이 눈을 굴리며 혐오감에 한 발 물러서게 만드는 힌트일 수도 있지만, 바이브 코더들의 ‘어두운 숲(dark forest)’은 이미 존재하고, 그들은 아마 당신의 프로젝트에 PR을 열고 있을 겁니다. 어떤 사람들은 IDE에서 LLM 기반 자동완성이 기본으로 켜져 있다든가 하는 이유로, 자기가 바이브 코딩을 하고 있다는 사실조차 모른 채 그렇게 하고 있을지도요. 그런 현실에서는, AGENTS.md가 오히려 에이전트와 IDE가 저지르는 멍청한 실수를 막는 가장 좋은 방어 수단일 수도 있습니다. 그 실수들은 코드 리뷰 중에 알아차리기 어려운 경우가 많습니다. 서드파티 기여를 환영하는 프로젝트를 유지보수하고 있다면, 최소한 에이전트들이 기대어 갈 난간 정도는 제공해 줬다는 사실을 스스로 알고 있을 자격이 있습니다.
바이브 코더들을 신뢰하지 못하더라도, 바이브를 부드럽게 ‘유도’할 수 있다면, 숙련된 엔지니어들에게서 눈살 찌푸림 한두 번 사는 정도는 감수할 가치가 있을지도 모르겠습니다.
published 2026-01-22