Skip to content
Park Hyoin
Go back

내가 보려고 만든 공부 방법 — 신기술 학습 5단계 (선행 지식 → 코드 따라치기 → 사례 적용 → 남의 코드 읽기 → 정리)

Edit page

요즘 계속 용어 정리 글과 RAG 관련 공부를 하면서 두 가지 공부 방법 을 적용해봤다.

  1. 용어 정리 + playground 로 공부하기 (UI / DB / API)
  2. 구현한 코드를 따라치면서 결과를 눈으로 보기 (RAG 직접 구현 / RAG 시스템 구축)

둘 다 “눈으로 결과를 보는” 방식 같지만, 나에게 맞는 건 후자 라고 판단했다. 코드를 따라치면서 구현된 부분들이 어떤 의미를 가지는지 계속 묻게 됐고, 결과를 직접 보면서 어떤 곳을 수정해야 할지 고민하게 됐다.

그래서 이 사실을 앞으로의 공부에 적용하려고 한다. 이 글은 다음에 새 기술 배울 때 내가 돌아와서 순서를 확인하기 위한 글이다.

Table of contents

Open Table of contents

내가 생각하는 공부 순서 — 5단계

  1. 신기술을 배우기 위한 선행 지식 습득 (적당히)
  2. 신기술에 대해 코드 구현하면서 배우기
  3. 배운 기술을 실제 사례로 구현해보기
  4. 다른 사람 코드 읽기
  5. 글로 정리

하나씩.

1. 선행 지식 — “적당히” 가 핵심

신기술을 배우기 전에 선행 지식부터. 이번에 RAG 를 배울 때도 바로 RAG 를 구현하지 않고 임베딩, 벡터 DB 같은 것들을 먼저 배운 후 순차적으로 구현 하면서 RAG 가 어떻게 동작하는지 배웠다.

다만, 선수 지식을 너무 깊게 파면 신기술에 대한 공부를 시작도 못하고 기아 상태가 된다. 그래서 신기술을 이해할 때 연계될 수 있을 정도로만 “적당한” 양 의 공부를 하고 넘어가는 편이 좋다.

기준선: “이 개념이 신기술 구현 중 어디서 나올지 예상이 가능한 정도”. 그 이상 깊이는 신기술을 만진 후 필요할 때 돌아와서.

2. 코드 따라치기 — “직접” 의 의미

신기술을 학습할 때 그냥 읽는 게 아니라 코드로 직접 작성해본다.

여기서 “직접” 은 내가 떠올려서 작성한다기보다는 AI 가 뱉는 코드를 단순히 따라치는 것 이겠지만, 따라치는 동안에:

  • 구현 단계에서 어떤 전 단계가 필요한지 보이고
  • 어떤 순서로 해당 기술이 구현되는지 이해되고
  • 차후 더 깊게 공부하고 싶은 분야 가 생긴다

“AI 가 짜준 코드를 그냥 실행” 과 “AI 가 짜준 코드를 직접 타이핑해서 실행” 의 차이는 생각보다 크다. 손가락이 한 번 더 흘러가는 만큼 머리에도 한 번 더 흘러간다.

3. 실제 사례 적용 — “하찮은 목표에 하이엔드 기술”

코드로 구현하면서 신기술이 어떻게 동작하는지 확인했다면, 다음은 실제 데이터나 사례를 가져와서 구현 해본다.

이 단계에서 기획이 필요하긴 하지만, 이 단계도 길게 끌어서는 안 된다. 단순히 학습한 걸 적용해보면서 “이렇게 사용할 수 있겠구나” 감을 익히는 거지, 서비스를 만들어서 유지보수하는 게 목표가 아니다.

→ 그러므로 아주 하찮은 목표를 달성하기 위한 하이엔드급 기술 을 적용하는 그림이 된다. (예: 내 블로그 글 270개를 검색하는 데 RAG + 벡터 DB + LLM 통합 시스템을 동원)

이 프로세스를 거치면 결국 두 가지 코드가 손에 남는다:

  • 신기술 학습용으로 만든 기본 코드 (2단계)
  • 실제 사례에 적용해서 만든 응용 코드 (3단계)

이렇게 두 가지를 거치면 추후 상업적인 수준까지 개발하는 데도 도움이 될 거라고 생각한다.

4. 다른 사람 코드 읽기 — 체화가 부족하다고 느껴질 때

위 과정을 거치면서도 제대로 체화가 안 됐다고 느껴지면 다른 사람들의 코드를 읽어본다.

  • AI 가 적어낸 코드도 내가 적은 게 아니라 읽는 데 도움이 되긴 한다
  • 다만 다른 사람들이 해당 기술을 접목해 만든 실제 서비스의 코드 를 읽었을 때 새로운 insight 가 생길 수 있다고 생각한다

GitHub 의 잘 만든 오픈소스 프로젝트, 또는 같은 도메인에서 일하는 사람들의 공개 코드.

5. 글로 정리 — “필사” 에서 “체화” 로

마지막으로 블로그에 정리.

솔직히 지금까지의 블로그 글은 내가 완벽히 이해해서 적었다기보다는 이해한 것을 따라적는 느낌 이었다. 하지만 이제부터는 다르게:

  • 공부 과정 (1~4 단계) 을 먼저 거친 후
  • 내가 스스로 어떤 내용으로 주제에 대해 적을 것인지 정하고
  • 그 내용을 채워나갈 계획

물론, 모든 기억을 떠올릴 수는 없을 것이다. 그럴 때마다 잠깐잠깐 복습해서 내용을 채워넣되, 지금처럼 내용을 전부 필사하지 않을 것이다.

지금도 아예 복붙은 아니고 내가 마크다운 파일에 내 문장을 만들어서 쓰고 있긴 한데, 체화되는 지식의 양은 그렇게 크지 않다 고 판단된다.

앞으로의 적용 — 학습 글의 주기는 길어질 것

이 방법으로 가면 학습 글의 주기는 길어질 수도 있다. 한 주제에 1~4단계를 모두 거친 후에야 글이 나오게 되니까.

다만:

  • 현재 진행 중인 프로젝트 관련 글 (AGV 시리즈 등) 은 그대로
  • 짤막한 디버깅 글 도 그대로 (한 줄짜리 깨달음이라도)

다음 적용할 신기술 후보

현재 배워야겠다고 생각 중인 것들:

  • LangChain — RAG 통합 프레임워크의 사실상 표준
  • Hermes agent — 오픈소스 에이전트 (NousResearch 의 Hermes 시리즈)
  • 로컬 LLM 구현RAG 시스템 글 회고에서 떠올랐던 아이디어 (Claude/OpenAI 의존도 낮추기 + 비용/검열 대비)

앞으로 구현하면서 더 추가될 거고, 여러 루트로 신기술 키워드를 알아갈 것이다. 그때마다 이 글에 돌아와서 순서를 보고 착실하게.

그래서 이 글의 위치

이 글은 다른 학습 글들과 다르다 — 정보를 전달하는 게 아니라 나에게 보내는 메모. 다음에 새로운 기술 키워드를 만났을 때:

  1. 일단 이 글 다시 열고
  2. 5단계 순서대로
  3. 마지막 5단계에서 또 글로 정리

이 루프가 반복되면 학습이 누적될 거라 생각한다. 6개월 후에 이 방법론이 여전히 유효한지 다시 회고해볼 만한 글이기도 하다.


Edit page