오늘 끝나면
코딩 에이전트의 원리
- ✓코딩 에이전트의 원리의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 코딩이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
LLM + 도구(읽기·쓰기·실행) 루프가 전부임 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
바이브코딩 · 02
코딩 에이전트의
원리
에이전트 = LLM + 도구 루프임.
생각하고 · 도구를 호출하고 · 결과를 보고 · 반복함.
이 한 바퀴가 코딩 에이전트의 전부임.
LLM은 다음 토큰 예측기다
에이전트의 뇌는 LLM임. LLM이 뭘 하냐면, 딱 하나만 함.
지금까지의 글을 보고 다음 토큰을 예측함.
토큰은 글자 조각임. 단어보다 작은 단위로 글을 쪼갠 것임.
LLM은 “포트를 8080으로” 다음에 뭐가 올지 확률로 고름. 그걸 한 토큰씩 이어 붙여 문장을 만듦.
그래서 LLM 혼자서는 파일을 못 읽고 코드를 못 돌림. 글만 이어 씀.
파일을 진짜 만지려면 손이 필요함. 그 손이 다음 칸의 도구임.
포트를 8080으로 ▮
가장 높은 토큰 1개를 골라 이어 붙임 · 반복
에이전트 = LLM + 도구 루프
LLM에 손을 달면 에이전트가 됨. 그 손이 도구(tool)임.
파일 읽기 · 파일 쓰기 · 셸 실행 같은 기능임.
작동은 한 바퀴를 계속 돎.
생각함(think) → 도구를 호출함(act) → 결과를 봄(observe) → 다시 생각함.
이 루프가 핵심임. 한 번에 끝내는 게 아니라, 결과를 보고 다음 행동을 정함.
틀리면 다시 읽고 고침. 다 됐다 싶으면 루프를 멈추고 답을 적음.
채팅 LLM과 코딩 에이전트의 차이가 바로 이 도구 루프임.
포트를 보려면 파일을 읽자
read(config.json)
port: 3000
루프를 직접 돌려보자
오른쪽에서 에이전트 한 바퀴를 손으로 돌려봄.
시킨 일은 “config.json 포트를 8080으로”임.
에이전트는 곧장 답을 못 적음. 지금 파일이 어떤지 모르기 때문임.
그래서 먼저 read로 읽고 · write로 고치고 ·run으로 확인함.
→ 다음 박자를 누를 때마다 think·act·observe가 한 칸씩 진행됨.
도구를 부른 결과(observe)가 다음 생각의 재료가 되는 걸 눈으로 확인하셈.
할 일을 다 하면 루프가 DONE으로 멈춤.
config.json의 포트를 8080으로 바꿔줘
에이전트는 곧장 답을 못 적음. 파일을 읽고·고치고·확인하는 도구 루프를 돌아야 함. 아래 → 다음을 눌러 한 박자씩 돌려 보셈.
아직 호출 없음
컨텍스트 창에 다 담아 추론한다
그럼 에이전트는 뭘 보고 다음 토큰을 고를까?
전부 컨텍스트 창에 쌓인 글을 보고 고름.
컨텍스트 창은 모델이 한 번에 읽을 수 있는 글의 공간임.
시킨 일 · 읽은 코드 · 방금 도구가 돌려준 결과가 전부 여기에 글로 쌓임.
그래서 도구로 파일을 읽으면, 그 내용이 컨텍스트에 들어가 추론의 재료가 됨.
창은 무한하지 않음. 너무 많이 쌓이면 넘침. 그래서 무엇을 담느냐가 품질을 정함.
이 맥락 관리가 다음 강(컨텍스트와 프롬프트)의 주제임.
포트를 8080으로 바꿔줘
{ "port": 3000 }
write → 1 line changed
run grep → "port": 8080
창엔 한계가 있음 · 너무 쌓이면 넘침 → 무엇을 담을지가 품질
스킬 · 하네스 · 멀티에이전트
기본 루프는 하나임. 여기에 장치를 더하면 에이전트가 더 멀리 감.
스킬(skill) — 자주 쓰는 절차를 패키지로 묶어 재사용함. 매번 설명 안 해도 됨.
하네스(harness) — 에이전트를 감싸는 실행 환경임. 어떤 도구를 줄지·권한을 어디까지 줄지 정함.
멀티에이전트 — 큰 일을 쪼개 여러 서브에이전트에 나눠 돌림. 각자 자기 루프를 돎.
전부 다음 강들에서 하나씩 만짐. 지금은 한 가지만 챙기면 됨 — 바닥엔 늘 think·act·observe 루프가 있음.
Q. LLM은 글만 이어 쓰는데, 에이전트는 어떻게 파일 수정·코드 실행까지 하나?
정답은 도구(셸·파일)를 호출하는 루프를 돌기 때문임.LLM 혼자선 다음 토큰만 예측함 / 실제 동작은 못 함.
에이전트는 think로 행동을 정하고, act로 read·write·run 같은 도구를 호출함.
그 결과를 observe로 받아 다시 생각함. 이 루프가 글을 실제 행동으로 바꿈.
전부 다음 강에서 하나씩 만짐