AI 과대광고와 소프트웨어 엔지니어링 현실 사이의 격차
요약
최근 오픈 소스 프로젝트들 사이에서 LLM 사용에 대한 회의론이 커지며, 일부는 AI 지원 기여를 전면 금지하는 정책을 채택하고 있습니다. 이는 AI가 실제로 유용한 기술인지, 아니면 단지 과대광고와 결함으로 가득 찬 'AI 쓰레기'만 양산하는지에 대한 근본적인 의문을 제기합니다.
핵심 포인트
- 오픈 소스 프로젝트들이 LLM 사용을 금지하며 품질 관리를 강화하고 있습니다.
- LLM의 출력물은 설득력이 높지만, 사실 확인과 교차 참조가 필수적입니다.
- AI 기술에 대한 과도한 기대와 실제 구현 사이의 괴리가 커지고 있습니다.
현재 금융 시장에는 AI 버블이 존재한다는 것은 널리 받아들여지고 있습니다. 하지만 온건한 의견은 LLM(거대 언어 모델)이 끊임없이 개선되어 결국 인간의 더 많은 작업을 대체하고 생산성을 높일 것이라는 것입니다. 하지만 LLM이 실제로 똑똑해지고 있는 것인지, 아니면 단지 우리를 속이는 데만 능숙해지고 있는 것일까요?
LLM이 실제 발전에 너무 해롭다는 주장을 하는 기술 전문가 그룹이 늘어나고 있으며, 이들은 품질을 보장하고 인간의 시간을 효율적으로 사용하기 위해 LLM 사용을 금지하고 인간 작업만을 요구하고 있습니다. Rakshit Yadav가 120개의 오픈 소스 프로젝트에 대한 AI 정책을 최근 검토한 결과, 37개가 전면적인 AI 금지를 선택했습니다. Linux 커널에서는 AI 지원 기여는 허용되지만, 투명성을 위해 사용된 LLM을 명시해야 하며, GCC, QEMU, SDL, Gentoo, Zig, Ghostty와 같은 프로젝트들은 모든 AI 지원 기여를 거부하는 정책을 채택했습니다. 또한 Codeberg나 Sourcehut과 같은 개발 플랫폼 및 Flathub과 같은 앱 스토어는 소프트웨어, 문서, 버그 보고서, 리뷰 코멘트 등 인간이 읽으려는 모든 것을 생성하는 AI 사용을 금지했습니다. AI 사용을 허용하는 프로젝트들조차 일반적으로 '인간의 개입(human-in-the-loop)'이 필요하며, 제출자는 또 다른 사람이 접하기 전에 LLM이 내뱉은 모든 내용을 직접 읽고 필터링해야 합니다. 이는 AI 쓰레기(AI slop)가 퍼지는 것을 막으려는 노력입니다.
현재 Linux 배포판 Debian에서는 개발자들 사이에서 AI 사용을 허용할지 금지할지에 대한 투표가 진행되고 있습니다. 투표 안건 중 하나는 코드, 문서화, 번역, 버그 보고서 등에 대한 AI 전면 금지입니다. 대부분의 사람들의 초기 반응은 놀라움입니다. 이 기술 전문가들이 인류가 지금까지 만들어낸 최신 기술을 사용하고 싶어 하지 않는 이유가 무엇일까요? 혹시 AI의 도움으로 Debian이 더 빠르게 발전하는 것을 원하지 않기 때문일까요? 아니면 실제로 LLM(거대 언어 모델)이 사기이며 Debian에 진정으로 유용할 수 없다고 생각하기 때문일까요? 이 사람들은 각 분야에서 탁월한 전문가들이며, 결코 바보가 아니므로, 왜 그들이 AI 금지 정책을 제안하는지 이해하기 위해 잠시 멈춰서 생각해 볼 가치가 있습니다.
또한, AI 데이터센터 자체도 Debian이나 다른 Linux 기반 시스템 위에서 운영된다는 점을 염두에 두어야 합니다. 전 세계의 모든 오픈 소스 소프트웨어는 LLM에 학습되었으며, 소프트웨어 개발은 현재 AI의 주요 사용 사례 중 하나입니다. 그렇다면 왜 많은 오픈 소스 프로젝트 관리자들은, LLM 자체가 그 동일한 소프트웨어 스택 위에서 실행되고 그리고 바로 그 오픈 소스 소프트웨어 코드베이스를 사용하여 소프트웨어 개발 방법을 학습했음에도 불구하고, LLM 지원 기여를 받고 싶어 하지 않는 것일까요?
LLM의 출력물은 종종 매우 설득력 있고, 전문적이며, 정확해 보입니다. 인간은 화자가 가진 권위나 메시지가 얼마나 자신감 있고 유창하게 전달되는 같은 쉽게 감지할 수 있는 2차 요소를 기반으로 새로운 정보를 신뢰하거나 불신하도록 진화했습니다. 하지만 인간은 사실 확인(fact-checking)과 교차 참조(cross-referencing)에 매우 서툴기 때문에, 많은 노력이 필요하기 때문이며, 인간은 에너지를 절약하고 가능한 한 게으르기를 좋아합니다.
어떤 주제에 대해 알지 못할수록, 그 주제로 속기 쉽다. 경제학 분야에서는 정보 비대칭성(information asymmetry)이 시장을 어떻게 왜곡하고 최적이 아닌 결과(suboptimal outcomes)를 초래하는지에 대한 연구에 노벨상이 수여되어 왔다. 소프트웨어 엔지니어링 분야에서도 우리는 AI를 사용하여 작동할 것처럼 보이는, 하지만 실제로는 결함으로 가득 찬 소프트웨어를 만드는 야심찬 소프트웨어 개발자들의 홍수를 목격하고 있다. 이 사람들은 선의를 가지고 있지만, 자신이 실제로 무엇을 하고 있는지 이해하는 전문 지식이 부족하며, LLM이 정말 유용한 것을 출력하는지 아니면 대부분 쓰레기를 만들고 있는지를 판단할 수 있는 필요한 판단력도 갖추지 못했다. 나는 이러한 전문성의 비대칭성이 현재 오픈 소스 프로젝트에서 목격되는 갈등의 대부분을 설명한다고 생각한다. 시니어 개발자들은 모두가 시간 낭비라고 여길 만큼 나쁘고 쓸모없는 코드를 검토해 달라는 요청으로 넘쳐나고 있으며, AI의 가용성은 기여하고 더 많은 '코드 슬롭(code slop)'을 끊임없이 증가하는 속도로 만들 수 있는 사람들의 풀을 넓히고 있다.
정보 비대칭성은 시니어들이 주니어들에게 소프트웨어 엔지니어링을 잘 하도록 가르쳐서 어느 정도 해소될 수는 있지만, 물론 모든 사람에게 빠르게 대규모 교육을 하는 것은 실현 가능하지 않다. 또한, 많은 사람들이 배우기를 원하지 않는 것처럼 보이며, 대신 모든 이해를 LLM에 아웃소싱하기를 기대한다. 많은 시니어들이 이를 알아차리고 주니어들을 가르치는 것을 멈췄는데, 시니어들은 배우기를 원하지 않는 사람들에게 자신의 시간이 낭비되는 느낌을 싫어하기 때문이다. 주니어들은 스스로 소프트웨어를 설계하고 작성하는 법을 배우는 것이 더 좋을 것이라는 것을 아마도 모두 이해하지만, LLM을 사용하는 것은 너무 쉽게 느껴진다. 나는 사람들이 가장 저항이 적은 길(path of least resistance)을 선택하는 이유에 완전히 공감한다. 불행하게도, 그 길은 종종 막다른 골목으로 이끈다.
인간의 뇌는 무생물도 살아 있고 감정이 있다고 생각하도록 설계되어 있습니다. 어린아이들은 인형들에게 마치 진짜처럼 말을 걸고, 많은 성인들 역시 신이나 요정 같은 존재가 화를 내거나 어떤 이유로 인해 주변에서 일어나는 일에 대해 감정을 느낍니다. 우리가 기계가 사람처럼 글을 쓰는 것을 보거나, 심지어 살아있는 것처럼 말하고 우리의 대화에 응답하는 것을 더욱 설득력 있게 들으면, 우리 뇌는 자동으로 그것이 지능과 감정을 가진 생명체라고 가정하기 시작합니다.
이러한 존재들이 추상적인 “클라우드” 안에 살고 우리가 손안의 포털을 통해 나타나며 최대의 몰입도를 위해 설계된 방식으로 행동한다는 사실은 환상을 더욱 강하게 만듭니다. 저는 사람들이 자신의 노트북에서 LLM을 로컬로 실행해 보고 '날것' 그대로 토큰을 뱉어내는 것을 직접 경험하여 이러한 환상 중 일부를 깨보기를 권장합니다.
또한 LLM에게 “부탁한다(please)”라고 말하는 것을 그만두세요. 그것은 어떤 감정도 없습니다.
제 경험에 비추어 볼 때, LLM의 temperature 개념을 이해하는 것은 왜 LLM이 그럴듯해 보이지만 완전히 틀린 코드 변경을 자신감 있게 생성할 수 있는지 이해하는 데 도움이 됩니다. 대규모 언어 모델(LLM)은 통계적 기계이며, 신경망으로 들어오는 입력(이전 토큰)을 기반으로 무엇을 출력할지(다음 토큰) 예측하려고 합니다. LLM을 실행할 때 temperature가 0으로 설정되면, 출력은 매우 예측 가능하며 항상 신경망의 노드와 레이어 사이의 가장 강한 연결 경로(즉, 가중치)를 따릅니다. 뇌가 끊임없이 학습하고 변화하는 살아있는 생명체와 달리, LLM의 가중치는 훈련 중에만 변경될 수 있습니다. LLM이 “정상적인” 사용(추론 중 다음 토큰 생성 시) 상태일 때 가중치는 고정되어 있으며, temperature가 0이면 특정 질문에 대한 답변은 항상 정확히 동일할 것입니다.
물론 이것은 다소 지루하고 기계적인 느낌이 나지만, 일반적으로 LLM에는 어느 정도의 temperature가 설정되어 있어 신경망이 어떤 연결을 통과할지 무작위 변동성을 도입합니다.
다시 한번 말씀드리지만, 사람들이 직접 이 현상을 확인해 보려면 temperature와 다른 설정을 완전히 노출하고 구성할 수 있는 작은 LLM을 로컬에서 실행해 볼 것을 권장합니다. 이는 LLM이 실제로 지능적일 것이라는 착각에 빠지는 것에 대한 좋은 해독제입니다.
만약 LLM이 계속해서 너무 많은 쓰레기를 생성한다면, 왜 벤치마크는 이들이 끊임없이 개선되고 있음을 보여줄까요? AI 모델은 정말로 항상 개선되고 있습니다. 예를 들어 CAIS AI 대시보드는 최첨단(frontier) 모델들이 지난 몇 년 동안 어떻게 진화해 왔는지 시각화합니다. 하지만 최고의 모델조차도 '인류의 마지막 시험(Humanity’s Last Exam)'에서 통과율이 약 50%에 불과합니다. SWE-bench에서는 오늘날 최고의 모델이 77% 미만을 해결합니다. 이는 AI가 틀리는 경우가 상당수 존재한다는 것을 의미합니다. 이는 저의 개인적인 경험과 일치하며, 유명한 Greg Kroah-Hartman은 최근 리눅스 개발자 메일링 리스트에 *“현재 및 차세대 도구 중 최고를 사용하더라도, 생성하는 결과의 최소 1/3은 명백히 틀리거나 해로울 수 있다”*고 작성했습니다.
고양이 동영상을 생성할 때는 오류율이 중요하지 않지만, 엔지니어링 분야에서는 모든 것이 절대적으로 정확해야 합니다. 물론 인간도 실수를 하지만, 잘 교육받고 적절하게 인센티브를 받은 인간은 여러 면에서 LLM보다 훨씬 더 유능합니다. 우리는 매일 비행기가 추락하는 일이 없는 것처럼 전 세계 상업 항공 교통을 운영하는 것과 같이 신뢰할 수 있는 복잡한 일들을 달성할 수 있습니다.
현재 많은 사람들이 범용 인공지능(general artificial intelligence)이 곧 도래하여 모든 것을 장악할 것이라는 서사를 유지하도록 인센티브를 받고 있습니다. 사실, 전체 금융 시스템은 노동 비용 감소와 이익 증가, 그리고 모든 것에 대한 독점적 통제라는 약속 때문에 이러한 비전에 기울어져 있으며, 이는 이전과는 비교할 수 없을 정도로 자본을 끌어당기고 있습니다.
이러한 환경에서 우리는 기계와 경제 시스템이 궁극적으로 인간의 하인이며, 그 반대가 아님을 기억해야 합니다.
LLM은 사기가 아니라 유용한 도구이자 활용도가 있는 기술입니다. 하지만 AI가 가까운 시일 내에 능력이나 효율성 면에서 인간을 능가할 것이라는 생각은 단순히 사실이 아니며, 우리는 인류 역사상 가장 복잡한 시스템(컴퓨터와 소프트웨어)을 만들어 온 사람들의 말을 들어야 합니다. 그들은 LLM이 너무 나쁜 경우가 많아서, 생성된 텍스트나 코드를 읽는 데 귀중한 인간의 시간을 더 낭비하는 것보다 특정 장소에서 일시적으로 아예 금지하는 것이 나을 수도 있다고 말합니다.
시간 비대칭성(time asymmetry)은 새로운 현상이 아닙니다. 오랫동안 다양한 '스크립트 키디(script kiddies)'가 존재해 왔습니다. 예를 들어, 결과에 대한 이해 없이 메모리 누수 스캐너를 실행하고 버그 보고서를 작성하는 데 10분을 쓰는 사람이 오픈 소스 유지 관리자에게 그 발견이 거짓임을 증명하고 설명하는 데 한 시간을 쓰게 만들 수 있습니다. 새로운 것은 AI 사용자들이 얻는 출력물을 얼마나 무비판적으로 신뢰하느냐이며, 오픈 소스는 개발자의 시간 사용을 보호할 관리자가 없기 때문에 독특하게 취약합니다.
저는 매일 AI 도구를 사용하고 있으며, 새로운 모델과 그것들을 사용하는 새로운 방식들로 끊임없이 실험하고 있습니다. 때로는 작동하지만, 종종 그렇지 않습니다. 때로는 AI가 스스로 오류를 수정하도록 루프(looping)시키는 것이 효과적일 수 있지만, 때로는 그냥 궤도를 이탈하여 올바른 해결책에 도달하지 못할 때도 있습니다. LLM이 제 이메일을 읽고 정확한 시간에 달력 항목을 만드는 데 실패했을 때, 제가 그것이 잘못되었다는 것을 알아차리기는 쉽습니다. 저는 스스로 판단하여 결과가 맞는지 틀리는지 판별할 수 없는 일에는 LLM 사용을 피하려고 노력합니다.**
또한 다른 사람들이 자신이 노력한 만큼의 노력이 아니라, 제가 읽고 이해하는 데 필요한 노력보다 적은 노력을 들인 결과물을 저에게 보내지 않기를 진심으로 바랍니다. 이 원칙은 새로운 것이 아닙니다. 코드를 읽는 것은 작성할 때 들였던 노력보다 적은 노력을 필요로 해야 한다는 요구를 많이 들어왔습니다.
저는 항상 소프트웨어 코드에 높은 기준을 유지해 왔고, 동료 개발자들에게 자신들의 코드가 구조적으로 잘 짜여 있고, 따라가기 쉬우며, 문서화되어 있는지 확인해 달라고 요청했습니다. 안타깝게도 LLM은 이와 관련하여 사람들이 속이기 더 쉽게 만듭니다. 하지만 부정행위가 쉬워졌다면, 아마 처벌과 억제책 또한 높아져야 할 것입니다. 이제 많은 오픈 소스 프로젝트들이 AI 사용에 제한(guardrails)을 두는 정책을 채택함에 따라, 저는 곧 이러한 정책이 시행되는 사례들을 목격하게 될 것이며, 위반 사항들이 어떻게 판단될지 지켜보는 것이 흥미로울 것이라고 예상합니다.
사회로서 우리는 인간과 기계 간의 상호작용에서 허용 가능한 다른 인간을 대하는 방식에 대한 새로운 사회적 기준과 규칙을 개발해야 할 수도 있고, 또한 기계가 점점 더 독립적으로 행동하기 시작함에 따라 인간이 무엇에 책임져야 하는지에 대한 새로운 표준도 필요할 수 있습니다. 저는 사람들이 이러한 논의에 참여하기를 권장하며, 의심스러울 경우에는 실제 인간 상호작용에 유리한 쪽으로 판단하는 것이 좋다고 생각합니다. 많은 비즈니스 전문가들이 생각하는 것과는 달리, 그리고 제가 일반적으로 테크노-낙관론자(techno-optimist)임에도 불구하고, 저는 AI 도입을 서두를 필요가 없다고 느낍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기