pkg update's avatar
pkg update

@pkgupdt@hl.pkgu.net

내 경우 LLM을 코딩에 쓰면서 느낀 점은,

이 시스템은 코딩을 해주는게 아니라, 내가 쓴 프롬프트를 소스 코드로 transformation 해준다는 점. 자주 보이는 오해지만 LLM은 자신이 생성한 코드를 "이해"하고 있지 않습니다. 아니 더 정확히는 이해라는 개념이 없습니다.

즉 문제 정의 -> 알고리즘, 데이터 구조 결정 -> 코드 작성, 이라는 사람의 코딩 순서를 따라하는 시스템이 아니라는 점을 명확히 인식할 필요가 있습니다. 내가 준 프롬프트에 맞춰 학습한 코드들을 matching 해준다는 편이 더 정확한 표현일 겁니다.

잘 쓰여진 문서는 곧 소스 코드이다, 라는 격언이 잘 들어 맞습니다. 요구사항을 정확하게 주고, 인풋-아웃풋을 맞추고, 알고리즘까지 지정해주면 LLM은 많이 쓰이는 코드들을 깔끔하게 맞춰서 내줍니다. LLM의 코드를 보고 다시 프롬프트하는 방식은 비효율적입니다. LLM은 코드의 의미를 모릅니다.

그래서, 1. 일반적인 요구사항, 2. 오픈 소스가 많은 언어, 3. 추상화 잘 되어 있는 스크립트 언어, 인 경우 LLM의 품질이 좋습니다. 아니라면, 저는 추천하지 않습니다. 맞다면, 쓰지 않는다는 선택지가 사실상 없습니다.