Linux Kernel Developers Consider Adding AGENTS.md To Help Guide AI/LLM Agents
리눅스 커널 개발자들, AI 에이전트 안내용 AGENTS.md 도입 검토
리눅스 커널 소스 트리에 AI 코딩 에이전트가 개발 규칙을 따르도록 안내하는 AGENTS.md를 추가하는 제안이 나왔습니다. README로 연결하는 간단한 파일이지만, 에이전트의 패치 서명 표기 오류를 줄이는 한편 전체 문서를 읽힐 때 늘어나는 토큰 비용을 두고 의견이 갈립니다.
- 주제
AI 요약
커널 개발자 Sasha Levin이 리눅스 커널 소스 트리에 AGENTS.md를 추가하는 방안을 제안했습니다. AGENTS.md는 별도 규칙을 새로 담지 않고 기존 README로 연결합니다. README에는 코딩 보조 도구가 따라야 할 지침과 커널 개발 관련 문서가 안내되어 있습니다.
패치 서명과 개발 규칙
Levin이 진행한 테스트에서 AGENTS.md가 없는 한 AI 에이전트는 사용자가 명시적으로 동의하지 않았는데도 패치에 Signed-off-by 태그를 붙였습니다. 다른 에이전트는 커널에서 쓰는 Assisted-by 대신 자체 출처 표기를 사용했습니다. 두 번째 에이전트는 표기를 추가하지 않았습니다. AGENTS.md를 넣은 뒤에는 두 에이전트 모두 커널 규칙에 맞게 동작했고, 두 번째 에이전트는 개발 관행도 더 잘 따랐습니다.
문서 범위와 토큰 비용
커널 개발 메일링 리스트에서는 README 전체와 관련 문서를 에이전트가 읽으면 토큰 소비가 커질 수 있다는 우려가 나왔습니다. AI 도구에 필요한 내용만 따로 정리하면 소비량을 줄일 수 있지만, 지침을 별도 문서로 관리할 경우 기존 문서와 내용이 어긋날 수 있다는 문제도 있습니다. 현재 제안은 AGENTS.md가 README를 가리키게 해 에이전트가 안내를 놓치지 않도록 하는 방식입니다.
Reddit 반응
- @u/omnicidial — 그래야 합니다. 제가 Codex를 이끄는 AGENTS.md 지침을 몇 주 동안 다듬고 나서 결과가 훨씬 좋아졌습니다. 커널 개발자들은 저보다 더 잘 만들 겁니다.
- @u/Nereithp — 별도의 정교한 프롬프트를 만들자는 게 아닙니다. 제안은 README를 심볼릭 링크로 연결하는 정도입니다. 일부 에이전트가 README를 건너뛰고 맥락 없이 행동하기 때문입니다. 코딩 에이전트 대부분은 저장소 루트의 AGENTS.md를 자동으로 읽습니다. README에도 코딩 보조 도구 지침을 읽으라고 적혀 있지만, 에이전트가 먼저 README를 읽어야 효과가 있습니다. 전체 README가 토큰을 너무 많이 쓰는지가 실제 쟁점이고, 그렇다면 에이전트에 필요한 부분만 따로 나눌 수 있습니다.
- @u/UnluckyDouble — 이건 어차피 하려던 일로 생기는 피해를 줄일 뿐입니다. 커널에서 AI를 허용하는 결정은 이미 한참 전에 내려졌습니다.
- @u/ABotelho23 — LLM이 만든 코드를 막을 수는 없습니다. 사라지지 않을 겁니다. 누가 썼든 코드 품질과 개발 관행, 테스트를 지키는 게 할 수 있는 일입니다.
- @u/whamra — 장기적으로 시간을 아껴줄 겁니다. 동료들이 LLM을 쓰지 못하게 할 수는 없습니다. 코드 품질을 엄격하게 관리해도 규칙에 맞지 않는 문법을 쓰거나, 우리 코드에 없는 함수를 쓰거나, 라이브러리를 지금은 작동하지만 업데이트하면 깨질 방식으로 사용하는 코드가 가끔 나옵니다. 문서에 세부 규칙을 추가하고 세 문단짜리 에이전트 파일에서 그 문서를 가리키게 했습니다. 동료들이 새 문서를 직접 읽지는 않는 것 같지만, 이제 코드가 규칙을 훨씬 잘 따릅니다.
- @u/Jmc_da_boss — 하지 마세요. AGENTS.md는 LLM 유행이 낳은 어리석은 것 중 하나입니다. 컨텍스트 파일은 사람이 읽을 문서로 이어지는 링크 모음보다 길어서는 안 됩니다. 에이전트만을 위한 맥락이나 문서는 없습니다. 사람을 우선해 코드베이스를 문서화하면 LLM도 잘 따라옵니다.
- @u/Seerix — 기사를 읽지 않았다는 걸 이렇게 말하는군요.
- @u/Jmc_da_boss — 다른 댓글에 심볼릭 링크 방식이 괜찮고 오히려 더 나은 해결책이라고 답했습니다. 일반적인 관점에서 말한 겁니다.
- @u/ABotelho23 — README는 사람이 읽기 위한 문서입니다. LLM이 불필요한 내용을 잔뜩 읽느라 비용이 많이 듭니다. 제대로 만든 AGENTS.md가 README보다 훨씬 비용이 적게 들 겁니다.
- @u/Jmc_da_boss — 아니요. README는 LLM 컨텍스트에 들어가야 하는 내용입니다.
- @u/Farados55 — agents.md가 실제로는 아무것도 하지 않는다는 연구가 있습니다.
- @u/Medium-Taste-3929 — 제 경우에는 효과가 꽤 좋았습니다. 테스트 관행을 정하고 따르도록 안내 문서를 만들었습니다. AI가 관행을 어기는 테스트를 만들 때마다 매번 반복해서 설명할 필요가 없어졌습니다.
- @u/takeda64 — LLM이 만든 커밋은 장황하고 파악하기 어렵습니다. 나쁜 개발자가 쓴 코드처럼 보이지만, 그럴듯한 겉모습까지 갖춰서 검토자의 부담이 큽니다. LLM 코딩을 도입하고 관리하는 회사 팀은 코드 검토가 병목이라며 검토를 건너뛰고 테스트에 기대자고 했습니다. 그런데 LLM이 테스트도 만들면 함수가 실제로 하는 일을 검사해 테스트가 항상 통과하게 만들 수 있습니다. 이렇게 취약한 소프트웨어를 받아들이게 될지 걱정입니다.
- @u/MangrovesAndMahi — 동료 리뷰가 품질이 낮은 코드를 잡아내는 곳이라는 말에는 동의합니다. 사람 개발자 때도 그랬습니다. 다만 이제는 리뷰를 더 엄격하고 자주 해야 합니다. LLM이 만드는 코드 양이 많아졌기 때문입니다.
- @u/Coffee_Ops — 잘 만든 AGENTS.md는 LLM 성능을 크게 개선할 수 있습니다. 저장소 문서를 전부 읽으라고 하는 것보다 낫습니다. 컨텍스트를 10만 토큰으로 채우고 요약 과정에서 내용이 망가지는 일을 좋아하는 게 아니라면 말입니다.
- @u/ZorbaTHut — 사람이 읽는 문서를 링크하는 방식의 장점은 에이전트가 당장 관련 있는 부분만 읽는다는 점입니다.
- @u/Coffee_Ops — 제 경험과는 다릅니다. 에이전트는 문서를 무척 잘 읽어서, 범위가 좁고 파일명이 명확하지 않으면 매번 전부 읽습니다. 에이전트 파일에 특정 경로의 파일을 열지 말고 필요한 정보가 있는 경로를 지정하면 동작을 예측하기 쉽고 토큰도 아낄 수 있습니다.
- @u/starm4nn — AI를 좋아할 필요도, 이번 결정을 지지할 필요도 없습니다. 그래도 Sasha Levin은 2011년부터 커널 개발을 해왔습니다. 커널 유지보수에 무엇이 도움이 되는지 알 만한 사람이라고 조금은 믿어줄 수 있지 않나요? 동의하지 않더라도 “저 사람 좀 봐”보다 나은 반론을 내놓으면 좋겠습니다.
원문: Phoronix / 번역·요약: Trawling