챗봇이 올바른 코드를 만들 수 있을까요?
"저자는 AI 엔지니어 코드 서밋에 대한 성찰을 통해 AI가 개발자를 대체할 것이라는 낙관적인 전망에 도전합니다. 저자는 LLM이 컴파일러와 달리 소프트웨어의 정확성에 필수적인 결정론적 속성이 부족하다고 주장합니다. 컴파일러는 코드의 의미가 변환 중에 일관되게 유지되도록 보장하는 의미 보존 기능을 제공하는 반면, LLM은 설계상 비결정적입니다. 이러한 출력 보장의 부족은 보안 및 정확성에 위험을 초래합니다. 저자는 자연어 프롬프트의 모호성을 강조합니다. 한 예시는 LLM이 코드를 "수정"했지만 맥락을 잘못 이해하여 오류를 발생시킨 사례를 보여줍니다. LLM은 맥락적 복잡성, 문서화되지 않은 API, 이해 범위를 넘어서는 역사적 제약으로 인해 레거시 코드베이스에 어려움을 겪습니다. 저자는 LLM이 기본적인 작업에는 뛰어나지만 복잡하고 확립된 시스템에는 어려움을 겪어 잘못되고 해로운 출력을 초래할 수 있다고 제안합니다. 저자는 컴파일러의 결정론적 특성과 LLM의 확률적 출력을 이해하는 것이 매우 중요하다고 강조합니다. 이는 생성된 코드의 유효성과 안전성을 평가하는 데 중요합니다. 저자의 주장은 LLM이 충분한 역사적 및 맥락적 정보가 부족할 때 자신 있게 잘못된 솔루션을 제공한다는 것입니다."