웹사이트 검색

ChatGPT를 사용하여 코드를 작성하는 방법 - 그리고 ChatGPT가 생성하는 것을 디버그하기 위해 내가 가장 좋아하는 트릭


AI는 유용한 코드를 작성할 수 있지만 사용할 수 없는 쓰레기를 생성할 수도 있습니다. 코딩에 대한 많은 모험에서 AI를 최대한 활용하기 위한 조언은 다음과 같습니다.

ChatGPT에 대한 더 흥미로운 발견 중 하나는 꽤 좋은 코드를 작성할 수 있다는 것입니다. 2023년에 아내가 웹사이트에서 사용할 수 있는 WordPress 플러그인을 작성하도록 요청했을 때 처음 테스트했습니다. ChatGPT는 훌륭하게 수행했지만 간단한 프로젝트였습니다. 

그렇다면 ChatGPT를 사용하여 일상적인 코딩 연습의 일부로 코드를 작성하려면 어떻게 해야 합니까? 다음은 간략한 요약입니다.

  1. ChatGPT는 유용한 코드와 사용할 수 없는 코드를 모두 생성할 수 있습니다. 최상의 결과를 얻으려면 명확하고 상세한 프롬프트를 제공하십시오.
  2. ChatGPT는 완전한 애플리케이션을 처음부터 구축하는 것보다 특정 코딩 작업이나 루틴을 지원하는 데 탁월합니다.
  3. ChatGPT를 사용하여 특정 목적에 적합한 코딩 라이브러리를 찾아 선택하고 대화형 토론에 참여하여 옵션을 좁히십시오.
  4. AI가 생성한 코드의 소유자에 대해 주의하고 항상 코드의 신뢰성을 확인합니다. 생성된 출력을 맹목적으로 신뢰하지 마십시오.
  5. ChatGPT와의 상호 작용을 대화로 취급합니다. AI의 응답을 기반으로 질문을 구체화하여 원하는 출력에 더 가까이 다가갈 수 있습니다.

이제 ChatGPT를 훨씬 더 자세히 살펴보겠습니다.

ChatGPT는 어떤 유형의 코딩을 잘할 수 있습니까?

ChatGPT와 코딩에 대한 두 가지 중요한 사실이 있습니다. 첫째, AI는 유용한 코드를 작성할 수 있습니다. 

두 번째는 AI가 완전히 길을 잃고, 토끼굴에 빠지고, 꼬리를 쫓고, 사용할 수 없는 쓰레기를 생성할 수 있다는 것입니다.

나는이 사실을 어려운 방법으로 발견했다. 아내를 위해 WordPress 플러그인을 완성한 후 ChatGPT가 어디까지 갈 수 있는지 확인하기로 결정했습니다. 

필자는 사용자 인터페이스 요소, 상호 작용, 설정에서 제공되는 내용, 작동 방식 등에 대한 자세한 설명을 포함하여 Mac 응용 프로그램에 대한 매우 신중한 프롬프트를 작성했습니다. 그런 다음 ChatGPT에 프롬프트를 제공했습니다.

ChatGPT는 수많은 텍스트와 코드로 응답했습니다. 그런 다음 코드 중간에 멈췄습니다. AI에게 계속하라고 요청하자 더 많은 코드와 텍스트를 토해냈습니다. 계속 한 후 계속을 요청했는데 점점 더 많은 코드가 쏟아져 나왔습니다. 그러나 출력을 사용할 수 없었습니다. AI는 코드가 어디로 가야 하는지, 프로젝트를 어떻게 구성해야 하는지 식별하지 못했고, 생성된 코드를 주의 깊게 살펴보았을 때 제가 요청한 주요 작업을 생략하고 "프로그램 로직이 여기에 있습니다"라는 간단한 텍스트 설명만 남겼습니다.

반복된 테스트를 거친 후 ChatGPT에 완전한 애플리케이션을 제공하도록 요청하면 도구가 실패한다는 것이 분명해졌습니다. 이 관찰의 필연적인 결과는 코딩에 대해 아무것도 모르고 ChatGPT가 무언가를 구축하기를 원하면 실패할 것이라는 것입니다.

ChatGPT가 성공하고 매우 잘 수행하는 부분은 특정 루틴을 구축하고 작업을 완료하기 위해 코딩하는 방법을 이미 알고 있는 사람을 돕는 것입니다. 메뉴 모음에서 실행되는 앱을 요청하지 마세요. 그러나 ChatGPT에 메뉴 표시줄에 메뉴를 배치하는 루틴을 요청하고 이를 프로젝트에 붙여넣으면 도구가 꽤 잘 작동합니다.

또한 ChatGPT는 엄청난 양의 도메인별 지식을 가지고 있는 것처럼 보이지만 (종종 그렇습니다) 지혜가 부족하다는 점을 기억하십시오. 따라서 이 도구는 코드를 작성할 수 있지만 깊은 경험이 필요한 특정 또는 복잡한 문제에 대한 뉘앙스가 포함된 코드는 작성할 수 없습니다.

ChatGPT를 사용하여 기술을 시연하고, 작은 알고리즘을 작성하고, 서브루틴을 생성하십시오. ChatGPT를 사용하여 더 큰 프로젝트를 청크로 분할한 다음 해당 청크를 코딩하는 데 도움을 요청할 수도 있습니다.

따라서 이를 염두에 두고 ChatGPT가 코드 작성에 어떻게 도움이 되는지에 대한 몇 가지 구체적인 단계를 살펴보겠습니다.

ChatGPT를 사용하여 코드를 작성하는 방법

1. 귀하의 요청을 좁히고 선명하게 하십시오.

이 첫 번째 단계는 ChatGPT에 무엇을 요구할 것인지 결정하는 것이지만 아직 아무 것도 묻지 않습니다. 함수나 루틴이 무엇을 하기를 원하는지, 또는 코드에 통합하기 위해 무엇을 배우고 싶은지 결정하십시오. 코드에 전달할 매개변수와 출력하려는 매개변수를 결정하십시오. 그런 다음 어떻게 설명할 것인지 살펴보십시오.

이 작업을 수행하기 위해 인간 프로그래머에게 비용을 지불한다고 상상해 보십시오. 당신은 그 사람에게 당신의 과제를 수행할 수 있도록 충분한 정보를 제공하고 있습니까? 아니면 너무 모호하고 당신이 지불하는 사람이 질문을 하거나 당신이 원하는 것과 전혀 관련이 없는 것을 제출할 가능성이 더 높습니까?

예를 들면 다음과 같습니다. 모든 웹 페이지를 요약 할 수 있기를 원한다고 가정 해 보겠습니다. AI에게 이 기사를 제공하고 잘 고려되고 적절한 요약을 받고 싶습니다. 입력으로 웹 페이지 URL을 지정하겠습니다. 내 출력으로, 그것은 요약이있는 텍스트 블록입니다.

2. ChatGPT를 사용하여 라이브러리 및 리소스 탐색

위의 예를 계속 진행하면 웹 페이지 데이터를 추출하는 구식 방법은 HTML 단락 태그 사이의 텍스트를 찾는 것이었습니다.

그러나 AI 도구가 등장함에 따라 AI 라이브러리를 사용하여 지능적인 추출 및 요약을 수행할 수 있습니다. ChatGPT가 뛰어난 분야 중 하나(권위적이지만 잘못된 행동 패턴을 피하기 위해 쉽게 확인할 수 있는 영역이기도 함)는 라이브러리와 리소스를 찾는 것입니다. 

OpenAI(ChatGPT 제작자)는 우리가 원하는 것을 정확히 수행하기 위해 LLM에 대한 API 액세스를 판매합니다. 그러나 이 예제의 경우 거래 수수료를 지불하고 싶지 않다고 가정해 보겠습니다.

따라서 PHP에서 실행되는 프로젝트에서 이러한 도구를 무료로 사용하는 방법을 알아 내기 위해 ChatGPT와 상호 작용하는 방법을 살펴 보겠습니다.

어떤 라이브러리가 원하는 기능을 제공하는지에 대한 정보를 끌어내기 위한 프롬프트로 시작했습니다. 라이브러리(프로그래머가 아닌 독자를 위해 설명)는 프로그래머가 액세스할 수 있는 코드 본문으로, 특정 목적을 위해 많은 힘든 작업을 수행합니다. 현대 프로그래밍의 큰 부분은 올바른 라이브러리를 찾고 선택하는 것이므로 이는 좋은 출발점입니다.

이 경우 텍스트를 요약하는 다른 사람들이 작성한 코드 블록을 보고 있습니다. 내 첫 번째 프롬프트는 다음과 같습니다.

10개의 서로 다른 오픈 소스 AI 라이브러리(및 함께 작동하는 언어)를 설명하여 광고나 포함된 자료를 무시하고 모든 웹 페이지의 주요 핵심 콘텐츠에 대한 요약을 생성하는 데 사용할 수 있습니다.

이 프롬프트는 OpenAI의 제품에 대한 언급을 포함하여 내가 원하는 것을 정확히 제공했습니다. OpenAI가 여기에서 훌륭할 것이라고 생각하지만 이 가상 프로젝트의 경우 API 수수료에 대한 예산을 책정하고 싶지 않습니다. 그래서, 나는 질문을 좁힐 것이다.

이 중 무료가 있습니까?

ChatGPT는 "예, 이 AI 라이브러리 10개는 모두 오픈 소스이며 무료로 사용할 수 있습니다. 그러나 그들 중 일부는 사용 제한이 있거나 추가 기능 또는 리소스에 대한 액세스에 대한 지불이 필요할 수 있습니다."그래서 그 응답을 바탕으로 내 질문을 명확히했습니다.

다음 중 사용 제한이 없고 추가 지불이나 라이선스가 필요하지 않은 라이브러리는 무엇인가요?

이것이 얼마나 많은 대화인지 주목하십시오. 원래 질문을 다시 할 필요가 없습니다. 저는 제 옆에 전문가가 있었을 때처럼 드릴다운을 하고 있습니다. 이번에 ChatGPT는 8개의 라이브러리 선택 항목을 제공했지만 코딩에 사용할 계획인 PHP 언어에 대해서는 언급하지 않았습니다. 따라서 다음 프롬프트는 다음과 같습니다.

이 8 개의 라이브러리 중 PHP와 함께 사용할 수있는 라이브러리는 무엇입니까?

세 개의 라이브러리가 반환되었지만 각 라이브러리가 무엇을했는지 확실하지 않았습니다. 그래서 또 다른 질문 :

Sumy, Gensim 및 NLTK의 차이점은 무엇입니까?

나는 여전히 확신이 없었기 때문에 사용 계획을 명확히하고 물었다.

웹 페이지 뉴스 기사의 요약을 만들고 싶다면 어떤 라이브러리가 더 잘 작동할까요?

대답은 명확하고 유망했습니다: "Sumy는 텍스트 조각에서 가장 중요한 정보를 캡처하는 요약을 만드는 작업인 텍스트 요약을 위해 특별히 설계되었습니다." 따라서 PHP와 함께 Sumy를 사용하는 데 무엇이 관련되어 있는지 확인할 때였습니다. 프로젝트의 이 부분에 대해 마지막 질문을 했습니다.

PHP에서 Sumy를 사용하는 방법을 설명할 수 있습니까?

컴퓨터에서 자유롭게 플레이하고 이 프롬프트를 ChatGPT에 붙여넣으십시오. 1단계에서 도움을 받을 프로그램 모듈을 결정했습니다. 그런 다음 이 단계에서 ChatGPT와 대화를 나누어 사용할 라이브러리와 프로젝트에 통합하는 방법을 결정했습니다.

이 접근 방식은 프로그래밍처럼 보이지 않을 수도 있지만 확실히 그렇습니다. 프로그래밍은 단순히 코드 줄을 페이지에 쏟아내는 것이 아닙니다. 프로그래밍은 다양한 리소스와 시스템을 모두 통합하는 방법과 솔루션의 모든 구성 요소와 통신하는 방법을 파악하는 것입니다. 여기에서 ChatGPT는 통합 분석을 수행하는 데 도움이 되었습니다.

그건 그렇고, 구글의 제미니 AI도 비슷한 도움이 될 수 있을지 궁금했다. Gemini는 ChatGPT의 응답에 대해 프로그래밍의 계획 측면에 대한 몇 가지 추가 통찰력을 제공했습니다. 

따라서 주저하지 말고 여러 도구를 사용하여 답변을 삼각 측량하십시오. 그 이야기는 다음과 같습니다: Gemini 대 ChatGPT: Gemini가 코딩을 도와줄 수 있습니까? 내가 그 기사를 쓴 이후로 Google은 Gemini에 몇 가지 코딩 기능을 추가했지만 그다지 훌륭하지는 않습니다. 이 기능에 대한 내용은 여기에서 읽을 수 있습니다. Google Gemini의 새로운 코딩 기술을 테스트했습니다. 하지만 일이 잘 풀리지 않았다. 그리고 더 최근에는 Gemini Advanced에 대해 자세히 알아보았습니다. AI는 아직 많은 테스트를 통과하지 못하고 있습니다.

다음은 코딩입니다. 

3. ChatGPT에게 예제 코드 작성을 요청하세요.

자, 여기서 잠시 멈추겠습니다. 이 기사의 제목은 "ChatGPT를 사용하여 코드를 작성하는 방법"입니다. 그리고 그렇게 될 것입니다. 그러나 우리가 실제로 하는 일은 ChatGPT에게 예제 코드를 작성하도록 요청하는 것입니다.

분명히 합시다. 작은 함수(예: ChatGPT가 아내를 위해 작성한 라인 정렬기/랜더마이저)를 작성하지 않는 한 ChatGPT는 최종 코드를 작성할 수 없습니다. 먼저 유지 관리해야 합니다. ChatGPT는 이미 작성된 코드를 수정하는 데 끔찍합니다. 끔찍한, 그렇게하지 않습니다. 따라서 새로운 코드를 얻으려면 ChatGPT에 새로운 것을 생성하도록 요청해야 합니다. 이전에 발견했듯이 프롬프트가 거의 동일하더라도 ChatGPT가 제공하는 내용을 예기치 않게 변경할 수 있습니다.

따라서 결론적으로 ChatGPT는 코드를 유지 관리하거나 조정할 수 없습니다.

그 한계는 당신이 직접 다리 노동을 해야 한다는 것을 의미합니다. 아시다시피 코드 조각의 첫 번째 초안이 최종 코드인 경우는 거의 없습니다. 따라서 ChatGPT가 최종 코드를 생성할 것으로 예상하더라도 이는 시작점이 될 것이며 이를 완료하고, 더 큰 프로젝트에 통합하고, 테스트하고, 개선하고, 디버그하는 등의 작업을 수행해야 하는 지점이 될 것입니다.

그러나 그 문제가 예제 코드가 무가치하다는 것을 의미하지는 않습니다. 앞서 설명한 프로젝트를 기반으로 작성한 프롬프트를 살펴보겠습니다. 첫 번째 부분은 다음과 같습니다.

summarize_article라는 PHP 함수를 사용합니다.

입력으로 summarize_article ZDNET.com 또는 Reuters.com 와 같은 뉴스 관련 사이트의 기사에 대한 URL이 전달됩니다.

ChatGPT가 사용해야 하는 프로그래밍 언어를 말하고 있습니다. 또한 AI에게 입력을 말하고 ChatGPT가 기사 스타일을 이해하는 데 도움이 되는 샘플로 두 사이트를 제공하고 있습니다. 솔직히 ChatGPT가 그 지침을 무시하지 않았는지 잘 모르겠습니다. 다음으로 대부분의 작업을 수행하는 방법을 설명하겠습니다.

summarize_article 내에서 제공된 URL에서 웹 페이지의 콘텐츠를 검색합니다. PHP 및 기타 필요한 라이브러리에서 Sumy 라이브러리를 사용하여 광고나 포함된 자료를 무시하고 기사의 본문을 추출하고 약 50단어로 요약합니다. 요약이 완전한 문장으로 구성되어 있는지 확인하십시오. 필요한 경우 마지막 문장을 완성하기 위해 50개 단어 이상으로 이동할 수 있습니다.

이 접근 방식은 직원을 지시하는 방법과 매우 유사합니다. 나는 그 사람이 그들이 수미에만 국한되지 않는다는 것을 알았으면 합니다. 다른 도구가 필요하다면 사용하길 바랐습니다. 

또한 요약으로 원하는 것에 대한 경계를 만들기 위해 대략적인 단어 수를 지정했습니다. 이후 버전의 루틴은 해당 숫자를 매개 변수로 사용할 수 있습니다. 그런 다음 결과적으로 내가 원하는 것을 말하면서 끝냈습니다.

처리가 완료되면 코드가 summarize_article되어 요약이 일반 텍스트로 반환됩니다.

결과 코드는 매우 간단합니다. ChatGPT는 기사 내용을 검색하기 위해 다른 라이브러리(Goose)를 호출했습니다. 그런 다음 50단어 제한과 함께 해당 요약을 Sumy에게 전달하고 결과를 반환했습니다. 그러나 기본 사항이 작성되면 다시 돌아가서 조정을 추가하고 두 라이브러리에 전달된 내용을 사용자 정의하고 결과를 제공하는 것은 프로그래밍의 단순한 문제입니다.

한 가지 흥미로운 점이 있습니다. 2023년 초에 이 테스트를 처음 시도했을 때 ChatGPT는 2021년 이후의 URL을 사용하여 작성한 루틴에 대한 샘플 호출을 생성했습니다. 당시 2023년 3월 ChatGPT의 데이터 세트는 2021년까지만 이동했습니다. 이제 ChatGPT 지식 기반은 2024년 6월 말까지 확장되어 웹에서 검색할 수 있습니다. 하지만 제 요점은 ChatGPT가 알 수 없는 샘플 링크를 구성했다는 것입니다.

https://www.reuters.com/business/retail-consumer/teslas-musk-says-fremont-california-factory-may-be-sold-chip-shortage-bites-2022-03-18/

Reuters의 사이트와 Wayback Machine에서 해당 URL을 확인했는데 존재하지 않습니다. ChatGPT가 정확하다고 가정하지 마십시오. 항상 그것이 제공하는 모든 것을 다시 확인하십시오.

4. 생성된 코드 디버그 및 구체화

ChatGPT가 실수나 환각을 일으키는 몇 가지 방법을 보여드렸습니다. 모든 프로그래머는 실수를 합니다, 심지어 AI도 실수를 합니다.

그러나 코드를 구체화하고, 문제를 디버그하고, 발생할 수 있는 오류를 예상하는 데 도움이 되는 몇 가지 작업을 수행할 수 있습니다. 내가 가장 좋아하는 새로운 AI 지원 트릭은 다른 ChatGPT 세션(또는 완전히 다른 챗봇)에 코드를 공급하고 "이 코드에 무슨 문제가 있습니까?"라고 묻는 것입니다.

필연적으로 무언가가 발생합니다. AI는 때때로 코드에 추가해야 하는 엣지 케이스 또는 오류 검사 또는 가능성이 없는 이벤트의 합류가 발생할 경우 중단될 수 있는 상황을 식별합니다. 그런 다음 이러한 오류 조건을 코딩하여 코드를 더 강력하게 만들었습니다.

자주 묻는 질문(FAQ

ChatGPT가 프로그래머를 대체합니까? 

지금은, 아니, 적어도, 아직은 아니다. ChatGPT는 재능 있는 프로그래밍 1학년 학생 수준에서 프로그램을 진행하지만 (1학년 학생처럼) 게으릅니다. 이 도구를 사용하면 초급 프로그래머의 필요성을 줄일 수 있습니다. 

그러나 현재 수준에서는 AI가 초보 프로그래머(그리고 더 많은 경험을 가진 프로그래머)가 코드를 작성하고 정보를 찾는 것을 더 쉽게 만들 것이라고 생각합니다. 시간을 절약할 수 있지만 AI는 적어도 지금은 자체적으로 많은 프로그래밍 작업을 수행할 수 없습니다. 2030년에는? 누가 알아.

ChatGPT에서 코딩 답변을 얻으려면 어떻게 해야 하나요?

그냥 물어보세요. 위에서 제가 어떻게 대화식 토론 대화 상자를 사용하여 답변을 좁히는지 보았습니다. 하나의 질문으로 모든 작업이 마술처럼 끝날 것으로 기대하지 마십시오. 그러나 AI를 도우미 및 리소스로 사용하면 많은 유용한 정보를 얻을 수 있습니다. 

OpenAI의 공동 창립자인 존 슐먼(John Schulman)이 말했듯이 "우리의 가장 큰 관심사는 사실에 관한 것인데, 왜냐하면 모델은 물건을 조작하는 것을 좋아하기 때문이다."

ChatGPT에서 생성된 코드는 오류가 없다고 보장되나요?

젠장, 안돼! 그러나 인간 프로그래머가 작성하는 코드를 신뢰할 수도 없습니다. 나는 확실히 내가 작성한 코드를 신뢰하지 않는다. 코드 제작 과정에서 나온 코드는 믿을 수 없을 정도로 결함이 있습니다. 항상 버그가 있습니다. 배송하기 전에 테스트하고, 테스트하고, 다시 테스트해야 합니다. 그런 다음 선택된 몇 명의 희생자를 대상으로 알파 테스트를 합니다. 그런 다음 더 넓은 사용자 커뮤니티에서 베타 테스트를 진행하세요. 

그 모든 작업이 끝난 후에도 버그가 있을 것입니다. AI가 이 코딩을 한다고 해서 버그 없는 코드를 할 수 있다는 의미는 아닙니다. 신뢰하지 마십시오. 항상 확인하십시오. 그리고 여전히 완전히 버그가 없는 출력을 얻지 못할 것입니다. 이것이 우주의 본질입니다.

받은 코드가 잘못된 경우 어떻게 해야 합니까?

챗봇을 약간 비협조적인 학생 또는 부하 직원으로 간주하는 것이 좋습니다. 그 사람이 작동하지 않는 코드를 다시 주었다면 어떻게 하시겠습니까? 당신은 그것을 다시 하고 올바르게 하라는 지침과 함께 그들을 다시 보낼 것입니다. 이것이 ChatGPT로 해야 할 일에 관한 것입니다(저는 ChatGPT 4 및 4o로 이것을 테스트했습니다). 일이 잘 안 풀릴 때면 저는 이렇게 말합니다. 다시 시도하십시오."

AI가 바로 그 일을 합니다. 그것은 종종 같은 문제에 대해 다른 변형을 돌려줍니다. 나는 작동하는 대답을 얻을 때까지 가끔이 과정을 4-5 번 반복했다. 하지만 때때로 AI는 아이디어가 부족합니다. 다른 경우, 다시 시도 대답은 당신이 요청한 것과 완전히 관련이 없습니다. 

문제에 대해 제정신을 유지할 수 있는 AI의 능력의 한계에 도달한 것이 분명해지면 버클을 채우고 직접 코딩해야 합니다. 그러나 10번 중 9번은 특히 기본적인 코딩 또는 인터페이스 작성에 어려움을 겪을 때 AI가 제 역할을 성공적으로 수행합니다.

ChatGPT에 질문할 때 프로그래밍 문제에 대한 설명은 얼마나 자세해야 하나요?

상세한. 해석의 여지를 남겨둘수록 AI는 더 많은 길을 갈 것입니다. 프로그래밍하는 동안 ChatGPT에 도움을 요청하면 학생 중 한 명이나 나를 위해 일하는 사람에게 프로그래밍 작업을 할당하고 있다고 상상합니다. 

내가 그 사람에게 첫 번째 초안을 작성하기에 충분한 세부 정보를 제공했습니까, 아니면 그 사람이 나에게 추가 질문을 해야 합니까? 더 나쁜 것은, 그 사람이 너무 적은 지도를 받아 완전히 잘못된 방향으로 가게 될 것인가? 여기서 게으르지 마십시오. ChatGPT는 프로그래밍에 소요되는 몇 시간 또는 며칠을 절약할 수 있지만(저에게는 도움이 되었습니다) 처음부터 유용한 지침을 제공하는 경우에만 가능합니다.

ChatGPT를 사용하여 코드를 작성하면 누가 소유하나요?

밝혀진 바와 같이, 아직 이 질문에 답할 수 있는 판례법은 많지 않습니다. 미국, 캐나다 및 영국에서는 저작권이 있는 것이 사람의 손에 의해 생성되어야 하므로 AI 도구로 생성된 코드는 저작권의 대상이 되지 않을 수 있습니다. 또한 교육 코드의 출처와 결과 코드가 어떻게 사용되는지에 따른 책임 문제도 있습니다. 

ZDNET은 이 주제에 대해 자세히 알아보고, 법률 전문가와 이야기를 나누고, 세 개의 기사를 작성했습니다. 이 문제에 대해 우려하고 있다면(그리고 코드 작성을 돕기 위해 AI를 사용하고 있다면) 다음 내용을 읽어보는 것이 좋습니다.

  • 코드는 누가 소유하나요? ChatGPT의 AI가 앱 작성에 도움이 된다면 여전히 귀하의 것입니까?
  • AI 생성 코드를 사용하는 경우 책임 노출은 어떻게 됩니까?
  • 까다로운 질문: AI가 생성한 코드, 이미지, 내러티브는 누가 소유하는가?

ChatGPT는 어떤 프로그래밍 언어를 알고 있나요?

대답은 대부분의 언어입니다. PHP, Python, Java, Kotlin, Swift, C# 등과 같은 일반적인 현대 언어를 테스트했습니다. 하지만 그 다음에는 COBOL, Fortran, Forth, LISP, ALGOL, RPG(롤플레잉 게임이 아닌 보고서 프로그램 생성기), 심지어 IBM/360 어셈블리 언어와 같은 모호한 암흑 시대 언어로 코드를 작성하는 도구를 사용했습니다. 

케이크 위에 장식으로, 나는 다음과 같은 프롬프트를 주었다.

PDP 8/e의 전면 패널에서 깜박이는 표시등으로 'Hello, world'를 표시하는 시퀀스를 작성하십시오.

PDP 8/e는 저의 첫 번째 컴퓨터였고, ChatGPT는 전면 패널 스위치를 사용하여 프로그램을 토글할 수 있는 지침을 주었습니다. 나는 감명을 받았고, 기뻤고, 한편으로는 약간 두려웠다.

ChatGPT가 데이터 분석 및 시각화 작업에 도움이 될 수 있습니까?

예, 코드 없이 많은 작업을 수행할 수 있습니다. 이 주제에 대한 내 전체 기사를 확인하십시오: ChatGPT Plus가 내 비즈니스의 게임 체인저라는 것을 깨달은 순간.

나는 또한 생성된 차트와 테이블에 대한 글을 썼습니다: ChatGPT를 사용하여 차트와 테이블을 만드는 방법.

하지만 여기가 재미있어지는 곳입니다. 위의 기사에서 ChatGPT Plus에 "인구 기준 세계 상위 5개 도시의 막대 차트를 만드세요"라고 요청했는데 그렇게 되었습니다. 하지만 코드를 원하십니까? 다음과 같이 질문해 보세요.

Swift에서 인구 기준 세계 상위 5개 도시의 막대 차트를 만듭니다. 온라인에서 인구 데이터를 가져옵니다. 필요한 라이브러리를 포함해야 합니다.

"in Swift"를 추가하면 프로그래밍 언어를 지정할 수 있습니다. 데이터의 출처를 지정하고 ChatGPT Plus에 라이브러리가 포함되도록 함으로써 AI는 프로그램에 필요한 다른 리소스를 가져옵니다. 그렇기 때문에 기본적으로 AI의 도움을 받아 프로그래밍하려면 프로그래밍에 대해 알아야 합니다. 하지만 그렇게 한다면, 세 문장으로 주석이 달린 코드 덩어리를 얻을 수 있기 때문에 멋지다. 멋지지 않나요?  

ChatGPT는 방언과 구현 간의 차이점을 어떻게 처리합니까?

OpenAI에서 이 문제에 대한 정확한 세부 정보를 가지고 있지 않지만 ChatGPT가 어떻게 훈련되는지에 대한 이해는 이 질문에 대한 답을 줄 수 있습니다. 프로그래밍 언어의 방언과 구현(그리고 그들의 작은 단점)은 전체 언어보다 훨씬 더 빠르게 변화한다는 것을 기억하십시오. 이러한 현실은 ChatGPT(및 많은 프로그래밍 전문가)가 따라잡기 어렵게 만듭니다.

따라서 저는 다음 두 가지 가정을 해결할 것입니다.

  1. 변증법 변화가 최근일수록 ChatGPT가 이에 대해 알 가능성이 줄어듭니다.
  2. 언어가 인기가 높을수록 더 많은 학습 데이터를 학습하므로 더 정확합니다.

결론은 무엇입니까? ChatGPT는 유용한 도구가 될 수 있습니다. 그것에 초능력을 부여하지 마십시오. 아직.