LLM이 주도하는 현재의 AI 여름을 둘러싼 개인적 관찰과 실험, 회의와 흥미를 날짜별로 기록한 저널.
이 페이지는 LLM이 이끄는 현재의 AI 여름에 대해, 바라건대 균형 잡힌 생각들을 기록해 두는 나만의 일지 공간이다.
하버드에서 “workslop”을 정의하는 이 글을 냈다. 누군가가 힘든 사유를 LLM이 생성한 조악한 산출물로 대체할 때를 일컫는 신조어다. 최근 일터에서 그런 걸 목격하고 생각하던 참이었지만 아직 말로 정리하진 못했기에, 이 새 용어가 반갑다.
홀리 헌던을 찾아보다가 우연히 이 글을 봤는데, LLM을 “인공지능”이 아니라 “집합지성”으로 재정의하는 관점이 마음에 들었다. 대형 언어 모델이 무엇인지 더 정확히 설명하고, 조금 더 긍정적이고 포용적으로 들린다.
Emacs에서 llama.cpp를 일반 질의와 GBNF 제약 출력 모두로 돌리는 데 성공했다. 출력은 만족스럽지만, 지난 몇 주는 사용하지 않았다. 다시 돌아올 듯하다.
현재 기분: 계속 가볍게 손대 보고 싶다. 조직 전반이 LLM의 혜택을 고르게 보고 있다는 주장에는 회의적이다. 이코노미스트에서 소형 맞춤 모델, 일명 SLM이 OpenAI, Anthropic 등이 내놓는 대형 모델보다 선호되는 추세라는 걸 읽었는데, 어느 정도 납득이 간다.
지난 업데이트 이후, 내 MacBookPro Max M4에서 로컬 LLM 모델들을 실험했다. 3B 파라미터 모델을 돌릴 수 있다. LLM 유행을 grep이나 awk 같은 도구로 대하듯 접근해, 많은 이들이 그러듯 공상과학의 오라클로 보기보다는 자유 텍스트를 다룰 수 있게 만드는 틈새 도구가 될 수 있는지 보려 했다. Ollama에서 스트리밍 응답을 받아오는 Emacs 모듈을 작성했다.
그 모델들은 개인 사용자의 눈으로 보면 매우 예측 불가능했다. Ollama의 “tool use”도 써 봤는데, 이는 모델에 올바른 스키마의 프롬프트를 주면 함수 호출을 특정 포맷으로 응답하는 방식이다. 이것도 신뢰성이 떨어진다(내 용도에선 실사용 가능성을 낮게 본다). 메커니즘이 일반 프롬프트/생성과 같기 때문이다.
가능성이 있어 보이는 도구는 GBNF다. llama.cpp가 지원하는 BNF 문법 포맷인데, 토큰 생성 바로 옆에서 동작하는 필터 함수로서 GBNF 문법과 맞지 않는 토큰을 버린다. 의미까지는 못 믿더라도 출력 구문은 신뢰할 수 있어 유망하다. 소형 모델에서는 잘 작동하고, 대형 모델에서는 비용이 많이 든다. Ollama는 지원할 계획이 없고, llama.cpp는 지원하므로 전자를 버리고 후자를 택할 참이다.
코드 생성에서는 “x를 하도록 PR을 만들어라” 같은 완전 에이전트식에 도전했고, 성공률은 50%였다. 코드 리뷰 봇은 지금으로선 반반. 여기서 실패란, 실패한 상호작용을 감당하느니 내가 직접 하는 편이 더 쉽고 정신적으로도 더 영양가 있었다는 뜻이다.
클라우드 LLM은 구글 검색을 대체해 직접 소스를 찾는 데 꽤 괜찮았다. 반면, 아키텍처 같은 아이디어 탐색은 별 도움이 되지 않았다. 역설적으로 TLA+, Liquid Haskell 같은 이론에 다시 흥미가 생겼다. 내 생각을 위임하기보다 더 잘 생각하게 해 주는 도구들에 관심이 돌아왔다.
오픈 소스 스크립트 언어 Hell 작업은, LLM 때문에 틈새 언어의 전망이 꽤 어둡다고 느껴져 한 달 정도 무기력했다. 하지만 그 시기는 지나갔고 다시 흥미가 돌아왔다.
나는 경제학자는 아니지만, 부디 겨울이나 붕괴는 오지 않기를.
전반적 현재 관측: 가벼운 흥미로 만지작, 로컬 우선, 업무 관련 과제에선 보통 수준의 성능, Google++처럼 활용, 사고의 위임은 회피, 이론 학습에 대한 흥미 재점화.
간단 업데이트: 지금 내 관점을 굳이 말하자면 회의적이다. 긴 회의의 골짜기가 이어지다가, 아주아주 짧은(하루짜리) FOMO와 “AI가 소프트웨어 개발자에게 존재적 상황”이라는 믿음이 든 급등이 널찍이 간격을 두고 가끔 있다(이전 2025-04-18 생각 덤프 참조). 그런데 그 빈도도 줄어드는 중이다. 내 트렌드가 어느 쪽으로 가는지 감이 온다.
소셜 미디어의 마지막 흔적(RSS 피드; BazQux)도 흥미 부족으로 끊고, 저녁 시간의 디지털 기기도 완전히 끊으니, 이 모든 게 한편으론 평온하고 약간 지루하다. 그래도 여전히 몇몇 친구들 마음엔 자리 잡고 있다.
다음 업데이트쯤엔 생각이 바뀔지도 모른다. 두고 보자.
LLM에 대한 생각을 이리저리 주워 담아 오고 있다. 수시로 이 문서에 덧붙인다. 글이라고 할 만한 글은 아니다.
유행: HN 같은 포럼에선 AI가 과대평가인지 아닌지를 두고 길고 익숙한 논쟁이 이어진다. 암호화폐나 마이크로서비스 같은 어떤 유행거리와도 일치하는 풍경이다.
객관적 가치: 코드 생성 도구가 매우 좋아졌다. 그 결과, 특히 빨리 버리고 빨리 고치는 일회성 산출물을 만드는 일을 하는 이들의 작업은 가속됐고, 문서가 부실한 API를 기다릴 인내가 없던 이들에게는 이전에 접근하기 힘들던 과제들도 접근 가능해졌다.
학습의 부재: 학습 데이터에 충분히 노출되지 않은 주제를 보면, 예컨대 인간 개인은 어떤 주제를 배울 수 있고, 무언가를 배우는 데 수백만 예시가 필요한 것도 아니다. 우리는 추론—상징적 추론/조작—을 사용해 책이 한 권뿐인 프로그래밍 언어도 배울 수 있다. 반면 LLM은 실제로 그 프로그래밍 언어를 배우는 게 아니라, 인간 언어처럼 앵무새처럼 흉내 내는 법을 배우는 셈이다. 그래서 인기 모델들이 하스켈에는 대체로 형편없고, 로지반은 아예 못하는 것이다. 로지반의 문법, 의미론, 사전 등 모든 것을 완비한 책이 있음에도 말이다.
기록되지 않으면 존재하지 않는다: 누군가가 그것에 대해 자세히 글로 쓰고 온라인이나 책에 올려 두지 않았다면, 그건 LLM이 접근할 수 없는 인간의 통찰로 남는다. 예를 들어, 온라인이나 책에서 프린트 디버깅에 대해 아무도 말해 둔 적이 없다면, 프로그램을 디버깅하는 다양한 방법을 LLM에 묻더라도, 답변에 printf 디버깅이라는 개념은 나오지 않을 것이라고 나는 꽤 확신한다. 그것은 전적으로 인간의 상호작용적 경험에서 오는 것이기 때문이다.
객관적 이득: LLM은 본질적으로 인간 언어를 소화·분석·번역·요약·생성 가능한 코드로 바꾼다. 즉, 비결정성을 제외하면 압축, 린팅, 테스트 슈트, DSL 같은 기존 공학 도구들을 적용할 수 있다.
객관적 한계: 현재 구현으로 볼 때, LLM은 확률적 트랜스포머 안에서 질문에 대한 답을 추정할 수는 있지만, 예컨대 단어의 개별 글자 수를 세거나 기초 산수를 하는 것은 못 한다. (이 글을 쓰는 시점 기준; 언젠가 후처리와 도구로 이런 누수는 막히겠지만.)
의인화에 대한 추측: LLM이 마치 추론하는 듯 보이는 이유는, 베이스 모델이 사실상 인터넷의 스냅샷이고, 거기에 수백만 건의 Q&A 대화가 추가로 학습되기 때문이다. 질문이 주어지고 답이 생성되는 그 패턴이 이해나 내부 정신 모델이 있는 듯한 외양과 인상을 준다. 클레버 한스(Clever Hans).
언어 이론과의 관련: 스티븐 핑커의 The Blank Slate의 한 장이 떠오른다. 독립적 추론이나 기능은 못하지만 긴 이야기를 유창하게 늘어놓는(그리고 그 이야기는 전부 꾸며낸 것이지만 문법과 서사 구조는 내부적으로 일관된) 젊은 여성의 사례다. 핑커는 이 장에서, 언어를 파악하는 능력과 논리·추론을 파악하는 능력은 별개일 수 있음을 지적한다.
복잡성의 층위가 낳는 일관된 추상화 패턴과의 관련: MIT의 Structure and Interpretation of Computer Programs는 바닥부터 원칙 중심으로 주제를 구현하던 방식에서, 방대한 API와 Python을 과학적으로 “활용하는 법”이라는 선물 보따리에 가까운 구성으로 바뀌었다. 이는 Abelson이나 Sussman에 대한 비판이 전혀 아니다. 오히려 교육에 현실을 정확히 반영하려는 통찰과 성실의 결과다. 하드웨어는 너무 복잡해졌고, 이제는 추상화되었다. 운영체제도 추상화의 한 층이고, 프로그래밍 언어도 추상화의 한 층이다. 이제는 언어 자체가 블랙박스일 뿐 아니라 확률적이기까지 하다… 그러니 또 하나의 예측 불가능성 층위가 추가된 셈이다.
다익스트라의 의인화 경계:
Lisp의 저주: 내 다른 글 참조
예전 동료의 말: “범주론은 백마법, AI는 흑마법.” 위의 많은 내용을 간결하게 요약해 준 문장이라 오래 남았다.
인간을 기계로: 다익스트라와 프랭크 허버트가 공통으로 가진 점. 다익스트라는 기계를 의인화하는 것을 맹렬히 비판했지만, 동시에 인간을 기계론적으로, 즉 인간을 기계처럼 대하는 것에도 반대했다. 관점을 뒤집는 재미있는 방식이다.