메뉴
HN
Hacker News 26일 전

AI 생성 코드 없는 의존성 패키지 구축기

IMP
7/10
핵심 요약

한 오픈소스 개발자가 자신의 프로젝트 의존성 트리에서 LLM으로 생성된 코드를 모두 걸러내는 데 약 100시간을 쏟았습니다. 이 과정에서 맥락 없는 대규모 코드 변경과 저작권 위반 위험 등 AI 코드의 심각한 품질 문제를 발견했습니다. 이는 AI가 남발되는 현재의 소프트웨어 개발 생태계가 가진 위험성을 경고하는 중요한 사례입니다.

번역된 본문

지난 한 달 동안 저는 git-annex가 LLM(Large Language Model)으로 생성된 코드를 포함하는 의존성(dependency) 없이 빌드될 수 있도록 약 100시간의 작업을 투입했습니다. 적어도 지금까지는요. https://git-annex.branchable.com/no_llm_code/

지속적으로 프로그램의 전체 의존성 트리를 검토해야 한다는 것이 현대 프로그래밍의 현실이 되어버린 것 같습니다. 저는 그 과정에서 정말 끔찍한 사례들을 몇 가지 발견했습니다. 대규모로 LLM이 생성한 변경 사항이 어떠한 설명도 없이 다음 릴리스에서 그대로 revert(되돌리기)된 경우도 있었습니다. 26,000줄(LOC)짜리 코드베이스에 10,000줄의 변경을 가하면서 작성된 1,489줄의 전혀 이해할 수 없는(incoherent) 커밋 메시지도 있었습니다. 다른 프로젝트의 코드를 복사해 오라는 LLM 프롬프트가 그대로 실행된 사례도 있었는데, 이는 그저 운이 좋았기 때문에 망정이지 간신히 저작권 침해를 모면한 수준이었습니다.

이제 저는 향후 결정에 분명 영향을 미칠 의존성 패키지들의 품질에 대한 추가적인 정보를 얻게 되었습니다. 제가 보기에, 이것이 이 모든 노동의 유일한 긍정적인 이읷입니다. 저는 지금쯤 흐르는 물결을 거스르려 애쓰고 있는 것 같다는 사실을 잘 알고 있습니다. 아마도 그것이 소프트웨어 자유 보존 협회(Software Freedom Conservancy)가 이 문제를 공식적으로 회피(punted)한 이유일 것이며, 자유 소프트웨어 재단(FSF) 역시 더 나은 대처를 하지 못할 거라 생각합니다.

이러한 도미노가 계속 쓰러지면서, 저는 이 커뮤니티들에 계속 참여할 것인지 다시 고려하고 있습니다. 하지만 저는 제 작업을 계속하고 사용자들을 지원할 것입니다.

누군가 LLM에게 "fourmolu 설정을 추가하고 모듈을 깔끔하게 포맷팅해 줘(Add fourmolu config and restyled neat format a module)"라고 프롬프트를 입력하고, 그 결과물을 커밋한 뒤 스스로를 '10개발자(10xer)'라고 부르는 것은 매우 쉬워 보일 것입니다. 하지만 여러분의 행동이 가져올 더 넓은 영향을 고려해 주시기를 바랍니다. (위에서 언급한 사례의 경우, 해당 프로젝트는 저와의 향후 협력 관계를 잃게 되었습니다.)

댓글 추가

원문 보기
원문 보기 (영어)
I've spent about 100 hours of work over the past month to make sure git-annex can build without dependencies that contain LLM generated code. At least so far. https://git-annex.branchable.com/no_llm_code/ Needing to review a program's whole dependency tree on an ongoing basis is apparently what programming has come to? I've found some real stinkers. Large LLM generated changes being reverted in the next release without any explanation. An incoherent 1489 line commit message with 10,000 lines of changes to a 26,000 LOC code base. A LLM prompt to copy code from another project that seems to have only avoided being copyright infringement due to luck. I now have additional information about the quality of dependencies which will surely influence future decisions. As far as I can see, that's the only positive benefit of this work. I realize that I am probably trying to hold back the tide at this point. That appears to be why Software Freedom Conservancy punted , and I doubt that the FSF will do any better. As these dominos fall, I am reconsidering my participation in these communities. But I continue my work and support my users. It may seem easy to prompt a LLM with Add fourmolu config and restyled neat format a module And commit the result and call yourself a 10xer. But please consider the broader impact of your actions. (In the above case, that project lost my further collaboration on it.) Add a comment