ChatGPT에게 필요한 워드프레스 플러그인을 작성해달라고 요청했습니다. 그것은 5분 이내에 작성해 주었습니다.

gettyimages-1246766124.jpg

다른 말로는 너무 세게 말하지 않겠지만, 조금 놀랐어요. 실험적으로, 저는 ChatGPT에게 저의 아내가 웹사이트를 관리하는 데 도움이 되는 플러그인을 작성해 줄 수 있는지 물어 보았어요. 저는 간단한 설명을 써 주었고, ChatGPT는 전체적인 부분을 작성해 주었어요: 사용자 인터페이스, 로직 등이 모두 포함되었죠.

5분 이내에.

또한: 챗지피티와 시도해볼만한 재미있는 대안들: 최고의 AI 챗봇

일부 고려 사항이 있습니다. 몇 분 후에 그에 대해 다루도록 하겠습니다. 먼저 경험과 일어난 일에 대해 알려드리도록 하겠습니다.

필요성

라인-랜더마이저-페이팔-데모-워드프레스-2023-01-31-23-41-28.jpg

내 아내는 인기 있는 취미에 초점을 맞춘 워드프레스 기반 전자 상거래 사이트의 소유자입니다. 또한 그녀는 사이트 고객을 위한 매우 활발한 페이스북 그룹을 운영하고 있습니다. 매달 그녀는 이름 목록을 무작위로 섞은 다음 그 무작위 목록을 사용하여 페이스북 그룹을 위한 가상의 휠 스핀 애니메이션을 실행합니다. 그녀는 목록을 무작위로 섞는 데 어느 정도 괜찮은 일을 하는 인터넷 사이트를 사용하고 있지만, 목록을 내보내는 데 그보다 더 많은 비용을 청구합니다.

또한: ChatGPT로부터 우리를 구해줄 AI 탐지기는 있을까요? 저는 확인하기 위해 3개의 온라인 도구를 사용해봤습니다.

그녀가 무작위 이름을 다시 얻기 위해 애를 쓰는 것을 보면서, 그녀의 사이트에 설치할 수 있는 간단한 워드프레스 플러그인을 작성한다면 도움이 될 것 같아서 생각했습니다. 그녀는 매일 대시보드에 접속하므로, 도구로써 그것을 가지고 있다면 도움이 될 것입니다.

하지만 심플한 플러그인을 작성하려면 사용자 인터페이스 요소와 로직 코드들이 필요하기 때문에 몇 일이 걸릴 것 같습니다. 현재 프로젝트들로 인해 제가 꽉 차있는 상태입니다.

그리고 나는 ChatGPT를 생각했습니다. ChatGPT가 프로그래밍 도구로서 언론에서 언급되었기 때문에 저는 이를 시도해 보기로 결정했습니다.

프롬프트

ChatGPT가 어떤 내용을 생성하려면 주의깊게 작성된 프롬프트가 필요합니다. 프로그래밍의 경우, 매니저 또는 클라이언트라고 생각해보세요. 원하는 결과를 얻기 위해 필요한 내용을 명확하게 설명해야 합니다. 저는 먼저 매우 기본적인 프롬프트로 시작하였고, 그것이 동작하는지 확인하기 위해 사용하였습니다. 다음은 사용한 프롬프트입니다:

코드.jpg

PHP 8과 호환되는 워드프레스 플러그인을 작성하십시오. 이 플러그인은 텍스트 입력 필드를 제공하며, 해당 필드에 텍스트 목록을 붙여넣을 수 있고, 버튼을 누르면 목록의 줄을 무작위로 섞어 두 번째 텍스트 입력 필드에 결과를 표시합니다.

일분 내로 우측에 보이는 코드를 생성했습니다. 생성된 코드를 .php 파일에 복사하여, .php 파일과 같은 루트 이름을 가진 폴더에 넣고, 압축하여 그녀의 서버에 업로드했습니다. 작동되었습니다.

또한: 로시아 해커들이 ChatGPT에 침입하려고 시도하고 있다고 Check Point가 밝혔습니다.

내 아내에게 보여줬을 때, 그녀는 적당히 감동과 놀라움을 표했습니다. 하지만 그 이후로 그녀가 생각을 하기 시작하고, 새로운 기능을 요청했습니다: 중복된 이름이 연속되지 않도록 해주세요.

그녀의 양식에서, 때로는 한 명의 이름을 리스트에 여러 번 포함해야 합니다. 그러나 그녀는 그 중복 항목들이 모이지 않기를 원하지 않았습니다.

원래의 프롬프트를 수정하여 다음의 추가 조건을 추가했습니다:

…같은 항목이 서로 옆에 있지 않도록 합니다(다른 선택지가 없는 경우를 제외하고)…제출된 줄 수와 결과의 줄 수가 서로 동일합니다.

나는 "다른 선택지가 없을 때까지"라는 구절과 동일한 수를 요구하는 조건을 포함했는데, 이는 모든 이름이 포함되도록 하기 위해서였고, 두 개의 이름이 연이어 있지 않는 것을 우선시하는 것보다 모든 이름을 유지하는 데 우려가 있었습니다.

약 30초 후, 새로운 플러그인이 있었습니다. 저는 그것을 서버에 업로드하고 시험해보았습니다. 작동했지만, 출력물에는 몇 줄이 비어 있었습니다. 그래서 이 조건을 이전 프롬프트에 추가했습니다:

...공백 없이...

지금쯤이면, 항상 1분 이하로 걸리는 처리 시간에 익숙해졌다. 추가로 업로드하고 테스트를 한 번 더 해보니, 또 제대로 작동했다.

또한: ChatGPT 사용 방법

나는 한 번에 처리된 줄의 수를 확인하기 위해 최종 기능 하나를 원했습니다. 나는 플러그인이 항목 및 출력 필드에 대한 줄 수를 보여주도록 원했습니다. 다음은 그 프롬프트 추가입니다:

...첫 번째 필드 아래에는 소스 필드에서 비어있지 않은 줄 수와 함께 "랜덤하게 지정된 라인:"이라는 텍스트를 표시하십시오. 두 번째 필드 아래에는 대상 필드에서 비어있지 않은 줄 수와 함께 "랜덤하게 지정된 줄:"이라는 텍스트를 표시하십시오.

이 방법은 대부분 작동했습니다. 실행하기 전에 출력 필드에는 한 줄이 표시됩니다. 그러나 순위 변경 프로세스가 완료된 후에는 두 필드 모두 정확한 줄 수가 표시됩니다.

코드 품질

전반적으로 코드 품질은 깔끔했습니다. 게시물에 맞추기 위해 원문 응답만 제공하고 있습니다. 이 프로그램은 WordPress 헤더 블록을 올바르게 생성하고, 플러그인의 대시보드 사용자 인터페이스와 플러그인의 처리 로직을 적절히 작성했습니다.

여전히 필드 아래에 요약 줄을 넣었지만, 내용을 아래에 지정했음에도 불구하고, 큰 불평은 아닙니다. 이는 고객이 수동 계약자에게 다시 받을 수 있는 종류의 실수이며, 수정 작업이 조금 필요할 수 있습니다.

또한: 노션 AI 작성 도우미는이 문서를 작성할 수 있습니까?

코딩은 작동되었지만, 워드프레스 프로그래밍을 위한 모든 최적의 관행이 포함되어 있지 않았습니다. 예를 들어, 사용자 입력을 적절하게 처리하지 않았습니다. 워드프레스 커뮤니티는 사용자 입력값을 적절하게 처리하여 해커들이 사이트를 손상시킬 수 있는 데이터를 입력할 수 없도록 철저히 검증합니다. 그리고 이 코드에는 그러한 처리가 전혀 존재하지 않았습니다.

후에 실험으로, 저는 AI에게 입력을 정제하도록 지시했고, 그렇게 했습니다...어느 정도까지는요. 그것은 PHP 함수 내부에서 입력을 정제하지만, HTML 내에서 PHP를 호출할 때 입력을 정제하지 않았습니다. 그렇게 하면 해커들에게 공격의 기회를 남겨둘 수밖에 없었을 겁니다.

그리고 그 플러그인의 메뉴 항목을 설정에 드롭했습니다. 아마도 '도구'에 넣거나 해당 기능에 고유한 메뉴 항목을 주는 것이 좋았을 것입니다. 그것을 어디에서 불러와야 할지 명시하지 않았으므로, ChatGPT가 메뉴 항목을 위치시킨 곳에 적절한 결정을 내렸다고 생각합니다.

나는 나의 프롬프트에 추가로 하나의 최종 요구 사항을 추가했다. AI에게 플러그인의 이름을 지정하도록 요청하기로 했다:

PHP 8 호환 WordPress 플러그인인 "로보 랜덤라이저"를 작성하세요. 이 플러그인은 ...

신기하게도, 인공지능이 저에게 완전히 다른 플러그인을 제공했고, 이는 대시보드 인터페이스가 아닌 쇼트코드를 제공하는 플러그인을 생성했습니다. 워드프레스를 사용하지 않는 분들에게 설명해 드리겠습니다, 흥미로운 점이기도 하죠.

이와 같은 것을 작성할 때, 이를 웹사이트 방문자(프론트엔드라고 함) 또는 사이트의 대시보드에 로그인 해 유지하는 사람들(백엔드)에게 제공할 수 있습니다. 원래의 프롬프트 세트에서 나는 프론트엔드 또는 백엔드를 명시하지 않았지만, AI는 내가 원하는 것인 도구의 백엔드 대시보드 인터페이스를 작성했습니다.

또한: OpenAI는 코딩에 능숙한 개발자를 채용하고 ChatGPT의 성능을 향상시키고 있습니다

하지만 이번에는 플러그인을 프론트엔드 도구로 작성하여, 쇼트코드를 통해 실행되는 방식으로 만들기로 결정했습니다. 워드프레스에서는 포스트 내에서 쇼트코드 (예: [randomize lines])를 포함시킬 수 있고, 플러그인에서 코드를 실행할 수 있습니다. AI가 생성한 최신 버전에서는 이러한 쇼트코드를 제공해줬으며, 이를 통해 랜덤라인 기능을 사이트 방문자에게 제공할 수 있었을 것입니다.

이후로 ChatGPT는 어떻게든 주제에 맞추기가 어려워졌습니다. 원래 플러그인에 추가 기능을 추가할 수 없었으며, ChatGPT는 대부분 단축 버전을 반복적으로 생성하기만 했습니다. 분명히 코드 유지보수는 ChatGPT의 강점이 아닙니다.

영향

분명히, 이것은 간단한 플러그인입니다. 이는 제가 UC 버클리에서 강의를 할 때 제 1학년 프로그래밍 학생들에게 주었던 과제 크기와 비슷합니다. 이는 저가 약 50,000명 이상의 사용자를 위해 유지보수하는 훨씬 더 복잡한 오픈 소스 WordPress 플러그인의 복잡성에 비교하지 못합니다.

또한: AI 챗봇을 통해 우리는 잘못된 곳에서 대답을 찾고 있을까요?

지난 주에 ChatGPT를 처음 사용하여 내 아내를 위한 "퀵키 플러그인"을 만들었고, 이에 대해 트윗을 올리니 내 소셜 네트워크에서 응답이 있었습니다. 아래는 그들의 우려사항 중 일부입니다:

악한가요? 한 사람은 인공지능이 악의적인(또는 적어도 홍보적인) 정보를 플러그인에 삽입할 수 있다고 걱정했습니다. 그리고 비프로그래머 사용자는 결코 알 수 없을 것입니다. 하지만 사실은, 코드를 읽을 수 없는 프로그래머가 다른 사람과 계약하더라도, 내부에 무엇이 있는지 실제로 알 수 없습니다. 모든 것은 평판에 대한 신뢰 또는 신뢰할 수 있는 사람에게 코드를 검토해달라고 요청하는 것으로 이어집니다. 나의 실험에서 생성된 코드는 깨끗했습니다.

'그것이 최고일까요?' 이곳에서도 인간 프로그래머들보다 AI의 코드를 다른 기준으로 평가하고 있었습니다. 나는 좋은 프로그래머지만 내 코드에는 버그가 있습니다. 처음에는 최적화가 아니라 최선일 뿐입니다. 하지만 인간의 경우, 시간이 지나면서 코드는 개선됩니다. 나는 기존의 코드를 가져와 개선하고 디버그하며 향상시킬 수 있는 AI가 있는지 확신이 없습니다. 그러나 때로는 기능적인 것이 중요합니다. 언제나 최고의 것만이 중요한 것은 아닙니다. 충분히 좋은 것은 종종 충분합니다. 그리고 그것은 충분히 좋은 코드를 생성했습니다.

인간 프로그래밍 일자리의 수를 감소시킬까요? 거의 확실합니다. 기계가 어떤 사람의 일자리를 대신하는 것을 보는 것은 싫습니다 (특히 내가 원할 만한 일자리라면 더더욱). AI는 확실히 빠르고 쉬운 프로젝트를 위한 선택지입니다, 그것이 글쓰기 일이든 프로그래밍이든 말이죠. 사람들의 급여는 의심할 여지 없이 영향을 받을 것입니다.

나는 수십 년간 AI를 공부했습니다. AI에 대한 논문도 썼습니다. 하지만 이런 고품질 생성형 AI의 급증은 내게도 놀라웠습니다. 그러나 지금 우리가 보고 있는 것은 "충분히 좋은" 생산성 수준입니다. 안타깝게도, 그게 많은 클라이언트들이 요구하는 것입니다.

그러나 - 적어도 현재로서는 - ChatGPT와 그 동료들은 의견, 일화 및 여러 해의 경험을 반영하는 이러한 깊은 분석 기사를 쓸 수 없습니다. 그리고 더 큰 코딩 프로젝트를 위한 하위 루틴과 함수들을 쓸 수 있을지도 모르지만, 주요 코딩 프로젝트를 작성할 수는 없습니다.

그리고: 구글의 ChatGPT 경쟁 제품 데모가 잘못되었습니다

예를 들어, 지난 일년 동안 주요 API 공급업체와의 20-30회의 회의를 해야 했습니다. 이 회의들 대부분은 비즈니스 문제와 기술 요구사항, 라이선스 정책 등을 혼합했습니다. 어떤 인공지능도 그런 종류의 관료적 상황을 견뎌내고, 세세한 차이점을 이해하며, 파트너의 요구사항을 충족시키고, 모두가 동의할 수 있는 코드 모듈을 생성할 수 있다고 말할 수 없습니다.

그러니까, 네, 아내를 위해 "만든" 플러그인이 얼마나 훌륭한지에 대해 조금 겁이 났습니다. 그러나 경험 많은 개발자와 작가에게서 일을 빼앗는 정도로 AI는 아직 멀었습니다 - 경험 많은 개발자와 작가들이 생산하는 그런 종류의 작업을 고객들이 원하는 한. 그리고, 친구들아, 그것은 제가 걱정하는 것입니다.

관련 기사

더 보기 >>

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