LLM이 코드 수정은 잘하는데 검증은 못 한다는 거 다들 느끼셨나요?
Has anyone else noticed LLMs are much better at changing code than verifying it?
핵심 요약
코딩 에이전트 개발 시 코드 수정보다 수정된 코드의 정확한 검증이 훨씬 어렵다는 문제에 대한 논의입니다.
- 코딩 에이전트 한계 — 코드 수정은 잘하지만 실제 문제 해결 여부를 검증하는 데 어려움을 겪음
- 평가 문제 — 테스트 통과가 반드시 문제 해결을 의미하지 않으며 프롬프트보다 평가 방식의 문제일 가능성
- 검증 전략 — 재현 테스트, 사용자 관점의 최종 확인, 회귀 테스트 등 실질적인 검증 워크플로우 필요
- 인간의 역할 — AI가 해결하지 못하는 복잡한 버그나 엣지 케이스에서 엔지니어의 직관이 여전히 필수적임
코딩 에이전트를 꽤 오랫동안 만들어 왔는데, 계속해서 발생하는 문제가 하나 있음.
에이전트가 수정 코드를 작성하게 하는 건 보통 어려운 일이 아님.
진짜 어려운 건 그게 실제로 문제를 해결했는지 알아내는 것임.
에이전트가 코드를 수정하고, 모든 테스트를 통과하고, 자신 있게 작업이 완료되었다고 말했는데... 정작 원래 버그는 그대로 남아 있는 경우를 겪었음.
처음에는 프롬프트가 문제라고 생각해서 계속 프롬프트를 수정했었음.
이제는 이게 프롬프트 문제라기보다는 평가(evaluation) 문제라는 생각이 들기 시작함.
테스트 스위트가 초록색(통과)이라고 해서 항상 사용자의 문제가 해결된 건 아님. 가끔 에이전트는 그냥 관련 있어 보이는 무언가를 고쳤을 뿐임.
다른 사람들은 이 문제를 어떻게 다루고 있는지 궁금함.
원래의 버그 리포트를 다시 재현하고 있음? 회귀 테스트 케이스를 유지하고 있음? 아니면 다른 LLM을 검토하기 위해 LLM을 사용하고 있음? 아니면 더 나은 워크플로우를 가지고 있음?

