본문 바로가기
Technology&Science/AI

Claude Code 사용기(0): 클로드와 만나기 전, 코딩의 추억

by 양자역학이 좋아 2026. 3. 29.

"빨리 깔끔하게!"

  작년에 30페이지 정도 논문 형식의 레포트를 쓰는 수업을 들으면서 LLM을 처음으로 제대로 써봤는데, 한 때 '지식노동'이라 불렀던 것들이 사실은 '정보노동'에 가까운 것이었다는 걸 좀 생생하게 느꼈다. 지식정보노동의 대표격인 '연구'는 이전에 이뤄놓은 성취를 바탕으로 자신의 아이디어를 가미하여 발전시키는 과정이다. 이를 더욱 빨리 처리하기 위해서는 정보수집에 들어가는 시간을 줄이고, 산출물의 완성에 들이는 시간을 늘려야 한다.

  생각해보면, 엔지니어였던 내게 실제로 엔지니어의 능력을 발휘하는 시간은 '잡일'에 절반 이상 몰두한 후에 남는 시간이었다. 무슨 일을 하든 잡일을 "빨리 깔끔하게" 하는 사람이 일 잘하는 사람인 건 아마 유사이래로 변하지 않는 사실이었을 것 같다.

  일하던 시절 내 장기 중 하나가 코딩이었다. 전산학 전공자만큼은 아니어도 비전공자 치고는 간단한 프로그램을 짜서 남들도 쓸 수 있게끔 만들거나, 회귀분석 정도는 돌리는 것까지 할 줄 알았다. 서비스로 파는 것 말고 로컬에서 돌리는 건 웬만큼은 다 손으로 코드 일일이 짜본 경험이 있다. 내가 대학 다니던 시절엔 그게 경쟁력이라고들 했는데, 정작 회사에 들어가보니 그 쉬운 걸 할 생각을 하는 사람도 생각보다 많진 않았다. 대학 다닐 때 과 생활이 이래서 중요하다는 것이다. 남들이 모르는 건 몰라도 삶에 큰 지장은 없다.

 

Rstudio와 보낸 주말의 깨달음 또는 착각

  대학교 1학년 때 '프로그래밍 기법 실습'이란 수업을 듣고 처음 코딩의 세계에 입문했다. 당시엔 C로 배웠다. 교수님도 신뢰감이 들 수 밖에 없었던 것이, Window를 잘 쓰시지 못했다. 본인은 CLI 창이 편하시다고 하셨다. 그 시절엔 그게 왜 그런지 몰랐으나, 지금 돌이켜 생각해보면 정말 신뢰감 가는 말이다. 그 후에 데이터 엔지니어링이 화두가 되자 Python, R을 배우고 pandas와 같은 시각화 툴을 공부했다. 당시에 데이터 엔지니어링이 인기가 된 배경에는, 전산과 통신 기술의 획기적인 발전 이후  방대한 양의 데이터를 수집하고 입력한 결과 데이터가 꽤 쌓였기에, 그 쌓인 데이터의 가능성이 컸고, 또한 반도체의 발전으로 방대한 양의 데이터라도 압도적인 컴퓨팅 성능으로 처리할 수 있는 시대가 되었기 때문이었다.

  나는 학부 시절 반도체공정실험수업에서 처음 실제로 유용하게 코드를 써봤다. 실험 내용은 실리콘 웨이퍼를 산화시키는 것이었다. 실리콘 표면에 산소를 공급하면 SiO₂, 즉 이산화규소막이 자란다. 반도체 소자에서 이 산화막은 절연체로 쓰이고, 의도한 두께로 정밀하게 제어하는 게 핵심이다. 그런데 막이 두꺼워질수록 산소가 이미 형성된 SiO₂층을 뚫고 들어가야 하니, 시간이 갈수록 성장 속도가 느려진다. 처음엔 빠르게 자라다가 점점 둔화되는 곡선, 이걸 설명하는 게 Deal-Grove Model이다.

  Deal-Grove Model은 1965년에 제안된 모델로, 산화막 두께를 시간의 함수로 나타낸다.(뒤에 Grove는 Intel의 세 거인 중 막내?인 앤드루 그로브 맞다!) 핵심은 두 가지 속도제한 단계다. 초기엔 실리콘 표면에서의 반응 속도가 지배적이고(Linear regime), 시간이 지나면 산소가 이미 쌓인 산화막을 통과하는 확산 속도가 지배적이 된다(Parabolic regime). 이 두 파라미터, Linear rate constant(B/A)와 Parabolic rate constant(B)를 알면 임의의 산화 시간에 대한 막 두께를 예측할 수 있다.

  그런데 교과서 모델과 실험 결과는 달랐다. 60분에서 측정한 실제 산화막 두께가 예측치보다 훨씬 두꺼웠다. 초기 성장 속도가 모델보다 빠른 것이다. 이게 왜인지 분석하는 게 실험 레포트 작성의 기본이다. 아마 조교님이나 교수님의 의도는 엑셀에 데이터 포인트 찍고, 그래프 plot 하고, 눈으로 판단하는 것이었을 것이다. 하지만 그동안 갈고 닦은 R 실력도 발휘할 겸, 직접 parameter를 구해 분석하는 방법을 택했다.

  데이터 분석 전략이 정해졌으니, Deal-Grove Model의 공식에 실험 데이터를 넣어서 우리 실험 조건에 맞는 Linear parameter와 Parabolic parameter를 역으로 구하고자 RStudio의 nls2 패키지를 사용하기로 했다. 그 뒤에 직접 구현하는 것은 코딩을 예제가 아닌 실제 사용해서 무엇인가 유용한 것을 해본 분들이라면 알듯, 구글링 하고, reddit 찾아보고, 패키지 문서 읽고, 돌려보고, 디버깅하고, 다시 고치고의 반복이었다.

  그렇게 주말이 흘러버렸고, 결과를 얻을 수 있었다. Linear parameter가 교과서 값보다 훨씬 크게 추정됐다. Linear constant는 반응 초기에 지배적인 영향을 끼치는 파라미터다. 이게 크다는 건, 초기 산화 속도가 이상적인 단결정 웨이퍼보다 빨랐다는 뜻이다. 웨이퍼 표면의 계면 에너지 상태가 모델이 가정한 것과 달랐을 가능성이 높다는 결론이었다. 양산 단계에서는 아마 이런 parameter를 지속적으로 모니터링하여 각 step 별 이슈를 쉽게 파악할 수 있을 것이다.

  적어도 그 당시엔 분석 전략이 아닌 수행 단계가 '문제 해결능력'이라고 생각했다. 

 

다시 만난 LLM의 섬뜩함

  다시 만난 LLM이 정말로 섬뜩한 건, 내가 2~3시간은 끙끙 앓으면서 '이거 왜 안 돌아가지', '결과값이 이상한데' 하면서 블로그를 뒤지며 완성시킬 시간을, 몇 분으로 줄여준다는 것이다.

  로스쿨에 와서 처음 실감한 건 판례번호 추출 코드를 짜면서였다. 변호사시험이나 각종 실무과목 시험에 늘 최신판례가 나오고 중요하게 다뤄지기 때문에 새로 추가된 판례를 공부하는 건 중요했다. 그러나 판례번호를 일일이 손으로 추려내야 하는 일들이 생겼는데, 나름 Linux 환경에서 일을 했던 터라, 정규식으로 색인하고 출력하면 된다는 판단에 코드를 짜기로 했다. 판례 공부할 때 Perplexity 쓸 때만 해도 할루시네이션을 막고 요청한 것 정확하게 수행할 수 있도록 프롬프트를 짜는 게 중요했지만, 이번엔 그냥 판례번호 정규식 만들어달라고 했다. 물론 처음부터 제대로 결과물을 내진 못했으나, 디버깅까지 해서 구현하는데 30분도 걸리지 않았다. 이제 대략적인 flow 계획만 짤 수 있으면 코드 작성 단계에서 블로그를 직접 뒤져볼 필요도 없는 시대가 온 것이다.

 

List_Extractor.zip
0.02MB

위 판례추출 프로그램 사용법은 간단하다. 추출 대상이 되는 원본 텍스트를 input.txt로 저장하고, list_extractor.py를 실행하면 끝. 개인용으로는 package도 깔고, pdf, hwp, word 직접 읽어들이는 방식으로 만들었는데, 배포용으로 만드는 걸 할 줄 몰라서 그냥 python만 설치되어 있어도 되도록 만들었다. 정말 python만 설치되어 있으면 된다.(근데... 이게 보통 안되어있더라...)

 

  물론 코딩을 해본 사람이 도움도 잘 받겠고, 조금 할 줄 알던 사람이 갑자기 개발자가 되는 일은 없다. 하지만 일정 수준의 정보노동 스킬셋의 허들이 갑작스레 낮아진 건 사실이다. 이제 이력서에 Python이나 R로 뭐 해봤다는 말은 자랑도 아니다. 그런 거 할 시간에 한컴타자연습 산성비나 한 판 더 해야한다. 경험하면 경험할수록, 한 때 '3차 산업혁명'이라고 불렸지만 혁명은 무슨, 휘황찬란한 스펙타클만 있었지 내용은 없었던 그 이름이 사라지고 나서야 진짜 혁명다운 혁명이 뒤늦게 도래하고 있다는 확신이 더해진다. 이따금 AI의 할루시네이션이 위험하다는 이야기들이 있는데, 사실 그냥 웃고 넘어갈 이야기다. 인터넷이 처음 나왔을 때도 낚시성 정보에 당하는 분들이 있었다. 내가 기억하는 한, 한국 사회에 인터넷이 처음 등장한 시점은 2024년이 절대 아니었는데, 아직도 가짜 정보에 우리는 늘 속는다.

 

그래서 Claude Code

  그냥 Perplexity의 search 능력만으로도 1차로 충격을 먹었지만, Claude Code는 더하다. 알아서 코드를 수정해주고, github에 push 해주고 내가 수동으로 직접 해야하는 영역까지 알려준다. 아직까진 현업 경험이 없으니, 사실 법률서비스업의 본질이 무엇이고, 어떻게 변할 것이다라고 관망하기는 조금 어려울 것 같다. 다만, 일상에서의 불편이나 needs를 조금씩 Claude Code를 사용해서 해결해보고 있다. 예제 느낌으로 스스로 해본 프로젝트들이 좀 있는데 이를 정리하는대로 조금씩 올리면서 시행착오들을 정리해볼 예정이다.(유튜브 숏츠에 나오는 것처럼 딸깍으로 바로 쓸만한 게 나오는 게 아니다. AI와 대화하는 방법을 익혀야하는 것 같다) 개인적인 오답노트이기도 하지만, 이제 정말 누구나 코딩을 할 줄 알아야 하는 시대에, 나처럼 처음으로 코딩에 입문하는 친구들에게 도움이 되었으면 좋겠다.