본문 바로가기
프로그래밍

프로그래밍 「 추천 편」ChatGPT가 소프트웨어 개발자를 대체할 수 있습니까?

by grapedoukan 2023. 6. 4.
728x90

아니요

그래서 방금 ChatGPT를 열고 다음과 같이 질문했습니다.

"국가 약어와 인구로 구성된 키 - 값 쌍 목록을 받아들이는 함수와 일정한 시간에 요청 된 국가의 인구를 반환하는 함수의 두 가지 함수로 Javascript 코드를 작성하십시오."

그리고 이것이 응답으로 나에게 준 것입니다.

let populationData = {}; // empty object to hold the population data  
 
// function to populate the populationData object  
function addPopulationData(data) {  
  for (let i = 0; i < data.length; i++) {  
    let country = data[i][0];  
    let population = data[i][1];  
    populationData[country] = population;  
  }  
}  
 
// function to return the population of a requested country in constant time  
function getPopulation(country) {  
  return populationData[country];  
}

이 코드는 실제로 꽤 좋습니다. 댓글이 중복되는 것 같지만 개선하기 위해 할 말이 많지 않은 것 같습니다.

그래서 내 직업이 위험에 처해 있습니까? 아니요, 세 가지를 지적 할 것이기 때문입니다.

  1. 나는 필요한 결과를 얻기 위해 그 질문을 작성하는 방법을 정확히 알고있는 유능한 엔지니어입니다.
  2. 저는 결과 코드를 읽고 작동 여부와 개선 할 수 있는지 판단 할 수있는 유능한 엔지니어입니다.
  3. 이것은 매우 간단한 문제입니다. 문제가 복잡할수록 ChatGPT는 결과를 생성하기 위해 끌어낼 유사한 솔루션에 대한 데이터가 줄어들고 코드가 잘못될 기회가 더 많아집니다.

내가 프로그래밍하는 방법을 모르고 그 질문을 어떻게 표현해야 할지 몰랐다고 가정해 봅시다. 내가 방금 "나에게 국가의 인구를 줄 자바 스크립트 함수를 작성하십시오"라고 말하면 다음과 같이 제공됩니다.

const countryPopulation = {  
'USA': 331449281,  
'China': 1444216105,  
'India': 1393409038,  
'Brazil': 213993437,  
'Pakistan': 225199937,  
'Nigeria': 211401000,  
// Add more countries and populations here...  
};  
 
function getPopulation(country) {  
  if (countryPopulation[country]) {  
    return countryPopulation[country];  
  } else {  
  return 'Population data not found for this country.';  
  }  
}

다시 말하지만, 그 응답은 내가 준 매개 변수에서 괜찮은 편이지만, 프로그래머가 아닌 사람이 이것을보고 있다면 잘라내어 붙여 넣을 수 있습니까? 목록에 없는 국가가 있으면 어떻게 해야 하나요? 바라건대 나는 목록을 확장 할 수 있다는 것을 깨달을만큼 똑똑하지만, 이제는 새로운 국가를 추가해야 할 때마다 또는 국가의 인구가 변경 될 때마다이 목록을 수동으로 업데이트하고 있습니다.

그래서 어쩌면 나는 영리하고 더 나은 말을 하려고 노력할 것입니다.

"인구가있는 국가 목록을 수락하고 원하는 국가의 인구를 알려주는 Javascript 코드를 작성하십시오."

나는 이것이 O (n) 시간 복잡성을 가진 결과를 줄 것으로 기대했을지 모르지만 그렇게 좋지는 않다. 결과는 방금 보여드린 코드와 거의 동일합니다. 국가 및 인구 목록도 매개 변수로 허용하지 않습니다.

따라서 기본적으로 ChatGPT를 사용하여 프로그래밍을 도울 때 컴퓨터가 내가 원하는 방식으로 작동하는 코드를 생성할 수 있도록 요청을 가능한 한 정확하게 표현하는 방법을 알아내야 합니다.

컴퓨터가 원하는 방식으로 작동하도록 컴퓨터와 효과적으로 통신하는 방법을 배울 때 이름이 무엇인지 아십니까?

프로그래밍. 프로그래밍이라고 합니다.

ChatGPT를 사용하면 프로그래밍을 더 빠르고 쉽게 만들 수 있지만 컴퓨터가 이해하는 방식으로 요구 사항을 명확히 하고, 출력을 읽고, 평가하고, 개선할 수 있어야 합니다. 출력을 직접 수정하여 개선할 수 있습니다. ChatGPT에 대한 요청을 명확히 하여 개선할 수 있습니다. 그러나 어느 쪽이든 ChatGPT가 하려는 일을 이해하는 데 능숙해야 하며, 이는 관련 언어에 대한 깊은 이해를 가진 엔지니어가 되는 것을 의미합니다.

엔지니어를 ChatGPT로 대체하려는 노력이 있을 것이라는 데 의심의 여지가 없습니다. 그리고 이러한 노력은 필연적으로 고객의 요구에 제대로 맞지 않는 버그가 많고 비효율적이며 유지 관리할 수 없는 소프트웨어를 생산하기 때문에 실패할 것입니다. 이 오류를 범하는 회사는 필연적으로 엔지니어를 고용하여 엉망진창을 수정해야 하며, 처음부터 고용했을 때보다 비용이 더 많이 듭니다.

728x90