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

이미지1.pngChatGPT 에 대한 더 흥미로운 발견 중 하나는 꽤 좋은 코드를 작성할 수 있다는 것입니다. 나는 2월에 아내가 그녀의 웹사이트에서 사용할 수 있는 WordPress 플러그인 작성을 요청했을 때 이것을 테스트했습니다. 잘 해냈지만 매우 간단한 프로젝트였습니다.

ChatGPT를 사용하여 작성하는 방법: 이력서| 엑셀 수식 | 에세이 | 표지

어떻게 ChatGPT를 사용하여 일일 코딩 실습의 일부로 코드를 작성할 수 있습니까? 그것이 우리가 여기서 탐구할 것입니다.

ChatGPT가 잘 할 수 있는 코딩 유형은 무엇인가요?

ChatGPT와 코딩에는 두 가지 중요한 사실이 있습니다. 첫 번째는 실제로 유용한 코드를 작성할 수 있다는 것입니다. 두 번째는 완전히 길을 잃고, 토끼 굴로 떨어지고, 자신의 꼬리를 쫓고, 절대 사용할 수 없는 쓰레기를 생산할 수 있다는 것입니다.

나는 이것을 어려운 방법으로 찾았습니다. WordPress 플러그인을 완성한 후 ChatGPT가 어디까지 갈 수 있는지 보기로 했습니다. 사용자 인터페이스 요소, 상호 작용, 설정에서 제공되는 항목, 작동 방식 등에 대한 자세한 설명을 포함하여 Mac 응용 프로그램에 대한 매우 신중한 프롬프트를 작성했습니다. 그런 다음 ChatGPT에 피드했습니다.

ChatGPT는 수많은 텍스트와 코드로 응답했습니다. 그런 다음 코드 중간에 중지되었습니다. 내가 계속하라고 했을 때 더 많은 코드와 텍스트를 토해냈다. 계속 후 계속을 요청했고 점점 더 많은 코드를 버렸습니다. 하지만… 어느 것도 사용할 수 없었다. 코드가 어디로 가야 하는지, 프로젝트를 구성하는 방법을 식별하지 않았고, 생성된 코드를 주의 깊게 살펴봤을 때 내가 요청한 주요 작업을 생략하고 "프로그램 논리가 여기에 있습니다. "

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

ChatGPT가 성공한 곳은 특정 루틴을 구축하고 특정 작업을 완료하기 위해 코딩하는 방법을 이미 알고 있는 사람을 돕는 것입니다. 메뉴 표시줄에서 실행되는 앱을 요청하지 마세요. 하지만 ChatGPT에게 메뉴바에 메뉴를 넣는 루틴을 요청한 다음 그것을 프로젝트에 붙여넣으면 꽤 잘 될 것입니다.

또한: ChatGPT를 사용하여 앱을 만드는 방법

또한 ChatGPT는 엄청난 양의 도메인 관련 지식을 가지고 있는 것처럼 보이지만 (종종 그렇습니다) 지혜가 부족합니다. 따라서 코드를 작성할 수는 있지만 이해하는 데 깊은 경험이 필요한 매우 구체적이거나 복잡한 문제에 대한 뉘앙스가 포함된 코드를 작성할 수는 없습니다.

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

이를 염두에 두고 ChatGPT를 사용하여 코드를 작성하는 방법에 대한 몇 가지 구체적인 단계를 살펴보겠습니다.

ChatGPT가 코드 작성을 돕는 방법

1. 요청 범위 좁히기 및 선명하게 하기

이 첫 번째 단계는 ChatGPT에 무엇을 요청할지 결정하는 것입니다. 하지만 아직 아무 것도 묻지 않습니다. 기능이나 루틴에서 수행할 작업 또는 코드에 통합하기 위해 배우고 싶은 내용을 결정합니다. 코드에 전달할 매개변수와 내보내려는 항목을 결정합니다. 그런 다음 어떻게 설명할지 살펴보십시오.

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

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

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

위의 예에서 웹 페이지 데이터를 추출하는 아주 오래된 학교 방식은 HTML 단락 태그 사이의 텍스트를 찾는 것이었습니다.

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

OpenAI(ChatGPT 제작자)는 우리가 원하는 것을 정확하게 수행할 GPT-3 및 GPT-4 엔진에 대한 API 액세스를 판매합니다. 하지만 이 예의 경우 거래 수수료를 지불하고 싶지 않다고 가정해 보겠습니다.

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

내가 원하는 기능을 제공하는 라이브러리에 대한 정보를 도출하도록 설계된 프롬프트로 시작했습니다. 라이브러리(프로그래머가 아닌 독자를 위한)는 특정 목적을 위해 많은 작업을 수행하는 프로그래머가 액세스할 수 있는 코드 본문입니다. 최신 프로그래밍의 큰 부분은 올바른 라이브러리를 찾고 선택하는 것입니다. 따라서 이것은 좋은 출발점입니다.

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

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

이것은 OpenAI의 제안에 대한 언급을 포함하여 내가 원하는 것을 정확히 제공했습니다. 저는 OpenAI가 여기에서 훌륭할 것이라고 생각하지만 이 가상 프로젝트의 경우 API 비용에 대한 예산을 책정하고 싶지 않습니다. 그럼 질문을 좁히겠습니다.

이 중 무료인가요?

ChatGPT는 답변으로 베팅을 헤지했습니다. "네, 이 AI 라이브러리 10개는 모두 오픈 소스이며 무료로 사용할 수 있습니다. 그러나 그 중 일부는 사용 제한이 있거나 추가 기능이나 리소스에 액세스하기 위해 비용을 지불해야 할 수 있습니다." 그래서 그것을 바탕으로 궁금증을 풀었습니다.

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

이것이 얼마나 대화인지 주목하십시오. 원래 질문을 다시 할 필요가 없습니다. 전문가가 가까이 있고 설명을 구하는 것과 같은 방식으로 드릴다운하고 있습니다. 이 경우 ChatGPT는 8개의 라이브러리 선택 항목을 제공했지만 그 중 어느 것도 내가 코딩할 예정인 PHP 언어를 언급하지 않았습니다. 따라서 다음 프롬프트는 다음과 같습니다.

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

3개의 라이브러리를 반환했지만 각 라이브러리가 무엇을 했는지 확신할 수 없었습니다. 그래서 또 다른 질문:

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

여전히 확신이 서지 않아 사용 계획을 명확히 한 후 다음과 같이 질문했습니다.

웹 페이지 뉴스 기사의 요약을 만들고 싶은 경우 어떤 라이브러리가 더 잘 작동합니까?

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

PHP에서 Sumy를 사용하는 방법을 설명해 주시겠습니까?

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

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

그런데 구글의 바드도 같은 방식으로 도움을 줄 수 있을지 궁금했다. Bard는 실제로 코드를 작성할 수는 없지만 ChatGPT의 응답을 통해 프로그래밍의 계획 측면에 대한 추가 통찰력을 제공했습니다. 따라서 주저하지 말고 여러 도구를 사용하여 원하는 답변을 삼각 측량하십시오. 그 이야기는 다음과 같습니다. Bard vs. ChatGPT: Bard가 코딩을 도와줄 수 있습니까? 제가 그 기사를 쓴 이후로 Google은 Bard에 일부 코딩 기능을 추가했지만 그다지 훌륭하지는 않습니다. 여기에서 이에 대해 읽을 수 있습니다. 저는 Google Bard의 새로운 코딩 기술을 테스트했습니다. 잘 되지 않았다.

다음은 코딩입니다.

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

좋아, 여기서 잠시 멈추자. 이 기사의 제목은 "ChatGPT를 사용하여 코드를 작성하는 방법"입니다. 그리고 그렇게 될 것입니다! 하지만 실제로는 ChatGPT에 예제 코드를 작성하도록 요청하고 있습니다. 기다리다. 무엇?

또한: GPT-4란 무엇입니까? 여기 당신이 알아야 할 모든 것이 있습니다

명확히합시다. 매우 작은 함수(예: ChatGPT가 내 아내를 위해 작성한 라인 정렬기/랜더마이저)를 작성하지 않는 한 ChatGPT는 최종 코드를 작성할 수 없습니다. 첫째, 당신은 그것을 유지해야 할 것입니다. ChatGPT는 이미 작성된 코드를 수정하는 데 끔찍합니다. 에서와 같이 끔찍합니다. 그렇게하지 않습니다. 따라서 새 코드를 얻으려면 ChatGPT에 새로운 것을 생성하도록 요청해야 합니다. 이전에 발견한 것처럼 메시지가 거의 동일하더라도 ChatGPT는 예상치 못한 방식으로 사용자에게 제공하는 내용을 변경할 수 있습니다.

따라서 결론: ChatGPT는 코드를 유지하거나 수정할 수 없습니다.

즉, 직접 해야 합니다. 아시다시피 코드의 첫 번째 초안이 최종 코드인 경우는 드뭅니다. 따라서 ChatGPT가 최종 코드를 생성할 것으로 기대한다고 해도 실제로는 시작점이 될 것입니다. 이를 완료하고, 더 큰 프로젝트에 통합하고, 테스트하고, 수정하고, 디버그하는 등의 작업을 수행해야 합니다. .

또한: 저는 ChatGPT에게 짧은 Star Trek 에피소드를 작성해 달라고 요청했습니다. 실제로 성공했다

하지만 그렇다고 해서 예제 코드가 가치가 없다는 의미는 아닙니다. 그것과는 거리가 멀다. 앞서 설명한 프로젝트를 기반으로 작성한 프롬프트를 살펴보겠습니다. 첫 번째 부분은 다음과 같습니다.

summary_article이라는 PHP 함수를 작성합니다.

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

나는 ChatGPT가 사용해야 할 프로그래밍 언어를 말하고 있습니다. 나는 또한 그것에 입력을 말하지만 그렇게 하는 동안 ChatGPT가 기사의 스타일을 이해하는 데 도움이 되는 샘플로 두 개의 사이트를 제공합니다. 솔직히 ChatGPT가 그 정도의 지침을 무시하지 않았는지 모르겠습니다. 다음으로 대부분의 작업을 수행하는 방법을 알려 드리겠습니다.

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

이것은 내가 직원에게 지시하는 방법과 매우 유사합니다. 나는 그 사람이 Sumy에게만 국한된 것이 아니라는 것을 알았으면 합니다. 다른 도구가 필요하면 사용하기를 원했습니다.

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

처리가 완료되면 summary_article을 코딩하여 일반 텍스트로 요약을 반환합니다.

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

흥미로운 점 하나. ChatGPT는 2021년 이후(ChatGPT의 데이터 세트가 종료되는 시점)의 URL을 사용하여 작성한 루틴에 대한 샘플 호출을 생성했습니다.

Reuters 사이트와 Wayback Machine 모두에 대해 해당 URL을 확인했는데 존재하지 않습니다. ChatGPT가 방금 만들었습니다.

FAQ

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

지금은 아닙니다. 적어도 아직은 아닙니다. 재능있는 프로그래밍 1학년생 수준의 ChatGPT 프로그램이지만 게으르다(그 1학년생처럼). 초급 프로그래머의 필요성을 줄일 수 있지만 현재 수준에서는 초급 프로그래머(심지어 더 많은 경험을 가진 프로그래머)가 코드를 작성하고 정보를 찾는 것이 더 쉬워질 것이라고 생각합니다. 확실히 시간을 절약해 주지만 적어도 지금은 자체적으로 수행할 수 있는 프로그래밍 프로젝트가 거의 없습니다. 2030년에? 누가 알아.

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

그냥 물어보세요. 위에서 내가 원하는 답변의 범위를 좁히기 위해 대화식 토론 대화 상자를 사용하는 방법을 보셨습니다. ChatGPT로 작업할 때 하나의 질문이 마술처럼 모든 작업을 수행할 것이라고 기대하지 마십시오. 그러나 ChatGPT를 도우미 및 리소스로 사용하면 매우 유용한 정보를 많이 얻을 수 있습니다. 물론 해당 정보를 테스트하십시오. 왜냐하면 OpenAI의 공동 창립자인 John Schulman이 말했듯이 "모델이 물건을 조작하는 것을 좋아하기 때문에 우리의 가장 큰 관심사는 사실성에 관한 것이었습니다."

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의 전면 패널에 있는 ASCII 깜박이는 표시등으로 'Hello, world'를 표시하는 시퀀스를 작성합니다.

PDP 8/e는 나의 첫 번째 컴퓨터였으며 ChatGPT는 실제로 전면 패널 스위치를 사용하여 프로그램을 전환하는 지침을 제공했습니다. 나는 감명을 받았고, 기쁘고, 조금은 두려웠다.

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

관련 기사

더 보기 >>

HIX.AI로 AI의 힘을 발휘해보세요!