ChatGPT를 AI 코딩 파워 도구로 전환하고 출력을 두 배로 늘리는 방법
다음은 2년 동안 ChatGPT의 코딩 지원을 테스트하고 그 과정에서 더 많은 프로그래밍을 수행하면서 배운 내용입니다.
저는 2년 넘게 프로그래밍 출력을 강화하기 위해 ChatGPT를 사용하는 실험을 해왔습니다. ChatGPT가 문제가 되는 버그를 찾는 데 도움이 되었을 때 인공 지능(AI)에 가치 있는 것이 있다는 것을 깨달았습니다.
제가 이야기를 나눈 많은 사람들은 AI가 겨우 형성된 하나의 소원에서 전체 프로그램이나 앱을 구현할 수 있는 마법의 요정이라고 생각합니다. 훨씬 더 나은 비유를 들자면, AI는 동력 도구이다.
물론 구식 톱을 사용하여 나무를 자를 수 있지만 테이블 톱은 훨씬 빠릅니다. 두 도구 모두 가구를 만들지 않습니다. 그들은 단순히 당신이 가구를 만드는 것을 돕습니다. AI가 코드를 작성하지 않는다는 점을 명심하세요. 코드를 작성하는 데 도움이 될 것입니다.
ChatGPT가 저에게 얼마나 도움이 되었는지 정확히 말할 수 있는 객관적인 방법은 없지만 ChatGPT가 내 프로그래밍 출력을 두 배로 늘렸다고 확신합니다. 즉, 툴킷의 일부로 ChatGPT를 사용하여 두 배의 작업을 수행했습니다.
저는 ChatGPT의 무료 버전보다 ChatGPT Plus를 주로 사용하고 있습니다. 처음에는 Plus의 GPT-4 모델이 무료 버전의 GPT-3.5 모델보다 코딩을 더 잘했기 때문입니다. 그러나 이제 두 버전 모두 GPT-4o 모델의 일부 변형을 지원하므로 코딩 기능이 동일합니다. 잠시 기다리라는 요청을 받기 전에 무료 버전에서만 너무 많은 쿼리를 받는다는 것을 기억하십시오. 그래서 저는 $20/월 플러스 버전을 사용합니다.
내 실제 코딩에 대해 많은 대규모 언어 모델(LLM)을 테스트한 결과 소수(모두 ChatGPT의 LLM을 기반으로 함)만이 내가 던진 모든 것을 처리할 수 있다는 것을 발견했습니다. 따라서 프로그래머를 위한 멋진 AI 도구가 많이 제공되고 있지만(일부는 무료이기도 함) AI가 생성하는 코드가 실제로 작동하지 않는 한 그다지 도움이 되지 않을 것입니다. 좋은 소식은 AI는 시간이 지남에 따라 필연적으로 코딩 실력을 향상시킬 것이기 때문에 더 이상 큰 문제가 되지 않을 것이라는 것입니다.
제가 진행했던 모든 프로젝트를 돌이켜 보니, AI 프로그래밍 파트너를 최대한 활용하는 방법에 대해 공유할 수 있는 몇 가지 실질적인 팁이 있다는 것을 깨달았습니다. 파헤쳐 보자.
1. AI에게 작은 일을 많이 주세요
AI는 복잡한 명령어 세트를 잘 처리하지 못하며, 특히 제품 디자인을 수행할 것으로 예상되는 경우 더욱 그렇습니다. 그러나 AI는 작고 잘 정의된 명령을 구문 분석하고 처리하는 데 매우 능숙합니다.
2. 봇을 Slack 대화가 끝나는 사람으로 생각하세요.
동료와 이메일을 주고받으며 각 상호 작용을 몇 시간 단위로 구분할 수 있는 속도 대신, 각 상호 작용이 훨씬 작지만 초 단위로 분리된 Slack 채팅에 있다고 상상해 보세요.
3. 더 복잡한 루틴의 경우 반복적으로 프롬프트
간단한 할당으로 시작하여 제대로 작성되면 요소별로 더 많은 것을 추가하십시오. 이전 프롬프트를 잘라내어 붙여 넣고, 프롬프트의 비트를 추가 및 제거하면, 내가 찾고있는 것에 맞는 코드 덩어리를 얻을 수 있습니다.
4. AI가 반환하는 모든 작은 코드 덩어리 테스트
코드가 작동할 것이라고 가정하지 마십시오. 코드를 프로젝트에 패치하고 어떻게 작동하는지 확인합니다.
5. 디버거 사용
보다 심층적인 테스트를 위해 주저하지 말고 디버거로 이동하여 AI가 생성한 코드를 단계별로 살펴보세요. 변수와 AI가 정확히 무엇을 하는지 관찰하십시오. 모든 명령문과 줄이 제대로 작동하는지 확인하는 한 코드 조각을 작성하도록 하는 것이 좋습니다.
6. IDE에 바로 내장된 Al 코딩 지원이 필요하지 않습니다.
많은 코딩 도구 공급업체가 도구에 AI를 통합한다는 아이디어를 제시하고 있습니다. 무엇보다도 이 접근 방식을 사용하면 AI 기능을 상향 판매할 수 있습니다. 그러나 저는 개발 환경과 별도의 도구로 코딩에 ChatGPT를 사용하는 것을 선호합니다. AI가 내 기본 코딩 환경에 도달하여 기존 내용을 변경할 수 있기를 원하지 않습니다.
7. 생성된 루틴에서 코드 줄을 자유롭게 잠식하십시오.
AI가 생산하는 모든 것을 항상 사용할 필요는 없습니다. Stack Overflow로 이동하여 코드 샘플을 찾은 다음 복사하려는 줄을 선택하는 것과 같은 방식으로 AI 생성 코드에서도 동일한 작업을 수행할 수 있습니다.
8. AI에게 독점 코딩을 요청하거나 AI가 가지고 있지 않은 제도적 지식을 사용하도록 요청하지 마십시오.
AI LLM은 훈련 데이터 또는 웹에서 찾을 수 있는 데이터에서 실행됩니다. 이는 그들이 일반적으로 귀하의 고유한 응용 프로그램이나 비즈니스 논리에 대해 아무것도 모른다는 것을 의미합니다. 따라서 AI가 이 수준의 지식이 필요한 것을 작성하도록 하지 마십시오. 그게 당신의 일입니다.
9. 코드의 컨텍스트를 이해할 수 있도록 AI에게 작업할 예제를 제공합니다.
ChatGPT에 HTML 페이지의 스니펫을 제공하고 텍스트 블록을 확장하는 기능을 추가하도록 요청했습니다. AI는 HTML, JS 및 CSS를 돌려주었습니다. 나중에 추가 CSS 선택기를 요청한 다음 작업을 정당화하도록 요청한 다음 왜 그렇게했는지 설명했습니다. 이 모든 과정이 효과가 있었던 이유는 제가 제공한 예제가 AI가 맥락을 이해하는 데 도움이 되었기 때문입니다.
10. 상식 코딩에 AI 사용
AI의 가장 큰 이점은 공통 지식, 인기 있는 라이브러리 및 일반 사례를 사용하는 코드 블록을 작성하는 것입니다. AI는 고유한 비즈니스 로직을 작성할 수 없습니다. 그러나 AI에게 라이브러리 및 API의 기능에 대한 코드를 작성하도록 요청하면 많은 시간을 절약할 수 있습니다.
11. 한 줄 또는 두 줄 스니펫을 자유롭게 요청하십시오.
한두 줄의 응답만 생성할 수 있는 것이 필요하더라도 시간을 절약할 수 있다면 다른 연구 도구를 사용하는 것처럼 AI를 사용하십시오.
12. AI가 작성한 코드가 작동하지 않을 때 AI에게 알립니다.
AI는 종종 불완전하거나 작동하지 않는 코드를 뱉어냅니다. 작동하지 않는 것을 말하고 명확히하기 위해 제안 할 수 있습니다. 그런 다음 AI에게 새로운 것을 쓰도록 요청하십시오. 일반적으로 그렇고 수정된 코드가 원본보다 더 나은 경우가 있습니다.
13. 하나의 Al을 사용하여 다른 Al의 작업을 확인하십시오.
두 언어 모델이 동일한 코드를 어떻게 해석하는지 보는 것은 흥미 롭습니다. 지금까지 살펴본 것처럼 모든 언어 모델이 잘 작동하는 것은 아니지만 그 결과는 유익할 수 있습니다. 한 ChatGPT 세션에서 다른 ChatGPT 세션의 결과를 확인하도록 할 수도 있습니다.
14. AI를 사용하여 CSS 선택기 작성
CSS 선택기는 코더가 스타일링 또는 기타 작업을 위해 웹 페이지의 요소를 정의하는 데 사용하는 표현입니다. 순식간에 복잡하고 난해해집니다. 나는 종종 HTML 블록을 복사하고 그 HTML의 주어진 부분에 대한 선택기를 요청한다. 이 접근 방식을 사용하면 많은 시간을 절약할 수 있습니다. 그러나 일반적으로 반복해야 하며, 처음 몇 개의 선택자가 작동하는 선택기를 생성할 때까지 AI에게 작동하지 않는다고 알려야 합니다.
15. AI를 사용하여 정규식 작성
정규식은 텍스트를 구문 분석하는 데 가장 자주 사용되는 기호 수학 시퀀스입니다. 나는 CSS 선택자를 쓰는 것을 싫어하는 것만큼이나 그것들을 쓰는 것을 싫어한다. AI는 정규식을 작성하는 데 능숙하지만 테스트해야 합니다.
16. AI를 사용하여 정규식 테스트
Patterns 앱을 사용하여 Mac Studio에서 생성된 정규식을 테스트합니다. 하지만 AI도 도움이 될 수 있습니다. 나는 종종 ChatGPT에 의해 생성된 정규식을 AI의 별도 인스턴스에 제공합니다. 그런 다음 별도의 인스턴스에서 "이것은 무엇을 합니까?"라고 묻습니다.함수가 원하는 것과 일치하는 설명을 다시 받으면 AI가 내가 원하는 작업을 수행했다는 확신이 더 커집니다.
17. AI가 복잡한 루프 수학을 하도록 합니다.
CSS 선택자 및 정규식과 마찬가지로 복잡한 루프 수학은 지루하고 오류가 발생하기 쉽습니다. 이것은 AI에 이상적인 응용 프로그램입니다. 프롬프트를 지정할 때 루프에 무엇이 있는지 AI에게 알리지 마세요. 적절한 loop wrapper elements를 작성하도록 한 다음, 해당 프로세스가 작동한 후에 business logic를 작성하십시오.
18. '이 코드에 어떤 문제가 있습니까?'를 프롬프트로 사용합니다.
필자는 종종 코드 블록, 특히 AI가 생성한 정규식을 AI에 공급합니다. AI가 코드에 무엇이 잘못되었다고 생각하는지 확인하는 것은 매우 유익할 수 있으며, 종종 코드가 테스트하지 않는 오류 조건을 강조 표시합니다. 그런 다음 AI에게 발견한 오류를 수정하는 코드를 다시 생성하도록 요청하십시오.
19. 'What does this do?'를 프롬프트로 사용합니다.
마찬가지로, 저는 AI에게 코드 블록을 공급하고 "이게 무슨 역할을 하는 거죠?"라고 묻는 것을 좋아합니다. 이는 종종 교훈적이며, 심지어 제 코드에도 도움이 됩니다. 그러나 가장 큰 이점은 다른 사람이 작성한 코드로 작업할 때 발생합니다. 함수나 블록을 AI에 공급하면 원래 코드를 리버스 엔지니어링하는 시간을 절약할 수 있습니다.
20. AI를 포기해야 할 때를 알아라
때로는 AI가 작업을 수행할 수 없습니다. AI가 코드를 두세 번 이상 다시 작성하도록 시도하면 돌이킬 수 없는 지점을 지났다는 것을 발견했습니다. AI가 생성한 코드를 원한다면 완전히 새로운 단어로 된 프롬프트로 시작하여 무엇을 얻을 수 있는지 확인하십시오. 그리고 때로는 스스로 가야 할 수도 있습니다.
21. 함수와 변수 이름을 구체적으로 지정하십시오.
AI는 변수 및 함수 이름에서 의도를 선택하고 더 나은 코드를 작성합니다. 예를 들어, 변수 이름을 $order_date로 지정하면 AI에게 주문 및 날짜 값을 처리하고 있음을 알리는 데 도움이 됩니다. $od 같은 것보다 훨씬 낫습니다. 더 좋은 점은 잘 명명된 변수 이름에서 생성된 코드는 AI가 생성하는 다른 변수에 대해 더 설명적인 이름을 사용하는 것을 알고 있기 때문에 더 읽기 쉽다는 것입니다.
22. 사전 및 사후 코드 노트 읽기
AI는 일반적으로 작성하는 코드 전후에 각 프롬프트에 대한 메모를 생성합니다. AI가 무엇을 했는지 또는 문제에 어떻게 접근했는지 이해하는 데 도움이 되는 보석이 있을 수 있습니다. 때때로 AI는 유용할 수 있는 다른 라이브러리나 함수를 알려주기도 합니다.
23. 돌아가서 코드 스니펫에 대한 추가 도움을 요청해도 괜찮습니다.
프로젝트에서 다양한 코드 조각을 가져와 필요한 것을 설명하고 ChatGPT에게 읽으라고 말한 다음 원하는 것을 물어보세요. 확장된 영역에서 입력 필드에 대한 제외를 구축해야 했고 AI에게 요청했습니다. 1분도 채 지나지 않아 직접 작성하는 데 10분에서 1시간 정도 걸리는 코드를 갖게 되었습니다.
24. Al을 사용하여 더 이상 사용되지 않는 코드 블록을 다시 작성할 수 있습니다.
이전 버전의 PHP로 작성된 PHP 모듈이 있었는데 지금은 더 이상 사용되지 않는 언어 기능을 사용했습니다. 코드를 업데이트하기 위해 더 이상 사용되지 않는 코드 세그먼트를 ChatGPT에 붙여넣고 최신 PHP 릴리스와 호환되도록 다시 작성하는 방법을 알려달라고 요청했습니다. 그것은 실제로 이루어졌고, 효과가 있었습니다.
25. AI를 사용하여 익숙하지 않은 언어로 글을 쓸 수 있도록 도와줍니다.
저는 새로운 프로그래밍 언어를 익히는 데 매우 익숙하지만, 전문가가 아닌 언어로 코딩해야 할 때 AI가 도움이 될 수 있다는 것을 알게 되었습니다. AI에게 내가 원하는 것을 쓰고 언어를 지정하는 방법을 묻습니다. 파이썬에서 case 문을 수행하는 방법을 알고 싶고 PHP에서 영원히 해왔다고 가정 해 봅시다. "PHP와 Python에서 case 문 작성을 비교"또는 "Python과 PHP에서 문자열을 연결하는 방법"이라고 물어보십시오. 훌륭한 비교를 얻을 수 있으며 이 프로세스를 통해 익숙하지 않은 코드를 훨씬 쉽게 작성할 수 있습니다.
여기 보너스 팁이 있습니다. 생성된 코드의 법적 문제에 대해서는 회사에 문의하십시오. 어디서부터 시작해야 할지 잘 모르겠다면 AI와 코드 소유권에 대한 제 글을 읽어보세요. 제가 공유한 팁을 사용하면 고유한 비즈니스 로직이나 코드를 고유하게 만드는 핵심을 작성하는 데 AI를 사용하지 않을 것입니다. 따라서 해당 코드의 저작권을 유지할 수 있으며, 이는 고유한 가치의 핵심 요소를 구성해야 합니다.
저는 회사 또는 오픈 소스 코드에서 내부적으로 사용하기 위한 코드를 작성하므로 AI 생성 스니펫에 대한 소유권 문제에 대해 걱정하지 않습니다.
코드 작성을 돕기 위해 AI를 사용한 적이 있습니까? 위의 내 목록에 추가할 팁이 있습니까? 아래 의견에 알려주십시오.
