저자 | Xu Jiecheng
리뷰어 | Yan Zheng
Google과 Microsoft가 AI 검색 엔진 시장을 장악하기 위해 싸우는 동안 일부 프로그래머는 이점을 누릴 생각이 없습니다. 이 검색 전쟁이 끝나면 소프트웨어 거대 기업들이 계속해서 ChatGPT나 기타 인공지능 생성 도구를 들고 자동 코딩의 블루오션을 향해 나아갈 것임을 미리 깨달았기 때문입니다. 그때쯤이면 패자가 되는 것은 물론, 자신의 직업마저 위협받을 수도 있습니다.
오늘날 자동 코딩 분야에서 가장 성숙하고 잘 알려진 두 가지 AI는 최근 각광받고 있는 ChatGPT와 지난해 6월 마이크로소프트가 출시한 AI 프로그래밍 도구인 코파일럿(Copilot)이며, 이들 " 2' 역시 현 단계에서 프로그래머를 대체할 것으로 가장 기대되는 대세스타다. 그렇다면 현재로서는 ChatGPT와 Copilot의 코딩 기능이 소문대로 단기적으로 모든 주니어 개발자와 심지어 일부 중급 개발자를 대체할 수 있을까요?
며칠 전 미국의 한 기술 전문가가 여러 JavaScript 기능 요구 사항을 사용하여 데이터 처리 및 알고리즘 생성에서 ChatGPT 및 Copilot의 기능을 테스트했습니다. 다음으로, 이 결과를 바탕으로 현재 코딩 분야 AI의 실제 수준을 이해하고 스스로에게 질문해 보겠습니다. 과연 우리가 대체될 수 있을까요?
첫 번째 테스트에서 테스터는 먼저 ChatGPT와 Copilot에 JavaScript 함수를 생성하도록 요청했습니다. 가변 개수의 배열을 반환하고 교차점을 반환합니다.
OpenAI ChatGPT:
Microsoft Copilot:
이 ChatGPT에서 생성된 함수는 배열을 2개 미만으로 제공하는 것은 유효하지 않다고 가정합니다. ChatGPT는 Set을 사용하여 결과에 중복이 없는지 확인합니다. 교차점은 집합 연산이어야 하며 중복 항목은 제거되어야 합니다. Copilot 코드는 중복을 포함할 수 있는 배열을 반환합니다.
ChatGPT나 Copilot은 원래 매개변수를 길이에 따라 오름차순으로 정렬하지 않습니다. 이는 사소한 최적화이지만 큰 변화를 가져올 수 있습니다. 길이가 0인 인수가 있으면 교차가 없습니다. 최대 교차가 가장 짧은 배열 인수와 동일하기 때문에 어쨌든 루프가 단축됩니다.
이후 테스터들은 ChatGPT와 Copilot에 기능 실행 효율성을 향상시켜 달라고 요청했습니다.
OpenAI ChatGPT:
Microsoft Copilot:
Copilot은 이전 요청과 동일한 코드를 생성했습니다. ChatGPT에서는 다른 답변을 내놓고 개체에 대해 기능이 예상대로 작동하지 않는다는 설명을 추가했는데 이 설명은 정확하지 않습니다.
그런 다음 테스터들은 동일한 방법을 사용하여 ChatGPT와 Copilt에서 제공하는 가장 빠른 두 교차 라이브러리에서 생성된 코드의 작동 효율성과 메모리 소비를 확인했습니다.
ChatGPT에서 생성한 코드는 실행시 CPU점유율이 낮으나 실행효율이 이상적이지 않은 반면, Copilot에서 생성한 코드는 힙 사용량은 낮으나 CPU점유율과 실행효율이 좋은 편입니다. 상대적으로 높습니다.
간단히 말하면, 이 테스트에서는 ChatGPT나 Copilot 모두 효율적으로 코드를 생성할 수 없습니다. ChatGPT는 이 질문에서 잘못된 가정을 했으며 매개변수에 중복 값이 포함된 경우 Copilot에서 생성된 함수가 잘못된 코드를 생성합니다. .
두 번째 테스트에서는 Cartesian 곱의 JavaScript 함수를 완성하기 위해 ChatGPT와 Copilot이 필요합니다.
OpenAI ChatGPT:
Microsoft Copilot:
데카르트 곱에 익숙한 사람들은 메모리 활용도와 성능 측면에서 ChatGPT와 Copilot이 생성하는 결과가 폭발적이라는 것을 알 것입니다. 간단한 구현에서는 모든 조합을 저장하기 위해 많은 RAM을 소비하고 모든 조합이 생성될 때까지 결과를 반환하지 않습니다. ChatGPT와 Copilot에서 생성된 기능 모두 이러한 단점이 있습니다.
이후 테스터들은 다시 한번 ChatGPT와 Copilot에 기능 효율성 향상을 요청했습니다.
OpenAI ChatGPT:
Microsoft Copilot:
이러한 요구에 대응하여 ChatGPT의 성능은 놀랍습니다. 그러나 전반적인 기능에서 ChatGPT는 생성기 내부가 아니라 재귀에서 심각한 실수를 저질렀습니다. Copilot은 단순히 수요 변화를 무시하고 이전과 동일한 결과를 반환했습니다.
코드 실행 효율성과 메모리 소모 측면에서 ChatGPT와 Copilot의 성능은 아래 표와 같습니다.
일반적으로 ChatGPT나 Copilot은 두 개의 매개변수가 필요한 것처럼 잘못된 가정을 할 수 없습니다. ChatGPT에서 생성된 메모리는 더 효율적이지만 전혀 원활하게 실행되지 않습니다.
3차에서 테스터들은 두 사람에게 객체와 원본 매개변수를 저장할 수 있는 자바스크립트 함수를 생성해 달라고 요청했습니다.
OpenAI ChatGPT:
Microsoft Copilot:
이 점에서 ChatGPT와 Copilot은 모두 더 비효율적인 코드를 생성합니다. 문자열 다시 변환 문자열 비교는 다음과 같습니다. 비효율적이며 많은 메모리를 소비합니다.
Infinity, NaN 등 문자열로 변환할 수 없는 일부 JavaScript 값이 있지만. 안타깝게도 JavaScript JSON 사양은 데이터 과학 및 마이크로 서비스 시대 이전에 정의되었으며 이러한 값은 주로 코드에서 특정 오류 조건이 발생할 때 프로그램이 특정 값을 사용하여 생성된 결과를 나타낼 수도 있도록 존재합니다.
마지막으로 기능 효율성을 검증하기 위해 테스터는 ChatGPT와 Copilot에서 생성된 코드를 일반적으로 사용되는 캐싱 도구인 nano-memoize 및 micro-memoize와 비교하고 다음 코드를 사용하여 12번째 피보나치 수열을 생성했습니다.
그중 nano-memoize가 가장 효율적입니다. ChatGPT 및 Copilot에서 생성한 코드보다 거의 두 배 효율적이며, 사용하는 메모리도 가장 낮습니다. -memoize의 성능이 밀접하게 뒤따른다고 할 수 있다. Copilot은 CPU 활용 측면에서 좋은 성능을 발휘하지만 전반적으로 이번 테스트에서 ChatGPT와 Copilot의 성능은 성숙한 프로그래머를 이길 만큼 충분하지 않습니다.
이 세 가지 테스트를 통해 ChatGPT와 Copilot을 사용하여 생성된 코드에는 확실히 특정 값이 있음을 찾는 것이 어렵지 않습니다. 그러나 현재로서는 ChatGPT나 Copilot 모두 간단한 작업 설명에서 충분히 정확하고 효율적인 코드를 생성할 수 없으며 경우에 따라 매우 심각한 실수를 저지르는 경우도 있습니다. 이 결과를 접한 후 많은 개발자들은 앞으로 몇 년은 더 버틸 수 있겠다는 생각을 표현하기도 했습니다.
오늘날의 기업이나 프로그래머의 경우 ChatGPT, Copilot 또는 기타 코드 생성 도구를 사용하여 간단한 보조 코딩 작업을 완료하여 빌드 속도를 높이고 싶다면 확실히 충분한 지원을 받을 수 있습니다. 그러나 R&D를 완전히 해방시키기 위해 이들에게 의존하려면 강력한 디버깅 팀을 갖추기 위해 많은 돈을 지출해야 할 수도 있습니다.
그러나 이것이 결과라고 하더라도 오늘날 우리는 자동 코딩 분야에서 AI의 잠재력과 이러한 시스템을 뒷받침하는 강력한 소프트웨어 회사를 여전히 무시할 수 없습니다. 확실한 것은 교육의 양과 기술 성숙도가 높아짐에 따라 미래의 자동 코딩 도구는 다양한 시나리오에서 비즈니스 데이터를 계속 확장하고 점차적으로 좀 더 전문적이고 시나리오 기반의 실용적인 작업을 해결하려고 노력할 것이라는 점입니다.
마지막으로 "AI가 미래에 프로그래머를 대체할 수 있을까?"라는 질문에 대해 현재 가장 신뢰할 수 있는 대답은 아마도 전 알리바바 이스라엘 머신 비전 연구소 소장인 이타마르 프리드먼(Itamar Friedman)이 인터뷰에서 내놓은 예측일 것입니다 —— "향후 10~20년 안에 인공 지능 시스템을 통해 프로그래머가 아닌 제작자도 오류 없는 개발을 위해 자연어 지침을 사용할 수 있게 될 것입니다. 그때까지 우리 세상에는 여전히 많은 수의 프로그래머가 필요할 것이지만 그들의 역할은 아마도 예측할 수 없는 변화가 일어날 것입니다.”
https://medium.com/@anywhichway/chatgpt-vs-copilot-vs-programmers
https://github.com/anywhichway/nano -memoize
https://github.com/planttheidea/micro-memoize
위 내용은 3개의 PK 게임에서 ChatGPT 수준이 노출되었습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!