ChatGPT로 더 나은 코딩을 위한 6가지 팁
홈페이지홈페이지 > 블로그 > ChatGPT로 더 나은 코딩을 위한 6가지 팁

ChatGPT로 더 나은 코딩을 위한 6가지 팁

Apr 05, 2023

PubMed Google Scholar에서도 이 저자를 검색할 수 있습니다.

프로젝트 트윈스(The Project Twins)의 일러스트레이션

바위 밑에서 살아본 적이 없다면 ChatGPT에 대해 알고 계실 것입니다. 인공 지능(AI)으로 구동되고 캘리포니아주 샌프란시스코에서 OpenAI가 만든 챗봇은 거의 모든 주제에 대한 사용자 질문(프롬프트라고 함)에 대해 섬뜩할 정도로 인간과 유사한 응답을 제공합니다. ChatGPT는 방대한 텍스트 모음에 대해 교육을 받았으며 텍스트 기반 대화에 참여할 수 있는 능력은 사용자가 응답을 구체화할 수 있음을 의미합니다. 초기 답변이 이상하더라도 결국 소프트웨어 코드를 포함하여 정확한 결과를 생성하는 경우가 많습니다.

연구원은 ChatGPT를 사용하여 코드를 디버깅하고 주석을 달고, 한 프로그래밍 언어에서 다른 프로그래밍 언어로 소프트웨어를 번역하고, 데이터 플로팅과 같은 기계적인 상용구 작업을 수행할 수 있습니다. 3월 사전 인쇄에서는 이 프로그램이 스프레드시트 작업과 같은 생물정보학 입문 과정의 184개 작업 중 76%를 한 번의 시도 후에 해결할 수 있었고 7번의 시도 이내에 97%를 해결할 수 있다고 보고했습니다1.

이는 코딩이 불편하거나 정규 프로그래머를 고용할 예산이 부족한 연구자들에게 희소식입니다. 이들에게 챗봇은 민주화 도구가 될 수 있습니다.

그러나 겉으로 보이는 모든 감각에도 불구하고 챗봇은 지능적이지 않습니다. 그들은 확률론적 앵무새라고 불리며 이전에 본 것을 무작위로 되풀이합니다. 시애틀에 있는 워싱턴 대학교의 컴퓨터 과학자인 Amy Ko는 도구의 한계를 설명하기 위해 오랫동안 진행된 미국 퀴즈 쇼를 불러와 Mastodon 소셜 미디어 사이트에 다음과 같이 썼습니다. 2021년의 문화이지만 정말 게임에 다시 참여하고 싶어하며 의식, 선택 의지, 도덕성, 구체화된 인지 또는 감정적인 내면 생활이 없는 로봇이기도 합니다." (ChatGPT를 훈련하는 데 사용되는 데이터는 2021년까지만 연장됩니다.)

간단히 말해서 ChatGPT 및 Microsoft Bing 및 GitHub Copilot을 포함하는 LLM(대형 언어 모델) 기반 관련 도구는 매우 강력한 프로그래밍 보조 도구이지만 주의해서 사용해야 합니다. 이를 수행하는 6가지 방법은 다음과 같습니다.

챗봇은 데이터 로드, 기본 데이터 조작 수행, 시각화 및 웹 사이트 생성과 같은 소규모의 개별 프로그래밍 작업에 가장 적합합니다. 그러나 이는 소프트웨어 엔지니어링과 다르다고 캐나다 빅토리아 대학의 컴퓨터 과학자인 Neil Ernst는 말합니다.

ChatGPT: 연구의 5가지 우선순위

"소프트웨어 엔지니어링은 단순히 프로그래밍 퍼즐을 푸는 것 그 이상입니다."라고 Ernst는 설명합니다. "테스트 프레임워크에 대해 생각하고, 유지 관리 가능한 코드를 작성하고, 시스템 구축과 관련된 장단점을 이해하고 있습니다"(예: 속도와 가독성 사이의 문제). "현재 도구로는 이러한 문제를 해결할 수 없다고 생각합니다."

따라서 프로그래밍 언어 Python용 그래프 라이브러리인 Matplotlib를 사용하여 시각화를 생성하기 위한 구문을 기억하는 등 그들이 할 수 있는 많은 작업이 남아 있습니다. 그런 의미에서 챗봇은 프로그래머를 위한 온라인 질문과 답변 포럼인 Stack Overflow의 대화형 인터페이스와 같습니다. Ernst는 "그것은 누군가가 특별히 글쓰기를 좋아하는 내용이 아니며, 데이터에 대해 가질 수 있는 어려운 분석 질문을 묻는 데 시간을 절약해 줍니다."라고 말합니다.

챗봇은 코드가 작동하지 않는 이유를 설명하는 데에도 능숙합니다. 매사추세츠 대학교 애머스트 캠퍼스의 컴퓨터 과학자인 에머리 버거(Emery Berger)는 이러한 능력을 활용하여 몇 가지 유용한 도구를 만들었습니다. cwhy라는 하나는 ChatGPT를 사용하여 프로그래밍 언어 C, C++ 및 Rust로 작성된 코드의 컴파일러 오류를 설명합니다. 또 다른 ChatDBG는 디버깅을 위한 대화형 인터페이스를 제공하고, 세 번째인 Scalene은 AI를 사용하여 성능 향상을 위한 코드 최적화를 제안합니다.

챗봇은 한 프로그래밍 언어에서 다른 프로그래밍 언어로 코드를 번역할 수도 있습니다. 파리 Curie Institute의 생물물리학자인 Mathieu Coppey는 ChatGPT를 사용하여 자신이 선호하는 언어인 MATLAB에서 Python으로 전환하는 데 도움을 주고 있습니다. Google과 온라인 포럼을 사용하면 일반적으로 Python 코드가 작동하는 데 며칠이 걸립니다. "이제는 한 시간 정도 안에 그 일을 할 수 있습니다"라고 그는 말합니다.

instead of >= in a conditional statement, are easy to fix, but hard to find. "If you don't know enough to tell the difference between something correct and something that's effectively nonsense, then you could get yourself in trouble," she says./p>