코딩 도우미가 덜어 주는 일
코딩 도우미는 개발자가 매번 비슷하게 쓰는 코드를 빠르게 채워 주고, 처음 보는 오류 메시지가 무슨 뜻인지 풀어 주며, 남이 쓴 낯선 코드를 한 줄씩 설명해 줍니다. 테스트 코드의 초안을 만들거나, 정규표현식처럼 외우기 어려운 문법을 짜 주거나, 주석과 설명 문서를 정리하는 데도 시간을 크게 줄여 줍니다. 처음 배우는 언어에서 다른 언어의 개념을 어떻게 옮기는지 묻기에도 좋습니다. 하지만 도우미가 써 준 코드의 책임은 끝까지 그 코드를 합친 사람에게 있습니다. 편해진 만큼 검토하는 습관을 함께 들여야 합니다.
실행되는 코드와 맞는 코드는 다르다
인공지능이 만든 코드는 대개 그럴듯해 보이고, 실제로 실행도 됩니다. 문제는 실행된다고 해서 요구 사항을 정확히 지킨다는 보장이 없다는 점입니다. 빈 입력이나 아주 큰 값처럼 경계에 있는 경우를 빼먹거나, 오류를 조용히 삼켜 버리거나, 옛 버전에서만 쓰던 방식을 쓰기도 합니다. 존재하지 않는 함수나 설정 이름을 자신 있게 지어내는 일도 있습니다. 그래서 코드를 받으면 공식 문서에서 함수와 설정이 실제로 있는지 확인하고, 내 환경의 버전에서 그대로 동작하는지 직접 돌려 봐야 합니다.
보안에서 특히 조심할 것
가장 위험한 것은 잘 동작하면서 안전하지 않은 코드입니다. 겉으로는 문제가 없어서 검토에서 놓치기 쉽습니다. 아래 같은 부분은 따로 시간을 내어 살펴보세요.
- 사용자 입력을 검사하지 않고 데이터베이스 질의나 명령에 그대로 넣는 코드
- 비밀번호나 접속 키를 코드 안에 직접 적어 둔 부분
- 이미 약하다고 알려진 옛 암호화·해시 방식
- 필요 이상으로 넓은 파일·네트워크 권한
- 처음 듣는 외부 꾸러미(패키지)를 설치하라는 제안
지어낸 꾸러미 이름을 조심한다
인공지능은 있을 법한 이름의 외부 꾸러미를 지어내 설치하라고 권하기도 합니다. 그 이름이 실제로 없으면 설치가 실패하고 끝나지만, 누군가 그런 이름을 미리 등록해 두고 해로운 코드를 넣어 두었다면 설치하는 순간 내 컴퓨터와 서버가 위험해집니다. 새 꾸러미를 추가하라는 제안을 받으면 공식 저장소에서 실제로 있는지, 꾸준히 관리되고 있는지, 이름 철자가 정확한지 확인한 뒤에 설치하세요. 팀이라면 새 의존성을 추가할 때 다른 사람의 검토를 거치는 규칙이 도움이 됩니다.
비밀 정보는 넣지 않는다
오류를 빨리 고치고 싶은 마음에 설정 파일이나 로그를 통째로 붙여 넣는 경우가 많은데, 그 안에 접속 키나 비밀번호, 고객 데이터가 섞여 있기 쉽습니다. 입력한 내용이 어떻게 저장되고 쓰이는지는 서비스와 요금제마다 다르니 약관과 설정을 확인하세요. 회사 코드라면 외부 도구에 넣어도 되는지 사내 정책이 먼저입니다. 붙여 넣기 전에 비밀 값은 가짜 값으로 바꾸고, 문제를 재현하는 데 필요한 최소한의 코드만 잘라서 보여 주는 습관을 들이세요. 실수로 키를 넣었다면 바로 폐기하고 새로 발급하는 것이 안전합니다.
라이선스와 저작권
공개된 코드에도 사용 조건이 있습니다. 출처와 저작권 고지를 남기라는 조건이 있고, 그 코드를 쓴 결과물을 같은 조건으로 공개하라고 요구하는 경우도 있습니다. 인공지능이 만든 코드가 기존 공개 코드와 거의 같은 모양으로 나올 가능성도 완전히 배제할 수 없습니다. 길고 독특한 코드 덩어리를 받았다면 비슷한 코드가 공개되어 있는지 검색해 보고, 회사 제품에 넣을 때는 사내 라이선스 정책을 따르세요. 인공지능이 만든 결과물의 권리 관계는 나라와 서비스 약관마다 다르게 다뤄지므로 공식 안내를 확인해야 합니다.
검토하는 방법
코딩 도우미의 결과는 동료가 보낸 변경 사항이라고 생각하고 같은 기준으로 검토하면 됩니다.
- 한 줄이라도 이해하지 못한 부분이 있으면 설명을 듣고 납득한 뒤 합친다
- 정상 입력과 경계 입력에 대한 테스트를 쓰고 실제로 돌린다
- 새로 추가된 의존성이 실재하고 관리되는지 확인한다
- 오류 처리와 권한 범위를 따로 살펴본다
배우는 사람이라면
프로그래밍을 배우는 중이라면 답을 바로 받아 쓰기보다, 먼저 직접 써 본 뒤 도우미의 코드와 비교하는 편이 실력에 도움이 됩니다. 막혔을 때는 정답 코드 대신 힌트나 접근 방법만 달라고 요청할 수도 있습니다. 기초가 없으면 도우미가 틀린 코드를 줘도 알아채지 못하고, 결국 검토라는 가장 중요한 일을 할 수 없게 됩니다. 과제나 시험에서 인공지능 사용이 허용되는지는 수업 방침을 먼저 확인하세요.
🌍 검색엔진에서 더 찾아보기
아래 버튼을 누르면 해당 검색엔진에서 이 키워드로 바로 검색합니다