검색 개발자에서 LLM개발자로

Little_Machine_Human_·2024년 12월 28일

내가 개발을 막 배우기 시작한 시점에서는 개발은 무조건 검색이었다.
아마 그 이전 개발 선배님들은 책으로 하셨을 것이고...

기계인간 팀장님께서 해주시 말로는 검색사이트는 '구글'이고
나머지 네이버,다음같은것들은 검색사이트가 아니라고 알려주셨다.

추가적으로 구글에서도 나오지 않는 것들은 바이두같은곳에서 찾아보기도했다.


당시에는 위와 같은 보라색? 표기가 공부의 증거였다.
항상 무언가 동작이 되지 않을 때, 기계인간 팀장님에게 가면
먼저 검색내용을 확인하셨다. 그리고 저기에 파란색이 하나라도 있으면
그날 욕이란 욕은 엄청나게 먹었다.

추가적으로 검색하는 방식이나, 방법론들도 같이 알려주셨었는데, 그렇게 검색을 검색내역을 신기하게도 나오긴 나오더라. 검색결과도 몇 가지로 추려지는데


난이도 하

  • 나와 완벽하게 같은 문제를 가진 사람 그리고 해결법
    - 대부분 공식적인 버그들이나, 대중적으로 알려진 문제들
    Xcode버전문제, 리사이클러뷰 예제 등
    - 아키텍처, 디자인패턴 등

난이도 중

  • 나와 비슷한 문제를 가진 사람과 그리고 해결법
    - 위 문제를 기반으로 해서 조금 변형을 주거나, 합쳐야 하는 문제들
    나 같은 경우는 Android+WebRTC+OpenCv+TCP/IP를 합치던 문제나
    iOS에서 Unity를 Build 시킬 때 얼굴 감지를 위한 FaceMesh생성을 하는데 초기 위치값을 잡지 못하거나, 아니라고 최적화가 필요한 경우 정말 고생을 많이 했다.

난이도 상

  • 새롭게 나온 최신 기술들
    - 블록체인이나, web3, 나오지 않는 것들은, 트랜스포머와 같은 최신기술들을 적용해서 실 서비스를 구현하는 문제
  • 논문을 봐야 하는 기술들
    - 2D Image를 3D Object로 만드는 기술인데 지금은 조금 많은 방법이 나오지 않는 것들은 정말 자료가 논문밖에 없었다. 논문 내에서는 Image에서 추출한 Depth, 벡터, 나오지 않는 것들은.. 등등 어려운 단어들을 하나하나 검색해야 한다. 추가로 필요하면 대학수학도 공부를 해야 했었다..

그냥 내 경험에 따른 검색 난이도였던 거 같다.
하지만 위 방식은 난이도가 올라갈수록 시간이 기하급수적으로 많이 드는 방식이지만, 장점으로는 부가적인 정보의 긁어 부스럼 덕분에 지식이 같이 늘어난다.
예를 들어,

HTTP3를 공부했을 때는 먼저 HTTP가 뭔데? ->
HTTP0.9부터 시작되어서 역사공부 ->
HTTP구조는 뭔데? ->
그럼 통신할 때 Header에는 어떤 비트가 들어가고, 각 비트가 어떻게 연결되는지.. ->
HTTP1.1과 HTTP 2.0과 3.0의 차이 ->
그럼 퀵 프로토콜은 UDP인데 어떻게 통신에서 신뢰성을 보장할 수 있는지? -&gt Prove를 보낸다네.. 그건 또 뭔데? ->
아 데이터를 처음 보낼 때 이런 데이터가 올 거라는걸 한 번에 보내니깐 그 이후로는 데이터를 확인만 하면 handshakes를 줄일 수 있겠구나!
-> 실험해보자!
-> 어 생각보다 느린데..? 이유가 뭐지.. ->
CPU 사용률이나 Ram 사용률이 진짜 높구나..

이런식으로 생각의 꼬리의 꼬리를 물면서 정보의 긁어 부스럼이 나를 만드는 것 같다.
물론 저건 그냥 간략하게 나타낸 거고 그 사이사이에 있었던 이슈들까지 생각해보면 음... 여기에 다 쓸 내용은 아닌 거 같다.

그러면 2024년 12월 말에 지금의 나는 어떻게 개발하는가?

  1. 기능 개발해주세요
  2. 예 -&gt claud 켜기
  3. "해줘"

여기서 추가로 예외처리를 덧붙여 말해보자면

  1. 기능 개발해주세요
  2. 예 -&gt claud 켜기
  3. "해줘"
  4. 할루시네이션...
  5. 안됨
  6. Prompt 변경 또는 window context를 초기화해서 다시 재질문
  7. 3번 반복

대부분의 문제는 위처럼 귀결되었다. 물론 검색의 3번처럼 매우 어려운 내용이거나, 프로젝트의 크기가 엄청나게 크거나, 최신기술은 잘 대답하지 못하는 경우가 많다. 결국은 LLM이 학습하지 못하는 최신데이터는 직접 검색하고 찾아보는 수밖에 없다. 대부분 기존의 검색 개발자들은 1번과 2번을 잘해서 개발로 밥을 벌어 먹고살 수 있었더라면, 지금은 1번과 2번은 Claud나 ChatGPT가 훨씬 더 잘한다. 앞으로는 더 잘해질 것이다. 결국은 3번도 대체될 수 있을지도..? Search GPT와 추론모델이 합쳐진다면... 뭐 이건 ing이니깐

결국은 뭐가 됐건 할루시네이션은 아직 고치기엔 힘든 문제고,
내가 공부한 내용으로는 100%할루시네이션을 막을 방법은 없다.
따라서 LLM을 이용하면서 새로운 창의적으로 트러블슈팅이나, 생산성을 높이는 방법이 있을 것이다.

Cluad,Chatgpt,Gemini는 팀원들이고 그리고 팀원들에게 명령을 내리는 건 선장이다. 그 선장은 곧 나고, 배가 산으로 가든, 목적지로 가든, 그 문제는 분명 선장의 재량일 것이다.

책 ->인터넷 검색 -> LLM 으로 정보를 습득하는 패러다임이 변경된다고 해도,
서비스를 만들거나 문제를 해결하는 본질은 변경되지 않을 것이다.
라는게 지금의 내 생각이다.

profile
while(true){ 가족(); 건강(); 자기개발(); }

0개의 댓글