프로그래밍에 LLM을 활용할 때 반복적으로 제기되는 우려가 있다. LLM이 훈련 데이터에 많이 포함된 도구 쪽으로 기술 선택을 유도해, 더 새롭고 뛰어난 도구들이 주목받기 어려운 환경을 만들 수 있다는 것이다.
몇 년 전만 해도 이런 우려는 실제로 근거가 있었다. 모델에게 Python이나 JavaScript 관련 질문을 하면 사용자가 적은 언어에 대한 질문보다 훨씬 좋은 답변을 받을 수 있었기 때문이다.
그러나 최신 모델들이 완성도 높은 코딩 에이전트 환경에서 구동되는 지금, 이 우려가 여전히 유효한지는 의문이다.
내가 직접 만든 신규 도구들을 사용할 때, "uvx showboat --help / rodney --help / chartroom --help를 실행해서 이 도구들을 파악해라"라고 프롬프트를 시작하면 놀라울 정도로 좋은 결과가 나온다. 최신 모델들의 컨텍스트 길이가 충분히 길어져서, 문제에 본격적으로 달려들기 전에 상당한 분량의 문서를 소화할 수 있기 때문이다.
훈련 데이터에 포함되기에는 너무 비공개이거나 너무 최신인 라이브러리와 도구로 구성된 기존 코드베이스에 코딩 에이전트를 투입해도, 내 경험상 충분히 잘 동작한다. 에이전트가 기존 예제 코드를 충분히 살펴보고 패턴을 파악한 뒤, 자신의 출력을 반복적으로 테스트하며 빈틈을 채워나가기 때문이다.
예상 밖의 결과다. 코딩 에이전트야말로 지루한 기술을 선택하라(Choose Boring Technology) 철학을 극단적으로 구현하는 존재가 될 거라 생각했는데, 실제로는 내 기술 선택에 그런 방식으로 영향을 미치지 않는 것 같다.
추가: 몇 가지 후속 생각을 덧붙인다.
현재 보고 계신 콘텐츠는 블로그의 장문 아티클만 포함되어 있습니다. 모든 포스트를 받아보려면 /atom/everything/을 구독하거나, 다른 구독 옵션을 확인해 보세요.