TL;DR

  • 소프트웨어를 예술, 고용, 인간적 협업, 규칙의 적용, 기업의 책임이라는 관점에서 볼 때 AI 코딩을 싫어할 수 있지만, 각 관점에는 다른 해석이 존재함.
  • 소프트웨어를 예술로 보면 생성된 소프트웨어는 진정한 예술이 아닐 수 있지만, 구매자가 주로 원하는 것은 작품이 아니라 결과임.
  • 코드를 입력하는 일을 직업으로 보면 AI가 일자리를 빼앗는 것처럼 보이지만, 실제 직무는 가치 있는 소프트웨어를 제공하는 것이며 적용 효율이 높아지면 수요도 늘어남.
  • 소프트웨어 제작을 사람 사이의 일로 보면 소프트웨어가 만든 작업 설명을 다시 프롬프트로 바꾸는 과정은 비인간적으로 느껴질 수 있지만, 문제의 근원은 기술보다 생산 방식임.
  • AI가 엔지니어링 규칙을 적용하지 않고 기업의 이익을 뒷받침한다는 비판에는 경험주의적 개발 역사와 비기업 모델의 가능성이 반론으로 제시됨.

예술로서의 코드

  • 소프트웨어를 예술적 산출물로 보면, 생성된 소프트웨어에는 진정한 예술의 징표인 창작의 설명 불가능성이 없으므로 진짜 예술이 아니라는 주장이 가능함. 이 주제는 [예술인가 도구인가](Art or tool?)에서 다룬 바 있음.
  • 이에 대한 반론은 소프트웨어를 원하는 사람들이 대개 예술 작품에 돈을 지불하는 것이 아니라 결과에 돈을 지불한다는 점임. 특정 산출물을 사용해 얻는 결과는 그 산출물이 만들어진 방식과 무관하게 같음.
  • 반대로 이 관점을 지지하는 논거도, 예술로 볼 수 있는 것은 사람만 만들어야 하며 다른 역사적 도구와 달리 이 도구만 사람과 작업 사이를 지나치게 분리한다고 공리로 받아들이는 경우가 아니라면 존재하지 않음.

일자리를 빼앗는 AI

  • 코드를 입력하는 일이 보수를 받는 일이라고 보면, 고용주가 입력을 대신할 수 있는 기계를 사용할 때 기계가 “일자리를 훔쳤다”고 해석할 수 있음. 이 주제는 [기계와 함께 일하기](On working machines)에서 다룬 바 있음.
  • 그러나 직무는 코드를 입력하는 일이 아니라 가치 있는 소프트웨어를 제공하는 일임. 이를 계속 해낼 수 있는 사람은 그 일을 필요로 하는 조직에서 계속 보수를 받을 수 있음.
  • 앞서 언급한 글의 주장처럼 적용이 더 효율적일수록 수요는 오히려 증가함.

인간은 고깃덩이 대리자인가

  • 소프트웨어 제작을 사람 사이의 협업으로 보면, 소프트웨어가 생성한 작업 설명을 받아 다시 소프트웨어가 더 많은 소프트웨어를 만들도록 프롬프트로 바꾸는 일은 비인간적인 경험임.
  • 이는 수 세기 동안 이어진 사회의 궤적임. 『기계에 관한 단편(Fragment on Machines)』의 구절은 이를 설명함.

“자본의 생산 과정에 채택된 노동 수단은 여러 변태를 거치며, 그 정점은 기계, 더 정확히는 자동 기계 체계임. […] 이 자동 기계는 스스로 움직이는 동력에 의해 작동하며, 수많은 기계적·지적 기관으로 이루어져 노동자는 그 의식적인 연결 고리로만 자리하게 됨.

사회적 두뇌의 일반적인 생산력인 지식과 숙련의 축적은 노동이 아니라 자본에 흡수되며, 따라서 자본의 속성, 특히 생산 과정에 생산 수단으로 들어가는 고정 자본의 속성으로 나타남.”

  • 1857~1858년경 Karl Marx가 쓴 이 구절은 기계가 기계적 노동과 지적 노동을 모두 대체할 것이라는 전망을 보여줌. 지적 노동의 소외를 예측할 때 Marx는 동시대 수학자 Charles Babbage에 관한 지식에 의존했을 가능성이 있음.
  • 이 상황에서 일자리를 빼앗는 것은 기술이 아니라 생산 양식임. 프로그래밍은 지적 노동이고 생산 수단은 말 그대로 우리의 머리이므로, 그 생산 수단을 우리가 장악할 수 있어야 함.

규칙으로서의 소프트웨어 엔지니어링

  • Bertrand Meyer의 『AI for Smarties』에 자극을 받은 이 관점에서는, 소프트웨어 엔지니어의 신비로운 지식을 신중히 적용하는 일이 소프트웨어 엔지니어링이라고 봄. 그 지식은 SOLID 원칙, “상속보다 조합을 선호하라”, “타입의 좋은 점을 활용하라”, 데메테르 법칙(Law of Demeter) 같은 규칙으로 표현됨.
  • 이 관점에서는 AI가 그런 규칙을 적용하지 않고 우연히 컴파일되는 텍스트를 생성할 뿐이므로 소프트웨어를 쓸 수 없다고 봄.
  • 그러나 컴퓨팅 역사의 상당 부분에는 소프트웨어를 경험주의적으로 다루는 접근이 포함됨. Stack Overflow 코드를 복사해 작동할 때까지 고치거나, 『Numerical Recipes』나 『Sinclair User』의 코드 목록을 옮겨 적고 작동할 때까지 수정하는 방식이 그 예임.
  • 복사 단계를 자동화하는 매크로를 작성하는 등의 방식도 같은 흐름에 속함.

악의적인 행위자인 AI 기업

  • 대형 AI 기업을 운영하는 사람들이 인류의 최선의 이익을 고려하지 않는다고 믿으면, AI 코딩은 그런 기업을 지원하므로 나쁘다는 주장이 가능함. 추가로 읽을 자료로는 위에서 인용하지 않은 Karl Marx의 저작 전반이 제시됨.
  • 다만 이 주장은 다른 기업의 설립, 학계나 커뮤니티 모델처럼 기업 외부에서 제공하는 모델의 사용 등을 허용하지 않을 때 성립함.