현재 일부 사용자가 LLM에 의해 완전히 생성된 플러그인, 테마 또는 컴포넌트를 업로드하면서 이를 명시하지 않는 경우가 있을 수 있습니다. 어떤 것이 LLM에 의해 완전히 생성되었는지 아는 것이 유용한 이유는 여러 가지가 있으며, 현재로서는 해당 플러그인이 LLM 생성임을 공개할 의무는 없습니다. 개인적으로는, LLM 플러그인에서 흔히 발생하는 성능/최적화/UX 문제를 가진 저품질 플러그인을 설치하지 않도록 하기 위해 사전에 알고 싶습니다.
물론 이는 사람들이 솔직하고 투명하게 정보를 제공해야 한다는 전제에 달려 있습니다(AI 생성된 주제를 가진 사람들은 해당 내용이 무엇을 의미하는지 정확히 알지 못할 수도 있지만요). 그러나 주로 AI로 생성된 자산에 #ai-generated와 같은 태그를 붙이는 것은 모든 사람에게 유익할 것입니다.
LLM이 생성한 플러그인이 본질적으로 저품질이거나 반드시 성능, 최적화 또는 UX 문제를 겪는다는 주장에 동의하지 않습니다. 결과물의 품질은 LLM을 활용하고 그 출력을 검토하는 사람의 역량에 크게 좌우됩니다.
저는 지난 40년간 개발해 온 소프트웨어에 자부심을 갖고 있으며, 워크플로우에 LLM을 도입한 것은 제 작업의 품질을 떨어뜨린 것이 아니라 오히려 향상시켰습니다.
반대로, 수동으로 작성된 플러그인 중에는 보안 취약점, 성능 문제, 잘못된 설계 결정으로 가득 차 있어 개발자가 LLM을 활용했으면 좋았을 것이라는 생각이 드는 경우를 많이 봤습니다. 결국 중요한 것은 개발자의 역량과 그 결과로 나오는 코드의 품질이지, LLM이 작성 과정에 관여했는지는 아닙니다.
이 의견은 전적으로 타당하며, 결국 저는 제 자신에 대해서만 발언할 수 있습니다. 제가 관찰해 온 것은 모두 똑같이 보이며 기능과 보안 모두에서 전반적으로 품질이 낮은 저품질 ‘슬롭(slop)’ 앱들입니다. 또한, LLM으로 작업을 대거 외주화하기 시작한 이후 품질이 심각하게 하락한 기존 앱들(예: Visual Studio Code와 Formbricks. 저는 이 둘을 모두 더 이상 사용하지 않습니다)도 포함됩니다. 앱이 완벽하더라도 여전히 윤리적 우려가 있으므로, 제안된 바와 같이 이러한 생성물에 대한某种 형태의 알림이 있다면 좋겠습니다. 이는 누구나 해당 태그를 근거로 무언가를 해야 한다는 의무를 지우는 것은 아니지만, 그렇게 원한다면 해당 옵션이 있는 것은 좋은 일입니다.
말씀드린 바와 같이, 이는 본질적으로 신뢰에 기반한 시스템이며, 해당 사항을 그렇게 태그하는 것은 전적으로 개발자의 책임입니다. 물론 LLM이 git 로그에 스스로를 태그하는 경우(대부분 그렇습니다)가 있으므로, TL3 이상은 원할 경우 GitHub를 확인하여 조치를 취할 수 있습니다.
LLM을 이용한 코드 리뷰는 "클로드, 이 앱을 만들어줘. 실수하지 마"라고 시킨 뒤, 스스로 거의 검증이나 수정을 하지 않은 채 출력을 그대로 게시하는 것과 완전히 다릅니다. 적어도 윤리적 측면에서 저는 그렇게 생각합니다. 불행히도 최종 사용자에게 책임감을 강요할 수는 없으며, 아무리 노력해도 누군가는 악성 코드를 다운로드하는 방법을 찾아낼 것입니다. 하지만 어쨌든 LLM의 윤리성은 별도의 논의 사항이며 이 스레드와는 직접적인 관련이 없습니다.
그리고 그것은 괜찮습니다! 저는 Customization 게시판에서 AI가 관여된 모든 것에 대해 전면적인 금지를 주장하는 것이 아닙니다. 다만, 제대로 태그를 달아주셔서 그 '거북이 통’을 열고 싶지 않은 분들이 우연히 열어보지 않도록 하고 싶을 뿐입니다.
LLM 기반 도구(그리고 그 결과물)에 대해 많은 문제를 제기합니다. 보안, 법적, 신뢰성 및 환경적 문제뿐만 아니라 말입니다. 하지만 여기서는 그 문제가 핵심이 아닙니다.
여기서 중요한 문제는 넓은 의미의 보안입니다. 코드가 AI로 생성되었든 아니든 상관없이 말입니다.
CDCK은 보안 검사를 위해 어떤 도구를 사용합니까? 그중 일부는 서드파티 제작물에도 중요할 것입니다.
그러나 확인해야 할 것이 더 많습니다. 서드파티 제작물이 어떤 외부 시스템과 통신하는지 확인해야 합니다. 대부분의 보안 분석 도구는 소프트웨어가 하트비트(heartbeat) 없이 외부 서버와 통신하는 것을 허용합니다. 하지만 순수하게 장식적인 테마 컴포넌트는 외부 서버에 대한 호출을 수행해서는 안 됩니다. 따라서 서드파티 제작물은 보안 구멍을 포함하거나 가용성을 해칠 수 있는 문제를 포함할 수 있습니다. 또한 데이터를 탈취(exfiltrate)할 수도 있습니다.
저는 이 의견에 95% 동의합니다. 그리고 지금 우리는 Discourse에 대해 이야기하고 있는데, 만약 우리가 WordPress 세계에서 같은 상황을 마주하게 된다면 어떨지 상상해 보세요!
(남은 5%에 대해: ‘야생의 서부’라고 생각하지는 않습니다. 보안 문제는 메타를 통해 해당 제3자 개발자에게 보고되며, 일반적으로 꽤 빠르게 수정됩니다.)
하지만 동시에, 제 경험상 LLM(대규모 언어 모델)은 (요즘에는) 평균적인 인간 플러그인 작성자보다 더 안전한 코드를 생성합니다. 그리고 어떤 괜찮은 LLM에게도 플러그인을 던져서 “보안 문제를 찾아서 수정해 줘”라고 요청하면, 인간이 보안 지식이 거의 없더라도 LLM은 이를 수행합니다.
지난 10년간 저는 수동으로 플러그인을 검토해 왔으며, 많은 것을 보았습니다: (ActiveRecord가 너무 복잡하다고 생각한 사람들이 만든) SQL 인젝션, client: true가 설정된 API 키 설정, 인증 및 접근 제어의 완전한 부재, 레이트 리미팅의 부재. 이 모든 것은 LLM이 거의 노력 없이 순식간에 찾아서 수정합니다.
따라서 다시 말하지만: 저는 LLM이 이를 더 나쁘게 만든 것이 아니라 더 좋게 만들었다고 생각합니다.
여전히 LLM이 생성한 코드를 ‘그 통(can of worms)’과 연관짓고 있는데, 그건 너무 흑백논리입니다.