내 AGENTS.md 파일에는 실제로 무엇이 들어있는가
제 AGENTS.md 파일은 처음에는 잡동사니 서랍 같았습니다. 스타일 가이드와 기술 스택 상세 정보가 필요하다고 생각했죠. 하지만 제 생각이 틀렸습니다.
AI 에이전트는 당신의 포맷팅 규칙은 무시할 것입니다. 대신 자신의 나쁜 본능에 저항하는 규칙을 따를 것입니다.
제 코드를 대상으로 이 파일들을 테스트하며 배운 점은 다음과 같습니다.
멈춰도 좋다는 허락
첫 번째 규칙은 코드에 관한 것이 아닙니다. 그것은 '허락'에 관한 것입니다.
에이전트는 도움이 되고 싶어 합니다. 모호한 상황이 생기면 조용히 답을 선택함으로써 모호함을 해결하려 합니다. 이는 수백 줄의 잘못된 코드로 이어집니다.
저는 에이전트에게 상황이 불분명할 때는 멈춰서 물어보라고 말합니다. 가정을 명시하라고 말합니다. "확실하지 않습니다"라고 말하는 것은 실패가 아니라 성공이라고 말합니다.
금지된 습관에 관한 규칙
가장 유용한 규칙은 나쁜 본능을 지목하고 그것을 금지하는 것입니다.
• 과하게 구축하지 마세요. 문제를 해결하기 위한 최소한의 코드만 작성하세요. 추측에 기반한 프레임워크는 사용하지 마세요. • 과하게 관여하지 마세요. 반드시 필요한 부분만 건드리세요. 10줄짜리 변경 사항이 200줄짜리 diff가 되어서는 안 됩니다. • 패턴을 평균화하지 마세요. 두 가지 다른 코딩 스타일이 보인다면 섞지 마세요. 하나를 선택하고 그 이유를 설명하세요.
가이드와 강제성의 차이
모델은 지침에서 벗어나기 마련입니다. 마크다운 파일에 적힌 규칙은 제안일 뿐, 계약이 아닙니다.
저는 파일을 두 단계로 나눕니다:
- 가이드(Guidance): 스타일과 철학. 이는 줄글 형태로 작성합니다.
- 강제(Enforcement): 엄격한 요구 사항. 이를 파일에 넣지 마세요. CI 체크나 스크립트에 넣으세요.
규칙이 매번 적용되어야 한다면, 실패 시 머지(merge)가 불가능하도록 만드세요. 지침은 예의일 뿐이지만, 게이트(gate)는 보장입니다.
주장이 아닌 확인을 믿으세요
에이전트는 종종 테스트를 통과했다고 기억에 의존해 주장합니다. 항상 테스트를 다시 실행하는 것은 아닙니다.
저는 에이전트에게 테스트를 통해 성공을 정의하라고 말합니다. "이 버그를 수정해" 대신 "이 버그를 재현하는 테스트를 작성한 다음, 통과하게 만들어"라고 말합니다.
새로 확인하지 않은 주장은 절대 믿지 마세요.
흉터의 기록
저는 실수로부터 배운 교훈을 위한 섹션을 따로 둡니다. 저는 이것을 '흉터(scars)'라고 부릅니다.
에이전트는 과거의 고통을 기억하지 못합니다. 매번 똑같은 지뢰를 밟을 것입니다.
구체적인 오류, 이상한 API 동작, 그리고 소리 없는 실패들을 기록하세요. 이러한 지뢰들을 지도화하면 수많은 시간을 아낄 수 있습니다.
이 파일의 목표는 판단력을 인코딩하는 것입니다. 포맷팅 규칙은 스스로 작성됩니다. 당신이 직접 써 내려가야 할 것은 바로 판단력입니다.
Source: https://dev.to/miteshethos/whats-actually-in-my-agentsmd-434e
Optional learning community: https://t.me/GyaanSetuAi
