컴파일 | 누카콜라, 링민
GitHub Copilot 및 ChatGPT와 같은 AI 제품의 인기로 인해 더 많은 사람들이 프로그래밍에서 AI의 강력한 기능을 확인할 수 있게 되었습니다. 최근에는 "AI가 프로그래머를 대체한다", "AI가 프로그래밍의 왕좌를 차지한다"는 말이 자주 등장한다.
얼마 전 하버드 대학교 컴퓨터 과학 교수이자 Google 엔지니어링 이사였던 Matt Welsh는 Chicago Computer Society의 가상 컨퍼런스에서 ChatGPT와 GitHub Copilot이 프로그래밍 종말의 시작을 예고한다고 말했습니다. Welsh는 생성 AI가 3년 이내에 프로그래밍을 종료할 것이라고 주장합니다.
하지만 이에 반대하는 분들도 계십니다. 최근 Constructor Institute의 교수이자 에펠 소프트웨어의 최고 기술 책임자인 Bertrand Meyer는 ACM에 공개적으로 "반대되는 곡을 노래"하는 기사를 게재했습니다. 그는 ChatGPT가 프로그래밍되는 방식을 주의 깊게 연구한 결과 AI가 프로그래머에게 도움이 될 수 없다는 결론을 내렸습니다.
ChatGPT 프로그래밍 실험
얼마 전 Meyer는 일련의 기사를 통해 가상의 이진 검색 문제를 해결하는 방법에 대해 논의했습니다. 내용이 좋아 보였고 각 기사에서도 자체 버전의 답변을 제안했지만 실제로는 대부분이 틀렸습니다. (자세한 내용은 https://bertrandmeyer.com/2020/03/26/getting-program-right-nine-episodes/)
이를 자료로 사용하여 Meyer는 이 기사를 ChatGPT(버전 4)에 제출했습니다.
AI 플레이어가 먼저 문제를 설명했습니다.
이 문제는 실제로 두 개가 아닌 여러 요소에서 발생할 수 있습니다. 그러나 프로그램이 틀렸다는 것을 증명하려면 반례를 제시하는 것으로 충분합니다(그러나 그것이 옳다는 것을 증명하려면 그것이 모든 예에 적용된다는 것을 보여줄 필요가 있습니다). Meyer는 프로그램이 올바른지 여부만 물었고 수정 방법에 대해서는 언급하지 않았지만 ChatGPT는 여전히 열정적으로 다음과 같은 제안을 했습니다.
여기 댓글 섹션이 정말 도움이 됩니다.
ChatGPT가 옳고 논리가 완벽하게 이해됩니다. 제안된 대체 코드를 검토한 후 Meyer는 수상한 점을 발견했습니다. 그래서 Meyer는 다음과 같이 질문했습니다.
Meyer의 버그를 수정하려고 시도하는 동안 ChatGPT는 버그가 있었지만 다른 방식으로 다른 버전을 출력했습니다. ChatGPT는 매번 새 버전을 제공하려고 시도한다는 점을 언급할 가치가 있습니다. 이전 오류를 수정하는 동시에 새로운 문제도 발생합니다 .
Meyer는 또한 ChatGPT가 특히 사과에 능숙하다는 사실을 발견했습니다.
ChatGPT는 Meyer에게 수정된 솔루션을 적극적으로 권장하면서 스스로 대화해 왔습니다.
이 시점에서 Meyer는 최신 버전이 올바른지 확인하려고 시도하지도 않습니다. 숙련된 프로그래머는 한 가지 사례에 집중하고 특정 수정 사항을 지속적으로 추가하는 것이 올바른 프로그램을 생성하는 최선의 방법이 결코 아니라는 것을 알고 있습니다.
그래서 메이어 역시 계속해서 예의를 갖추기로 결정했습니다:
재밌음: ChatGPT는 Meyer에게 루프 불변성 개념을 도입하기로 결정했습니다!
Meyer는 "알고리즘의 정확성을 검증하는 보다 체계적인 방법이 필요하다"고 언급하거나 암시한 적이 없습니다. 그는 단지 ChatGPT가 권장하는 답변이 정확하다는 것을 어떻게 증명할 수 있는지 알고 싶었을 뿐 "체계적인" 또는 " "확인"과 같은 단어. 이 장면의 이유는 대규모 자료를 기반으로 한 통계적 추론이 ChatGPT에 신뢰를 주어 사용자가 출력 코드의 정확성에 대해 확실히 의문을 제기하고 체계적인 방식으로 검증을 요구할 것이라고 믿을 수 있게 되었기 때문일 수 있습니다.
Meyer는 계속해서 다음과 같이 질문했습니다.
ChatGPT는 ACM 컴퓨팅 설문조사에 포함된 루프 불변 설문조사까지 포함하여 좋은 답변을 주었습니다. 그리고 여전히 먼저 칭찬을 한 다음 문제를 설명하는데 매우 정중합니다.
이 시점에서 메이어는 더 이상 질문을 하지 않을 예정입니다.
메이어는 문제 해결 방법을 알고 있지만 대부분의 프로그래머와 마찬가지로 실수를 합니다. 그는 자신을 모니터링하고, 함정에 대해 경고하고, 실수할 때 바로잡을 수 있는 AI 프로그래밍 도우미를 원합니다. 즉, 그는 AI가 효율적이고 유용한 페어 프로그래밍 파트너가 되기를 원합니다. 그러나 실험 결과에 따르면 AI 프로그래밍 도구는 똑똑하고 글을 잘 읽을 뿐만 아니라 일관되게 예의 바르고 기꺼이 사과하는 고급 대학원생과 유사합니다. 돌이켜봐도 여전히 조잡하고 부정확해 보이며 소위 도움이라는 것이 메이어에게는 거의 쓸모가 없었습니다.
현대 AI 결과는 올바른 프로그램을 생성할 수 없습니다
Meyer는 현재의 생성 AI 도구가 실제로 일부 분야에서 대부분의 인간보다 훨씬 더 잘 작업을 완료할 수 있다고 믿습니다. 관련 결과는 빠르고 확실하게 제공되며, 언뜻보기에 원칙적으로 최고 전문가만큼 훌륭하지는 않습니다. 큰 문제. 마케팅 브로셔를 생성하고 웹사이트 콘텐츠를 대략적으로 번역할 수 있을 뿐만 아니라 번역 도구는 뛰어난 의료 이미지 분석 기능도 보여줍니다.
그러나 프로그래밍 요구 사항은 완전히 다릅니다. 출력 프로그램의 정확성에 대한 엄격한 요구 사항이 있습니다. 개발자는 특정 오류를 허용할 수 있지만 핵심 기능은 정확해야 합니다. 고객의 주문이 Microsoft 주식 100주를 매수하고 Amazon 주식 50주를 매도하는 것이라면 프로그램은 그 반대의 조치를 취해서는 안 됩니다. 전문 프로그래머는 가끔 실수를 하기도 하는데, 이때 AI 어시스턴트가 도움을 줄 수 있는지에 따라 달라진다.
그러나 현대 AI 노력은 올바른 프로그램을 생성하지 않습니다. 그들이 생성하는 프로그램은 실제로 이전에 본 수많은 원본 프로그램에서 추론됩니다. 이러한 절차는 신뢰할 수 있는 것처럼 보일 수 있지만 정확성을 완전히 보장할 수는 없습니다. (여기서 언급하는 현대 AI는 초기 AI와 구별하기 위한 것입니다. 후자는 전문가 시스템 등의 방법을 통해 인간의 논리적 사고를 재현하려고 했으나 상당 부분 실패했습니다. 오늘날의 AI는 전적으로 통계적 추론에 의존하여 기본 기능을 구현합니다.)
메이어는 AI 비서가 어떤 측면에서는 매우 뛰어난 성능을 발휘하지만 논리의 산물이 아니라 단어 조작에 능숙한 대가라고 지적했습니다. 대규모 언어 모델은 자신을 표현하고 너무 버그가 없어 보이는 텍스트를 생성할 수 있습니다. 이 성능은 많은 애플리케이션 시나리오에 충분하지만 프로그래밍 요구 사항에는 여전히 적합하지 않습니다.
현재 인공지능은 사용자가 기본 프레임워크를 생성하고 비교적 신뢰할 수 있는 답변을 제공할 수 있도록 지원합니다. 그러나 그것이 끝나는 곳입니다. 현재의 기술 수준으로 볼 때 정상적으로 실행 가능한 프로그램을 출력하는 것은 전혀 불가능합니다.
그러나 이는 소프트웨어 엔지니어링 업계에 나쁜 것은 아닙니다. 메이어는 "프로그래밍은 죽었다"는 온갖 종류의 선전에도 불구하고 이 실험은 인간 프로그래머와 자동 프로그래밍 보조자 모두 표준화된 제약이 필요하며 생성된 모든 후보 프로그램을 검증해야 한다는 점을 상기시켜 준다고 믿습니다. 처음에 놀라고 나면 사람들은 클릭 한 번으로 프로그램을 생성하는 능력이 별 효과가 없다는 것을 결국 깨닫게 될 것입니다. 사용자가 원하는 결과를 제대로 얻지 못하는 경우가 많다는 점을 고려하면, 성급하게 자동화 기능을 실행하는 것은 오히려 해로울 수도 있습니다. 마지막에 작성
메이어는 AI 프로그래밍을 폄하하는 것이 아닙니다. 그는 신중한 태도가 신뢰할 수 있는 기능을 갖춘 최고의 AI 시스템을 구축하는 데 도움이 될 수 있다고 믿습니다.
AI 기술은 아직 개발 초기 단계이지만 이러한 한계는 영구적이고 극복할 수 없는 장애물이 아닙니다. 아마도 언젠가는 생성적 AI 프로그래밍 도구가 이러한 장애물을 극복할 수 있을 것입니다. 실제로 프로그래밍 가능하게 만들려면 사양 및 검증 측면을 심층적으로 탐색하고 연구해야 합니다.
질문입니다. AI 프로그래밍 도구를 사용해 본 적이 있나요? 어떤 도구가 사용되었나요? 얼마나 정확합니까? 이 도구가 정말 도움이 되나요? 의견 영역에 귀하의 경험을 적어 주셔서 감사합니다.
원본 링크:GPT-4와 Copilot을 사용하여 코드를 작성하는 것을 거부한 프로그래밍 경력 19년의 베테랑 프로그래머가 '인터뷰'에서 탈락했습니다
Ma Huateng이 "형성을 강화하라"고 말하자 Microsoft는 자체 Linux 배포판을 출시하고 GPT-4에 대응하여 바보가 되었습니다. Q News
벡터 데이터베이스? 투자하지 마세요! 투자하지 마세요! 투자하지 마세요!연봉 60만원인데 데이터 분석가로 계속 일할 수는 없을까? ! Alibaba Damo Academy의 연구에 따르면 GPT-4로 전환하는 데 드는 비용은 수천 위안에 불과한 것으로 나타났습니다
신고 추천
ChatGPT, Claude, Sage, Tiangong 3.5, Wenxinyiyan, Tongyi Qianwen, iFlytek Spark, Moss, ChatGLM, vicuna-13B 등과 같은 대형 언어 모델 제품이 포함되어 4개의 주요 차원 + 12개의 하위 차원을 보여줍니다. 기술적 관점에서 대형모델 제품의 프로그래밍 역량을 강화하고, AGI 창업방향 선정, 실무적용 등에 대한 최신 이해도를 제고한다. InfoQ 도우미를 추가하고 모든 정보를 잠금 해제하려면 QR 코드를 스캔하세요.
생방송 미리보기
AI 대형모델 시대, 건축가는 어떤 기회와 도전에 직면하나요? 오늘 밤 20:00에 Mobvista Technology VP Cai Chao가 HKUST의 iFlytek AI 연구소 부사장인 Li Xin과 실시간 연결을 통해 답변을 공개할 예정입니다! ArchSummit Shenzhen의 흥미진진한 특별 주제에 대한 스포일러도 미리 포함되어 있으며, 지식의 선물은 끝이 없습니다! 지금 예약하세요!
위 내용은 프로그래밍은 죽었고, 이제는 AI인가? 교수는 공개적으로 "반대"를 노래합니다: AI는 아직 프로그래머를 도울 수 없습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!