ChatGPT에게 고별을: 개발자의 AI 과용에 대한 고찰

AI(인공지능)의 부상은 부인할 수 없을 정도로 우리 세계를 변화시켰고, 소프트웨어 개발을 포함한 다양한 분야에서 없어서는 안 될 도구가 되었습니다. AI는 수많은 이점을 제공하고 현대 개발 관행의 필수적인 부분이 되었지만, 특히 개발자의 경우 AI 과용의 잠재적인 영향에 대해 고려하는 것이 중요합니다.

이 글은 개발 및 AI에 대한 저의 철학적 성찰을 탐구하고 AI의 증가하는 존재가 개발 환경에 미칠 수 있는 심오한 영향에 대해 살펴봅니다.

AI의 매력

AI를 우리의 생계를 위협하는 악의적인 힘으로 봐야 할까요? 저는 그렇게 생각하지 않습니다.

ChatGPT 3.0이 등장한 이후로 3년 넘게 AI 관련 기사를 면밀히 추적해 왔습니다. 이러한 지속적인 관심은 매일 새로운 개발 및 뉴스가 등장하는 분야의 빠른 진화에서 비롯됩니다.

AI가 미래에 노벨상을 석권할 수도 있고, 세계는 이미 ChatGPT의 능력에 사로잡혀 있습니다.

AI는 기하급수적으로 발전하여 인공 일반 지능(AGI)을 달성하기 직전에 있는 것처럼 보입니다. 대규모 언어 모델(LLM)이 현재 AI 발전을 주도하고 있지만 생성 AI의 부상은 이전의 머신 러닝(ML) 및 딥 러닝(DL)의 획기적인 발전에서 관찰된 패턴을 따르고 있으며 이미지 및 비디오 처리에서 엄청난 잠재력을 보여주었습니다.

이전에는 인터넷의 광범위한 채택이 정보화 시대를 열었습니다.

그 이전에는 기계의 확산이 산업 혁명을 촉발했습니다.

그리고 훨씬 이전에는 도구의 도입이 농업 혁명으로 이어졌습니다.

이러한 전환이 원활하고 보편적으로 유익했는지 비판적으로 검토하는 것이 중요합니다.

(참고: 이후 AI에 대한 언급은 LLM 기반 생성 AI를 구체적으로 지칭합니다.)

산업 혁명의 메아리

산업 혁명은 우리에게 어떤 유산을 남겼을까요?

혁신적인 제조 제품의 생산 가속화, 근로 조건 개선 및 엄청난 .

이것들은 우리가 오늘날 산업 혁명 덕분에 누리는 많은 이점 중 일부입니다. 그러나 그 시대를 살았던 사람들은 이러한 이점을 공유했을까요?

진보의 어두운 면

기계 도입과 함께 근로 조건이 즉시 개선되었을까요?

많은 경우 이전에는 상당한 육체적 힘을 필요로 했던 작업이 기본적인 기계 작동으로 단순화되어 성인 근로자가 어린이로 대체되었습니다. 공장은 효율성을 극대화하기 위해 24시간 가동되기 시작했고, 결과적으로 발생하는 부는 불균형적으로 공장 소유주(부르주아)의 손에 집중되었습니다. 노동자들은 이 상황을 수동적으로 받아들였을까요? 아닙니다. 이것이 러다이트 운동을 일으켰습니다.

이러한 어려움에도 불구하고 우리는 기계 도입이 궁극적으로 사람들의 삶을 더 나은 방향으로 변화시켰다고 믿을까요?

저는 그 대답이 ‘예’라고 주장합니다. 변화는 압도적으로 긍정적이었습니다.

잠깐, 산업 혁명의 부정적인 그림을 그렸는데 갑자기 왜 긍정적이라고 말하는 건가요?

우리의 삶이 부인할 수 없을 정도로 개선되었지만 산업 혁명과 관련된 많은 문제는 기계의 급속한 도입으로 인한 사회적 혼란을 예측하고 완화하지 못한 데서 비롯되었습니다. 사회 안전망이 마련되었다면 더 적은 사람들이 고통을 받았을 것이고 부정적인 결과는 최소화되었을 것입니다.

알겠습니다. 하지만 이 모든 것이 AI와 무슨 관련이 있습니까?

AI: 두 번째 산업 혁명

도널드 트럼프 전 미국 대통령은 소프트뱅크 및 OpenAI와 같은 AI 기업에 700조 원을 투자할 계획을 발표했습니다.

LLM은 상당한 양의 전력을 필요로 합니다. 이 전력을 생성하는 회사는 꾸준히 성장하고 있으며, 컴퓨팅을 위한 AI 칩을 개발하는 Nvidia는 세계에서 가장 높은 시가 총액을 달성했습니다.

이 회사들은 어디에 투자할까요? 당연히 돈을 벌 수 있는 곳에 투자할 것입니다.

그리고 세계는 현재 어디에 투자하고 있을까요? AI에 투자하고 있습니다.

AI의 수익성

하지만 AI의 수익성은 어디에서 나올까요?

AI는 제품을 생산하지 않습니다. AI는 공장을 운영하지 않습니다.

그러나 AI는 현재 인간이 수행하는 작업을 자동화하여 회사의 인건비를 잠재적으로 줄일 수 있습니다.

경제적 관점에서 볼 때 단일 직원의 비용은 얼마일까요? 평균 경력 기간을 30년(30세에서 60세까지)으로 가정하고 평균 연봉을 4,500만 원으로 가정하면 회사는 단일 직원에게 경력 기간 동안 13억 5천만 원을 지불하게 됩니다.

즉, 회사는 단일 직원을 13억 5천만 원에 ‘구매’하는 것입니다. 300명 이상의 직원을 둔 회사는 30년 동안 인건비로 4,000억 원을 지출하게 됩니다.

아직도 AI가 수익성이 없다고 생각하십니까? 아직도 세계가 AI에 투자하는 이유를 이해하지 못하십니까?

AI 기반 인력 감축은 회사에 상당한 이익을 창출할 것입니다. 이것이 AI 투자의 알파이자 오메가입니다.

AI의 한계

AI는 100% 성공 또는 100% 실패를 보장하지 않습니다.

저는 한때 졸음 운전을 감지하는 딥 러닝 모델을 시연했습니다. 모델은 궁극적으로 특정 상황을 ‘졸음 운전’으로 분류했지만 개발자인 우리는 그것을 ‘졸음 운전 가능성이 높음’으로 정의했습니다.

다시 말씀드리지만 AI는 절대적인 성공 또는 실패를 보장하지 않습니다.

환각도 유사한 개념입니다. 모델은 추론을 하기 때문에 잘못된 답변을 생성할 수 있습니다. 이것은 AI 개발의 잠재적인 길이자 단점이기도 합니다.

모델이 저를 졸음 운전으로 잘못 식별하면 누가 책임을 져야 할까요?

책임은 모델의 기준을 정의한 우리, 팀에 있습니다.

AI는 책임을 지지 않습니다. AI가 제공하는 답변을 기반으로 결정을 내리는 사람은 우리입니다.

그래서 뭐? 이제 뭘 해야 하나요? AI가 우리 일자리를 뺏어간다는 뜻인가요?

AI에 접근하기

네, 맞습니다. AI가 우리 일자리를 뺏어갈 것입니다.

세계는 AI를 사용하여 우리 일자리를 뺏기 위해 치열하게 경쟁하고 있습니다.

저는 이것이 불가피하며 ‘두 번째 산업 혁명’이 다가오고 있다고 믿습니다.

원활한 전환을 위해 무엇을 해야 할까요?

우리는 AI에 관심을 갖고 사용하고 긍정적이면서도 비판적인 시각을 유지해야 합니다.

많은 사람들이 이 정보를 심각하게 고려한 후 삶에 환멸을 느낄 수 있습니다. 저도 그랬습니다.

AI에 대체될 텐데 왜 굳이 저를 개발하고 개발을 공부해야 할까요?

AI가 저를 위해 코드를 개발할 수 있는데 왜 제가 해야 할까요?

이 시점에서 우리는 인본주의를 고려해야 합니다.

인본주의 초월

종교가 국가를 통치하는 신정 사회에서 ‘왕’이 종교를 착취할 수 있는 시대로 전환하기 위해서는 무언가가 ‘신’을 초월해야 했습니다. 왕은 종교를 이용했지만 생산 수단을 소유한 부르주아는 비교할 만한 도구가 없었습니다. 그들은 인간 자체가 중요하다는 생각을 홍보하기 시작했고 이것이 ‘인본주의’를 일으켰습니다. 인본주의는 차례로 자본주의, 공산주의, 파시즘 및 기타 이념의 출현으로 이어졌습니다.

즉, 인본주의는 신정 사회의 신에서 벗어나려는 노력입니다.

이 종교 사회에서 벗어나려고 했던 일부는 이단 및 마녀로 낙인찍히고 끔찍한 범죄자로 여겨졌습니다. 우리는 그들을 현재의 관점에서 어떻게 볼까요? 그들이 옳았다는 것을 보지 못할까요?

‘AI가 인간보다 낫다 (또는, 더 좁게는) 나보다 낫다’라는 생각은 인본주의를 초월하는 행위입니다.

어쩌면 이것이 자연스러운 사고방식일지도 모릅니다. 저는 우리가 현재 AI 개발로 인해 점차 인본주의에서 벗어나고 있는 전환기에 있다고 믿습니다. 이것은 자연스럽지만 우리는 그로 인한 공황을 최소화할 수 있기를 바랍니다.

우리는 무엇을 해야 할까요?

위에서 언급했듯이 우리는 단순히 AI를 자연스럽게 사용하고 즐기고 비판적인 시각을 유지하며 무엇보다도 우리가 하고 싶은 것을 해야 합니다.

이 과정에서 부정적인 측면이 있을 수 있습니다. 다음 섹션에서는 마침내 ‘제가 개발에서 AI 사용을 중단하고 싶은 이유’를 설명합니다.

개발 분야의 AI

AI는 생산성을 확실히 향상시킵니다.

우리가 사용하는 언어는 프로그래밍 언어입니다. 우리가 이 블로그를 작성하기 위해 한국어를 사용하는 것처럼 프로그래밍 언어를 사용하여 프로그램을 개발합니다.

LLM 기반 생성 AI는 글쓰기에 특화되어 있습니다. 따라서 프로그래밍 언어를 작성하는 데 자연스럽게 효과적일 것입니다. 그렇다면 프로그래밍에 AI를 사용해야 할까요? 물론입니다!

그러나 ‘공부’하고 있는 개발자라면 사용 방법을 고려해야 합니다.

다음과 같은 이유로 저는 적어도 학습 과정에서는 AI를 사용하지 않기로 결정했습니다.

AI가 내 오류 노트를 훔칩니다

우리는 일반적으로 언제 AI를 사용할까요? 저는 디버깅할 때 자주 사용했습니다.

왜 작동하지 않을까요? → 오류 코드, 코드 복사 → ChatGPT에 붙여넣기

무슨 문제일까요? 오류와 디버깅에 지친 개발자가 항상 ChatGPT에서 제공하는 코드를 주의 깊게 검토하고 이해하고 사용할까요? 많은 경우 생각 없이 코드를 복사하여 붙여넣고 작동하지 않으면 AI를 다시 사용할 것입니다.

사용자 프롬프트: 작동하지 않습니다. 이 오류가 발생합니다.

ChatGPT: 앗, 제 실수입니다. 코드를 수정하겠습니다.

다시는 이런 실수를 하지 않을까요? 같은 실수를 다시 저지르고 AI의 도움을 다시 구할 가능성이 높습니다. 지식을 내면화하고 실수로부터 배울 가능성이 크게 줄어듭니다.

계산 과정의 99%를 알고 있지만 마지막 1%에 도달할 수 없다면 코드를 잘 작성한 것일까요? 저는 피곤하기 때문에 단순히 AI에 뇌를 위임하고 있습니다. 저는 제가 모르고 할 수 없는 가장 중요한 부분을 AI에 맡기고 있습니다.

코드 친화적이고 무의식적인 환경 강탈

세상에는 많은 개발자가 있습니다. 세상 반대편에 있는 개발자가 저와 같은 오류를 경험했을 가능성이 높습니다. 하지만 그 개발자가 정확히 같은 상황에서 오류를 경험했을까요? 그들이 작성한 코드가 제가 작성한 코드와 같을까요? 다를 것입니다. 완전히 다른 상황에서 같은 오류가 발생할 수 있습니다.

AI는 주변 환경에 대한 정보에 대한 액세스를 차단합니다. AI는 제가 보낸 코드만 디버깅하고 해당 코드에 대한 정보만 제공하지만 코드를 작성하는 데 필요한 프로세스를 보여주지 않습니다.

“물론 프롬프트 엔지니어링을 사용하여 자세한 설명을 요청할 수 있겠죠?”

가슴에 손을 얹고 얼마나 자주 너무 피곤해서 코드를 복사하여 붙여넣었는지 생각해 보세요.

오류를 검색하고 조사하려면 사전 지식이 필요합니다. 저는 이 사전 지식에 대해 모든 것을 명확하게 알고 있을까요? 이 블로그는 다른 상황을 설명하고, 저 블로그는 다른 상황을 설명합니다. 저는 이 모든 상황을 이해하고 있을까요? Google에서 검색할 때 다른 정보를 찾기 위해 ‘아~ 내 상황과는 다르다’를 읽고 이해할 수 있어야 합니다.

이 간단한 검색 행위조차도 개발자를 더욱 코드 친화적으로 만들 수 있습니다.

ChatGPT도 마찬가지가 아닌가요? 코딩하면서 계속 사용하면 같은 것이 아닌가요?

무의식적인 환경의 중요성

무의식적인 환경의 가장 좋은 예는 가정 환경입니다.

두 명의 아이가 있습니다. 그들은 다른 가정에서 자라고 있습니다. 아이는 새가 날아가는 것을 보고 부모에게 묻습니다.

“엄마(아빠), 저 새는 뭐예요?”

부모의 답변은 다릅니다.

  1. 까치.
  2. 무슨 새인지 궁금해서 찾아봤어요. 까치나 까마귀일 수도 있지만 까치처럼 보이네요.

첫 번째 가족은 직접적인 답변을 제공하고 실용적인 솔루션을 제시합니다.

두 번째 가족은 간접적인 답변을 제공하고 답변을 탐색하는 창의적인 접근 방식을 제안합니다.

이 아이들이 이러한 다른 환경에서 자라면 어떻게 성장할까요?

첫 번째 가족의 아이는 정답을 찾는 데 능숙하지만 정답을 쉽게 구할 수 없는 문제를 다루는 데 능숙하지 않을 수 있습니다. → ChatGPT

두 번째 가족의 아이는 간단한 답을 찾는 데 더 오래 걸릴 수 있지만 정답을 쉽게 구할 수 없는 문제에 대해 생각하는 데 더 편안합니다. → 검색 및 학습 (Google링)

무의식적인 환경은 이러한 방식으로 형성되고 일상 생활의 모든 측면에서 사용됩니다.

개발이 뭐라고 생각하세요? 저는 후자라고 생각하지만 선택은 각 개인에게 맡기겠습니다.

위는 프로이트의 빙산 모델 그림입니다. 우리는 주변 사람들과 접촉하는 모든 것에 무의식적으로 영향을 받습니다. 심지어 지나가는 사람이 ‘요즘 A 음식이 맛있다’라고 말하는 것을 주의 깊게 듣지 않더라도 ‘A 음식이 맛있다’라는 얕은 인식을 심어줍니다. 나중에 A 음식을 보면 실제로 맛있는 것보다 더 맛있게 먹을 수도 있고, 기대에 미치지 못하면 더 실망할 수도 있습니다. 이것은 지나가는 사람의 말을 듣지 않은 것과 비교했을 때 상당한 차이를 만듭니다.

개발에 대한 정보를 부지런히 검색하는 동안 우연히 만난 작은 정보조차도 - 제가 의식적으로 보지 못한 정보 - 결국 자산이 될 것입니다. 무의식은 우리가 생각하는 것보다 훨씬 더 큰 영향을 미칩니다.

결론: 제 개발 철학

제 결론은 ‘LLM은 공부할 때는 최대한 피해야 하지만 생산적인 활동에는 사용할 수 있다’는 것입니다.

우리는 AI 시대 이후에 적응하고 AI 사용 방법을 배우고 그 영향을 직접 경험하고 AI에 대한 긍정적이면서도 비판적인 시각을 유지해야 합니다. 우리는 AI가 결국 우리 일자리를 뺏을 것이라는 점을 인식하고 일자리를 뺏는 것 외에 다른 어떤 영향을 미칠 수 있는지 항상 고려해야 합니다. 우리가 AI를 사용하는 방식이 우리 삶과 사고에 도움이 되는지, AI에 뇌를 위임하지 않는지 반성해 봅시다.

많은 혼란 끝에 저는 마침내 제 개발 철학을 확립했습니다.

모든 코드 한 줄에 내 생각을 불어넣으세요. 단순한 문자나 문장을 만드는 것이 아니라 제 철학과 생각을 불어넣으세요.

그것이 AI와 나의 차이입니다.

모두에게 행운을 빕니다!

추가: 약한 의지력 치료, LLM 사이트 차단

약한 의지력은 질병입니다. 의지력 부족으로 인해 발생하는 약한 의지력을 치료하기 위해 의지력을 사용하는 것은 비논리적입니다. 흡연, 음주 또는 기타 유사한 습관을 끊기 위해 다른 행동을 도입하는 것이 옳습니다.

마찬가지로 LLM 사이트를 차단하는 것이 제 정신 건강에 좋을 것이라고 생각했습니다. 다음은 Mac에서 차단하는 방법입니다.

  1. 터미널에 다음 코드를 입력합니다.

  2. i를 눌러 삽입 모드로 전환합니다. 아래 이미지와 같이 127.0.0.1 호스트에 다음을 추가합니다. 주소를 입력한 후 탭을 누릅니다.

  3. ESC를 눌러 삽입 모드를 종료하고 :wq를 입력하여 저장합니다. 이것은 DNS(도메인 이름 시스템)를 사용하며 ‘127.0.0.1 chatGPT.com’은 주소 표시줄에 chatGPT.com을 입력하면 127.0.0.1(내 컴퓨터의 서버 호스트)에 액세스한다는 것을 의미합니다.

우리 모두 약한 의지력을 함께 치료합시다!