안드레이 카파시(Andrej Karpathy)가 자신이 LLM(Large Language Model, 대규모 언어 모델)을 쓰는 방식을 소개한 영상의 요점이다. LLM을 "인터넷을 손실 압축한 확률적 압축 파일"에 비유하며, 이 성질을 알고 쓰면 더 잘 쓸 수 있다고 말한다.
LLM이 아는 것
- 사전 학습(pre-training): 인터넷 문서로 세상 지식을 파라미터에 담는다. 학습 시점 이후의 일은 모른다
- 사후 학습(post-training): 대화 데이터로 조정해 어시스턴트처럼 답하게 만든다
- 강화 학습(Reinforcement Learning)으로 다듬은 추론(thinking) 모델: 답하기 전에 오래 생각해 수학·코드 문제에서 정확도가 높다
배경은 AI·머신러닝·딥러닝·LLM의 관계에서 다룬다.
기본 습관
- 주제가 바뀌면 새 대화를 연다: 대화는 계속 쌓이는 토큰 흐름(컨텍스트 윈도우, Context Window)이다. 관계없는 앞 내용이 답을 흐리고 느리게 만든다
- 어떤 모델인지 알고 쓴다: 무료나 작은 모델은 성능이 떨어진다. 어려운 문제에는 추론 모델을 쓰고, 중요하면 여러 모델에 같은 질문을 해 비교한다
- 답은 초안이다: 환각(Hallucination)이 없다고 가정하지 말고 검증한다 → AI 시대 변경에 대한 책임 질문
- 시간이 지나도 변하지 않는 지식을 묻는 데 강하다. 최신 정보는 검색 도구를 붙여 쓴다
도구와 함께 쓰기
- 검색, 딥 리서치(Deep Research): 최신 정보를 컨텍스트로 넣는다
- 코드 실행: 계산이나 데이터 분석은 모델이 직접 코드를 짜서 돌리게 한다. 코드가 틀렸을 수 있다는 점은 기억한다
- 파일 업로드: 논문이나 책 일부를 넣고 질문하며 읽는다 → AI로 학습하기
- 커스텀 지시, 메모리, 예시(few-shot)를 담은 맞춤 설정: 반복되는 프롬프트를 줄인다. 에이전트에게 지침 파일을 주는 것과 같은 생각이다 → 프론티어 팀의 습관
코딩 에이전트에서 토큰이 새는 곳
에이전트와 오래 일하면 컨텍스트가 생각보다 빨리 찬다. 대화 기록에는 내 질문과 답뿐 아니라 모든 도구 입력과 출력이 쌓이기 때문이다 → 에이전트 루프
| 새는 곳 | 대응 |
|---|---|
| 큰 파일 통째로 읽기(스냅숏, 생성 파일, 긴 로그) | 구조만 보면 되면 앞부분이나 필요한 범위만 읽고, 검색으로 위치부터 찾는다 |
| 같은 파일 여러 번 다시 읽기 | 수정 결과 확인은 전체 재독 대신 짧은 검색이나 테스트로 한다 |
| 장황한 명령 출력, 도구 호출마다 붙는 훅 메시지 | 출력을 줄이는 옵션을 쓰고, 매번 반복되는 알림은 줄인다 |
| 서브에이전트가 돌려준 긴 보고서 | 결론만 짧게 돌려 달라고 한다. 단계를 여러 번 거치는 무거운 계획 워크플로는 남은 결정이 단순하면 생략한다 |
| 항상 실리는 것: 시스템 프롬프트, 도구 정의, 지침 파일, 스킬 목록 | 지침은 짧게, 쓰지 않는 도구·서버는 끈다 → 에이전트 컨텍스트 파일 (AGENTS.md·스킬·메모리) |
| 긴 본문을 매번 새로 쓰기(PR 설명 등) | 파일에 한 번 쓰고 재사용한다 |
반복 작업이 많은 일은 서브에이전트에게 넘기면 메인 컨텍스트에는 요약만 남는다. 다만 서브에이전트도 자기 컨텍스트를 새로 채우므로 비용이 없어지는 것은 아니다 → 하네스 엔지니어링
출처: How I use LLMs Andrej Karpathy (제품·기능 이름은 2025 기준) · How the agent loop works: The context window Claude Agent SDK 문서