들어가기 전에
사람들은 AI를 '마법의 지니'로 생각하는 경우가 있지만 이 비유보다는 '전동 공구'에 가깝습니다. AI는 사람을 대신해 코드를 작성하지는 않으며, AI는 사람이 코딩하는 것을 도울 뿐이기 때문입니다. AI 프로그래밍 파트너를 최대한 활용하는 방법에 대한 몇 가지 구체적인 팁을 소개합니다. 매크로나 VBA로 코딩할 때에도 유효합니다.
이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: 25 AI tips to boost your programming productivity with ChatGPT
- URL: https://www.zdnet.com/article/25-ai-tips-to-boost-your-programming-productivity-with-chatgpt/
1. AI에게 작은 작업을 많이 부여
AI는 복잡한 명령어 집합을 잘 처리하지 못하며, 특히 제품 디자인을 기본적으로 수행해야 하는 경우 더욱 그렇습니다. 하지만 매우 잘 정의된 작은 명령어 집합을 파싱하고 처리하는 데는 매우 능숙합니다.
2. 챗봇을 대화의 다른 쪽 끝에 있는 사람으로 생각하기
동료와 이메일을 주고받으며 몇 시간 단위로 상호작용을 하는 것과는 달리, 각 상호작용이 훨씬 더 짧지만 몇 초 단위로 구분되는 Slack 채팅에 있다고 상상해 보세요.
3. 더 복잡한 루틴의 경우 반복적으로 프롬프트하기
간단한 과제부터 시작하여 제대로 작성되었다면 요소별로 더 추가하세요. 저는 이전 프롬프트를 잘라 붙여넣고, 프롬프트의 일부를 추가하고 제거하면서 원하는 기능에 맞는 코드 덩어리를 얻으면 됩니다.
4. AI가 반환하는 모든 작은 코드 덩어리 테스트하기
코드가 무조건 작동할 거라고 가정하지 마세요. 프로젝트에 패치를 적용하고 어떻게 작동하는지 확인하세요.
5. 디버거 사용
보다 심층적인 테스트를 원한다면 주저하지 말고 디버거에 들어가서 AI가 생성한 코드를 단계별로 살펴보세요. 변수와 정확히 어떤 작업을 수행하는지 살펴보세요. 모든 문과 줄이 제대로 작동하는지 확인하는 한 코드 스니펫을 작성하도록 내버려 두어도 괜찮습니다.
6. IDE에 내장된 Al 코딩 지원 불필
많은 코딩 도구 공급업체가 도구에 바로 AI를 통합하는 아이디어를 제시하고 있습니다. 이는 무엇보다도 AI 기능에 대한 상향 판매를 가능하게 합니다. 하지만 필자는 개발 환경과 완전히 분리된 도구로서 코딩에 ChatGPT를 사용하는 것을 선호합니다.
7. 생성된 루틴에서 코드 줄을 자유롭게 카니발라이즈하기
AI가 생성한 모든 것을 항상 사용할 필요는 없습니다. 스택 오버플로로 이동하여 코드 샘플을 찾은 다음 복사하고 싶은 줄을 선택하는 것과 마찬가지로, AI가 생성한 코드도 똑같이 할 수 있습니다.
8. AI에게 독점적인 코딩이나 AI가 갖고 있지 않은 지식을 요구하지 말 것
AI의 대규모 언어 모델은 학습 데이터나 웹에서 찾을 수 있는 것에서 실행됩니다. 즉, AI는 일반적으로 고유한 애플리케이션이나 비즈니스 로직에 대해 아무것도 모른다는 뜻입니다. 따라서 AI에게 그 정도의 지식이 필요한 내용을 작성하게 하려고 하지 마세요. 그것은 여러분의 몫입니다.
9. AI가 코드의 컨텍스트를 이해할 수 있도록 작업할 예제 제공
ChatGPT에 HTML 페이지의 스니펫을 제공하고 텍스트 블록을 확장하는 기능을 추가해 달라고 요청했습니다. 그 결과 HTML, JS, CSS를 돌려주었습니다. 나중에 추가 CSS 선택기를 요청한 다음 작업을 정당화해 달라고 요청했고, 그 결과 왜 그렇게 했는지 설명해 주었습니다. 이 모든 것이 효과가 있었던 이유는 제가 제공한 예제가 컨텍스트를 이해하는 데 도움이 되었기 때문입니다.
10. 상식 코딩에 AI 활용
AI 코드의 가장 큰 장점은 일반적인 지식, 널리 사용되는 라이브러리 및 일반적인 관행을 사용하는 코드 블록을 작성할 때 AI를 사용할 때입니다. AI는 고유한 비즈니스 로직을 작성할 수 없습니다. 하지만 라이브러리와 API에서 제공되는 기능에 대한 코드를 작성하도록 요청하면 시간을 크게 절약할 수 있습니다.
11. 한 줄 또는 두 줄짜리 스니펫 자유롭게 요청
한두 줄의 응답만 생성하는 것이 필요하더라도 시간을 절약할 수 있다면 다른 리서치 도구를 사용할 때와 마찬가지로 AI를 사용하세요.
12. 작성한 코드가 작동하지 않을 때 AI에 알리기
물론 이 방법은 생성된 코드를 테스트해야만 작동할 수 있습니다. 저는 종종 AI가 불완전하거나 작동하지 않는 코드를 뱉어내는 것을 발견합니다. 무엇이 작동하지 않는지 알려주고 명확히 하기 위한 제안을 하세요. 그런 다음 새로운 코드를 작성해 달라고 요청합니다. 대개는 그렇게 하고, 수정된 코드가 원래 코드보다 더 나은 경우도 있습니다.
13. 하나의 Al을 사용하여 다른 Al의 작업 확인하기
서로 다른 두 언어 모델이 동일한 코드 블록을 어떻게 해석하는지 보는 것은 종종 흥미롭습니다. 앞서 살펴본 것처럼 모든 언어 모델이 모두 잘 작동하는 것은 아니지만 그 결과는 유익할 수 있습니다. 한 ChatGPT 세션에서 다른 ChatGPT 세션의 결과를 확인하도록 할 수도 있습니다.
14. AI를 사용하여 CSS 선택기 작성하기
CSS 선택기는 코더가 웹 페이지에서 스타일 지정이나 기타 작업을 위해 요소를 정의하는 데 사용하는 표현식입니다. 선택기는 금방 복잡하고 난해해집니다. 저는 종종 HTML 블록을 복사하고 해당 HTML의 특정 부분에 대한 선택기를 요청합니다. 이렇게 하면 시간을 많이 절약할 수 있지만, 일반적으로 AI가 작동하는 선택기를 생성할 때까지 처음 몇 개의 선택기가 작동하지 않는다고 알려주면서 반복해야 한다는 점을 명심하세요.
15. AI를 사용하여 정규식 작성하기
정규식(regular expressions)은 텍스트를 구문 분석할 때 가장 자주 사용되는 기호 수학 시퀀스입니다. 저는 CSS 선택기를 작성하는 것만큼이나 정규식을 작성하는 것을 싫어합니다. AI는 정규식 작성에 능숙하지만 반드시 테스트가 필요합니다.
16. AI를 사용하여 정규식 테스트하기
정규식은 매우 복잡한 형태를 하고 있기에 별도의 앱을 사용하는 경우도 있습니다. 하지만 AI도 도움이 될 수 있습니다. 필자는 종종 ChatGPT에서 생성된 정규식을 AI의 별도 인스턴스에 입력합니다. 그런 다음 별도의 인스턴스에 “이것이 무엇을 하나요?”라고 묻습니다.
17. 복잡한 루프 수학을 AI에 맡기기
CSS 선택기 및 정규식과 마찬가지로 복잡한 루프 수학은 지루하고 오류가 발생하기 쉽습니다. 이는 AI에게 이상적인 애플리케이션입니다. 프롬프트를 지정할 때 AI에게 루프에 무엇이 있는지 알려주지 마세요. 적절한 루프 래퍼 요소를 작성하게 한 다음 해당 요소가 작동한 후에 비즈니스 로직을 작성하세요.
18. “이 코드의 문제점은 무엇인가요?"를 프롬프트로 사용하기
필자는 종종 코드 블록, 특히 AI가 생성한 정규 표현식을 AI에 제공하곤 합니다. AI가 코드에서 무엇이 잘못되었다고 생각하는지 확인하는 것은 매우 유익할 수 있으며, 종종 코드가 테스트하지 않는 오류 조건을 강조 표시하기도 합니다. 그런 다음 AI가 발견한 오류를 수정하여 코드를 다시 생성하도록 요청하세요.
19. “이것이 무엇을 할까요?"를 프롬프트로 사용하기
필자는 AI에 코드 블록을 제공하면서 “이것이 무엇을 하나요?”라고 물어보는 것을 좋아합니다. 이런 방식으로 종종 유익한 정보를 얻을 수 있습니다. 하지만 가장 큰 장점은 다른 사람이 작성한 코드를 작업할 때입니다. 함수나 블록을 AI에 제공하면 원본 코드를 리버스 엔지니어링하는 데 드는 시간을 크게 절약할 수 있습니다.
20. AI를 포기해야 할 때 알기
때로는 AI가 일을 처리할 수 없을 때가 있습니다. 필자는 AI에게 코드를 두세 번 이상 다시 작성하게 하면 더 이상 되돌릴 수 없는 지점을 넘어선다는 사실을 발견했습니다. 정말 AI가 생성한 코드를 원한다면 완전히 새로운 프롬프트로 시작해서 어떤 결과가 나오는지 확인해 보세요. 때로는 직접 작성해야 할 때도 있습니다.
21. 함수와 변수 이름 구체적으로 정하기
AI는 변수 및 함수 이름에서 의도를 파악하여 더 나은 코드를 작성합니다. 예를 들어 변수 이름을 $order_date로 지정하면 AI가 주문과 날짜 값을 모두 다루고 있음을 알 수 있습니다. 이는 $OD와 같은 것보다 훨씬 낫습니다. 또한, 잘 명명된 변수 이름으로 생성된 코드는 생성하는 다른 변수에 대해서도 더 설명적인 이름을 사용한다는 것을 알고 있기 때문에 가독성이 더 높습니다.
22. 코드 전후의 메모 읽기
AI는 일반적으로 코드를 작성하기 전과 후에 각 프롬프트에 대한 몇 가지 메모를 생성합니다. 여기에는 AI가 무엇을 했는지 또는 문제에 어떻게 접근했는지 이해하는 데 도움이 되는 유용한 정보가 있을 수 있습니다. 때로는 AI가 유용한 다른 라이브러리나 함수를 알려주기도 합니다.
23. 나중에 코드 조각에 대한 추가 도움을 요청하기
프로젝트에서 다양한 코드 조각을 가져와 필요한 부분을 설명하고 ChatGPT에 읽으라고 지시한 다음 원하는 것을 요청하세요. 필자는 확장된 영역의 입력 필드에 대한 제외 기능을 만들어야 해서 다시 들어가서 요청했습니다. 1분도 채 지나지 않아 직접 작성했다면 10분에서 1시간 정도 걸렸을 코드가 완성되었습니다.
24. Al을 사용하여 더 이상 사용되지 않는 코드 블록을 다시 작성하기
지금은 더 이상 사용되지 않는 언어 기능을 사용하는 이전 버전의 PHP로 작성된 PHP 모듈이 있었습니다. 코드를 업데이트하기 위해 더 이상 사용되지 않는 코드 세그먼트를 ChatGPT에 붙여넣고 최신 PHP 릴리스와 호환되도록 다시 작성하는 방법을 알려달라고 요청했습니다. 그랬더니 작동했습니다.
25. 익숙하지 않은 언어로 작성할 때 AI 활용하기
필자는 새로운 프로그래밍 언어를 익히는 데 매우 익숙하지만, 전문가가 아닌 언어로 코딩해야 할 때 AI가 정말 도움이 된다는 것을 알게 되었습니다. 원하는 내용을 작성하는 방법을 물어보고 언어를 지정하기만 하면 됩니다. 예를 들어 파이썬에서 대소문자를 작성하는 방법을 알고 싶은데 그동안 Perl로만 해왔다고 가정해 보세요. “Perl과 Python에서 대/소문자 구문 작성 비교” 또는 ‘Python과 PHP에서 문자열을 연결하는 방법’을 물어보세요. 훌륭한 비교 자료를 얻을 수 있으며 익숙하지 않은 코드를 훨씬 쉽게 작성할 수 있습니다.
마치며
이상에서 공유한 팁을 사용하면 AI를 사용하여 코딩 생산성을 높일 수 있습니다. 자신이 잘 아는 언어뿐만 아니라 생소한 언어에 대해서도 마찬가지입니다.
'IT Info' 카테고리의 다른 글
Windows에서 브라우저 성능을 높일 수 있는 6가지 방법 (0) | 2025.01.23 |
---|---|
Google Docs에서 전문적인 이력서를 만드는 방법 (2) | 2025.01.22 |
프리랜서와 전문가를 위한 필수 생산성 도구 9가지 (0) | 2025.01.20 |
AI PC란 정확히 무엇이며, 2025년에 구매해야 할까요? (2) | 2025.01.18 |
Windows 작업을 자동화할 수 있는 7가지 유용한 배치 파일 (2) | 2025.01.17 |