AI가 생성한 코드는 "최종 초안"이 아닌 "초안"으로 간주되어야 합니다! Google Chrome의 엔지니어링 책임자인 @addyosmani의 블로그에 따르면, 그의 요점은 매우 명확합니다. AI가 생성한 코드는 "최종 초안"이 아닌 "첫 번째 초안"으로 간주되어야 하며, AI는 "근면하지만 경험이 부족한 인턴"으로 취급되어야 합니다. 오스마니는 AI가 생성한 코드는 종종 완벽해 보이지만, 맥락에 대한 깊은 이해와 의도된 의미에 대한 이해가 부족하다고 주장합니다. 따라서 우리는 AI 코드를 주니어 개발자나 인턴의 코드처럼 다루어야 합니다. • 속도를 개선하는 데 사용할 수 있습니다. 보일러플레이트 코드를 작성하고 지루한 수동 작업을 수행하게 하세요. • "읽기"와 "이해" 과정을 절대 아웃소싱하지 마세요. AI가 글을 쓸 수는 있지만, 사람이 읽고 검토해야 합니다. 왜 이렇게 해야 하나요? (잠재적 위험) 1. 의도와 행동의 단절 • 코드를 읽고 이해하지 못하면 "코드 동작"과 "디자인 의도" 사이의 연결이 끊어집니다. • 코드에 문제가 있는데 사전에 검토하지 않았다면 왜 그런 식으로 작성되었는지 알 수 없고, 유지 관리가 악몽이 될 것입니다. 2. 기술 위축 AI의 결과물을 맹목적으로 받아들이면 엔지니어의 비판적 사고와 디버깅 능력이 저하될 수 있습니다. 한 엔지니어는 이렇게 말했습니다. "AI 출력의 검증을 중단하면 즉각적인 버그가 발생할 뿐만 아니라, 그러한 오류를 찾는 데 필요한 능력도 체계적으로 감소하게 됩니다." 3. "정확해 보여서" 오해의 소지가 있음: AI 코드는 종종 실행되고 테스트를 통과하지만, 미묘한 논리적 결함이나 보안 취약점(예: 주입 취약점)이 있을 수 있으며, 예외 상황을 제대로 처리하지 못할 수도 있습니다. • 기억하세요: LLM이 나쁜 코드를 출시하는 것이 아니라 팀이 나쁜 코드를 출시합니다. 책임은 항상 사람들에게 있습니다. 실용적인 조언: AI와 공존하는 방법 Osmani는 팀이 AI를 활용하여 효율성을 개선하는 동시에 코드 품질을 유지할 수 있도록 돕기 위해 몇 가지 구체적인 제안을 제시했습니다. • "인간이 참여하는" 시스템을 구축합니다. AI가 첫 번째 버전을 초안할 수 있지만, 인간은 코드가 의도한 대로 작동하는지 확인해야 합니다. • 엄격한 코드 검토: AI 코드 검토 기준은 낮아져서는 안 되며, 인간 동료의 코드 검토 기준보다 더 엄격해야 합니다. • 단순히 "작동"하는 것만으로는 충분하지 않습니다. 코드가 작동하는지 확인하는 것만으로는 충분하지 않습니다. 작동 방식도 이해해야 합니다. 이해하지 못하는 코드는 병합하지 마세요. • 자동화된 도구 활용: 여전히 사람이 직접 검토하는 것이 필요하지만 지능형 에이전트 도구를 사용하면 린트 검사, 정규 표현식 매칭, 단위 테스트를 자동화하여 보조적인 방어선으로 활용할 수 있습니다. 블로그 주소:
스레드를 불러오는 중
깔끔한 읽기 화면을 위해 X에서 원본 트윗을 가져오고 있어요.
보통 몇 초면 완료되니 잠시만 기다려 주세요.
