/untyped

나의 LLM 사용기

2025-07-03

태그: dev essay

곧 도래할 특이점에 대비하기 위해서 여러가지로 LLM을 써보고 있다. 나의 개인적인 감상, 떠오르는 잡생각, 견해, 등을 모아봤다.

특이점

기술적 특이점이 정말로 올까? 솔직히 말해서 잘 모르겠다. 일단 “기술적 특이점” 자체에도 여러가지 정의가 있는 것 같다. 인공지능이 스스로를 더 잘 개선하는 방법을 발견해서 인간의 개입없이 무한히 발전하기 시작한다던가, 인간이 더 이상 기술의 발전을 따라잡을 수 없는 시기라던가, 비슷하지만 조금씩은 다른 모호한 지점이 있는 것 같다. 어쨌든 다들 동의하는 점은 “언젠가는 온다”는 건데, 과연 어떤 모습으로 나타날지 궁금하다.

그런데 어떤 사람들이 말하는 “전지전능하며 모든 걸 다 해결할 수 있는 인공지능”은 사실 물리적으로 어렵다고 생각한다. 이게 가능하려면 어떤 형태로든 지구 전체를 실행할 수 있는 방법이 나와야하지 않을까.. 지금 이 순간에도 지구 단위에서 일어나는 엄청나게 많은 이벤트조차 제대로 감지하지 못하고 있는데, 고작 데이터를 벡터로 압축하는 방법으로는 안될 것 같다. 분산 환경에서 네트워크 단절은 불가피하고, 당장 최근에 들리는 말로는 전력이 부족하다는 말도 나오는 판국이니, 물리적인 한계가 크게 발목을 잡을 지도 모르겠다.

맥락

“표현하지 않으면 모른다.” LLM을 써보고 깨달은 가장 중요한 사실 중 하나다. 내가 표현하지 않으면 모델이 내 의도를 알아 챌 방법은 아직은 없다. 미래에는 LLM에다 각종 센서를 붙여서 마치 인간처럼 대화 도중 무의식적으로 발생하는 비언어적인 의사소통을 캐치할지는 모르겠다. 하지만 그렇게 하더라도 모든 의중을 파악하는 것은 어렵고, 적어도 지금의 대화식 UI에서는 더더욱 말하지 않으면 모른다. 그러니까 결국에는 LLM을 쓰는 사람이 자기가 원하는 모든 걸 말할 수 있어야 한다.

그럴려면 우선 나부터가 생각을 잘 정리해두어야 한다. LLM한테 밑도 끝도 없이 이상한 요청을 하고선 그 응답에 실망하거나 쉽사리 할루시네이션이라고 판단하기는 섣부르다. 구체적으로 LLM을 써서 하려고 하는게 뭔지, 그리고 그걸 하기 위해서 그동안 내가 정리해둔 배경지식이나 필요한 맥락을 내가 이해하는 형태로 던져줘야 이 친구도 그와 유사한 형태로 응답을 해준다. 그리고 가장 중요한 것은 결과물을 그대로 받아들이기 보다 정말 그러한지 한번 더 검토해야 한다.

모든 것은 텍스트

지금의 인터페이스는 입력도 출력도 오직 텍스트다. 멀티 모달도 있지만 나는 이것도 일종의 텍스트라고 본다. 모델이 문제 해결을 위해서 직접 개입 가능한 물리적인 인터페이스가 나오지 않는 이상 (그래서 개인적으로는 로봇이 조금 더 기대된다), 결국은 모델의 응답을 우리가 이해 해야 한다.

그래서 사실 “인공지능이 발전하면 더 이상 XX 공부 하지 않아도 된다” 류의 염세적인 의견에는 크게 동의하지 않는다. 오히려 글을 읽고 이해하는 훈련이 필수적이라고 생각한다. 모국어는 당연하고, 영어나 다른 외국어도 여전히 필요하다. 수학과 과학도 세상을 이해하려면 필요하다. 모두가 서로 다른 영역의 맥락을 갖고 있기 때문이다. 그리고 이러한 맥락에서 실제로 행위를 하는 것은 “나”다. 내가 직접 해야 한다. 그러니 비관론에 휩쓸리지 않았으면 좋겠다.

책임 소재

솔직히 바이브 코딩은 잘 모르겠다. 이제는 유명한 사람의 말이 모두 옳지는 않다는 것을 잘 안다. 내가 알 수 없는 숨겨진 마케팅적인 맥락이 있을지도 모른다. 이런 걸 다 차치하더라도 LLM이라는 도구를 사용할 거라면, 결과물에 대해서는 사용자가 책임을 져야 한다고 본다.

“엔지니어링”이라는 말은 최종적으로 문제를 해결하고, 생산성을 늘리고, 제품을 만드는 데에 중점을 둔다고 생각한다. 모델이 생성하는 코드를 무작정 받아들이다 보면 더 이상 모델이 뱉는 코드를 이해하지 못하는 순간이 올텐데, 이건 사실 충분히 해결할 수 있는 소규모 특이점이다. 계속해서 따라잡고 이해하면 되니까. 엔지니어링을 하는 엔지니어라면 나의 결과물에 책임을 지는 것이 중요하다. 그게 모델을 이용해서 뱉은 코드이건 간에.

비용

모델 구조가 어쩌니, 모델 크기가 얼마나 크니, 벤치마크에서 몇 점을 받았니, 이런 것보다 이제는 비용이 중요한 시점이 된 것 같다. 그런 면에서 구글은 정말 대단하다. 추론을 위한 자체 TPU도 있고, 행성 단위로 서비스 가능한 클라우드도 있고, 실행 가능한 최고의 검색 엔진도 있고, 개인화된 데이터(문서, 사진)에 접근할 권한도 있고, 정말 잘 만든 모델도 있으니, 말 그대로 “통합”된 환경을 구현해놓았다. 거기에 다른 구글 서비스를 끼워 판다는 점도 매력적이다. 정말로 구글이 스카이넷이 될 수 있지 않을까?

기록

무작정 기록만 하던 시절이 있었다. 덕분에 많은 텍스트가 쌓여 있다. 그 중에는 당시에는 제대로 이해하지 못한채 넘어가던 것들도 있다. 시간이 지날수록 자연스레 더 많은 맥락을 알게 되기 때문에, 사실 주기적으로 텍스트를 되새기기만 해도 더 많은 이해를 쌓을 수 있다. 그런데 이제는 LLM이라는 엄청난 도구의 도움을 받아, 옛날에 모르고 넘어갔던 것들을 더 잘 이해할 수 있게 되었다. 사후 교정이 가능한 것이다. 함께 자라기에서 말했던 것처럼, 나의 실력이 늘려면 적절한 난이도와 함께 시기 적절한 피드백이 필수적인데, LLM 덕분에 잘 모르는 분야라도 양질의 피드백을 아주 빠른 시간 내에 받을 수 있게 되었다.

코드 읽기

요즘 LLM, 특히 제미나이를 아주 잘 활용하고 있는 곳이 바로 코드 읽기다. 나의 현재 상황과, 코드에서 어떤 부분을 더 깊이 알고 싶은지, 내가 관심있는 분야와의 관계는 어떤지, 다른 유사한 것들과의 관계는 어떤지, 이런 다방면의 주제로 코드를 읽으면서 떠들기에 너무나도 훌륭한 도구다.

단적인 예로 요즘 가비지 컬렉션에 관심이 있어서 OCaml 코드를 읽어보고 있는데, 내가 맨땅에 헤딩했으면 찾는데 한 세월이 걸렸을 것 같은 배경 맥락이나 숨겨진 의도, 관련있는 키워드 등을 짚어준다. 그러면 또 거기에서 꼬리에 꼬리를 물고 이론적 혹은 기술적인 토론을 이어 나가게 되는데 이게 정말 재밌다. 거기다 소통 방식이 나는 글을 쓰고 상대가 쓴 글을 읽어야 하다 보니 대충 이해하고 넘어갈 수가 없어서 기억에도 잘 남는다. 이해 못하는 건 이해 될 때까지 다른 방식으로 이해시켜달라고 하면 또 그것대로 잘 표현해준다. 인간의 상상력 덕분에 이렇게 파고들다 보면 초 검색 도구를 넘어 정말로 어시스턴트, 일종의 보조자가 되어 옆에서 도와주는 기분이다. 모두가 자비스의 부분 집합을 누리게 되어 pseudo-아이언맨이 될 수 있는 시대가 도래했다.

실천

그럼에도 가장 중요한 건 역시 “하는” 것이다. 실천의 주체는 여전히 사람이다. 아직까지는 다행히 이 명제가 맞는 것 같다. 아무리 인공지능이 세상의 모든 지식을 압축해서 갖고 있다가 다양한 상황에 적재적소로 풀어낼 수 있다고 하더라도, 아직까지는 그것을 행위하는 주체는 사람이다. 이게 언제 바뀔지는 모르겠지만, 앞에서 말한 여러가지 생각들을 근거로 개인적으로는 한동안은 바뀌기 쉽지 않아 보인다.

그래서 하고자 하는 의지가 필요하다. 이유가 어딨어, 그냥 하는거지. LLM 덕분에 더 빨리 더 잘할 수 있게 되었을 뿐 본질은 동일하지 않을까.


이상 시덥지 않은 생각을 풀어내봤다. 아마 1개월, 6개월, 내년, 또 몇년 뒤에는 또 엄청나게 달라진 생각을 갖고 있을 수도 있겠다.