스킬캠퍼스
2강 · 코딩 에이전트의 원리
강의

오늘 끝나면

코딩 에이전트의 원리

  • 코딩 에이전트의 원리의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 코딩이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

LLM + 도구(읽기·쓰기·실행) 루프가 전부임 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

바이브코딩 · 02

코딩 에이전트의
원리

에이전트 = LLM + 도구 루프임.
생각하고 · 도구를 호출하고 · 결과를 보고 · 반복함.
이 한 바퀴가 코딩 에이전트의 전부임.

P.01바이브코딩 · 02

LLM은 다음 토큰 예측기다

에이전트의 뇌는 LLM임. LLM이 뭘 하냐면, 딱 하나만 함.
지금까지의 글을 보고 다음 토큰을 예측함.

토큰은 글자 조각임. 단어보다 작은 단위로 글을 쪼갠 것임.
LLM은 “포트를 8080으로” 다음에 뭐가 올지 확률로 고름. 그걸 한 토큰씩 이어 붙여 문장을 만듦.

그래서 LLM 혼자서는 파일을 못 읽고 코드를 못 돌림. 글만 이어 씀.
파일을 진짜 만지려면 손이 필요함. 그 손이 다음 칸의 도구임.

입력 글 → 다음에 올 토큰 한 개
다음 토큰 예측기
지금까지의 글 (입력)

포트를 8080으로

다음 토큰 후보 (확률)
8080
71%
바꿈
14%
설정
9%
서버
6%

가장 높은 토큰 1개를 골라 이어 붙임 · 반복

P.02바이브코딩 · 02

에이전트 = LLM + 도구 루프

LLM에 손을 달면 에이전트가 됨. 그 손이 도구(tool)임.
파일 읽기 · 파일 쓰기 · 셸 실행 같은 기능임.

작동은 한 바퀴를 계속 돎.
생각함(think) → 도구를 호출함(act) → 결과를 봄(observe) → 다시 생각함.

이 루프가 핵심임. 한 번에 끝내는 게 아니라, 결과를 보고 다음 행동을 정함.
틀리면 다시 읽고 고침. 다 됐다 싶으면 루프를 멈추고 답을 적음.
채팅 LLM과 코딩 에이전트의 차이가 바로 이 도구 루프임.

think → act → observe · 반복
도구 루프 · think → act → observe
THINK다음에 뭘 할지 정함

포트를 보려면 파일을 읽자

ACT도구를 호출함

read(config.json)

OBSERVE결과를 관찰함

port: 3000

다 될 때까지 이 바퀴를 반복
P.03바이브코딩 · 02

루프를 직접 돌려보자

오른쪽에서 에이전트 한 바퀴를 손으로 돌려봄.
시킨 일은 “config.json 포트를 8080으로”임.

에이전트는 곧장 답을 못 적음. 지금 파일이 어떤지 모르기 때문임.
그래서 먼저 read로 읽고 · write로 고치고 ·run으로 확인함.

→ 다음 박자를 누를 때마다 think·act·observe가 한 칸씩 진행됨.
도구를 부른 결과(observe)가 다음 생각의 재료가 되는 걸 눈으로 확인하셈.
할 일을 다 하면 루프가 DONE으로 멈춤.

한 박자씩 think·act·observe
에이전트 루프 · 한 스텝씩 돌려보기
시킨 일

config.json의 포트를 8080으로 바꿔줘

THINACTOBSE
THINK
생각
ACT
도구 호출
OBSERVE
결과 관찰
STEP — 시작 전

에이전트는 곧장 답을 못 적음. 파일을 읽고·고치고·확인하는 도구 루프를 돌아야 함. 아래 → 다음을 눌러 한 박자씩 돌려 보셈.

누적 도구 호출 · 0

아직 호출 없음

P.04바이브코딩 · 02

컨텍스트 창에 다 담아 추론한다

그럼 에이전트는 뭘 보고 다음 토큰을 고를까?
전부 컨텍스트 창에 쌓인 글을 보고 고름.

컨텍스트 창은 모델이 한 번에 읽을 수 있는 글의 공간임.
시킨 일 · 읽은 코드 · 방금 도구가 돌려준 결과가 전부 여기에 글로 쌓임.

그래서 도구로 파일을 읽으면, 그 내용이 컨텍스트에 들어가 추론의 재료가 됨.
창은 무한하지 않음. 너무 많이 쌓이면 넘침. 그래서 무엇을 담느냐가 품질을 정함.
이 맥락 관리가 다음 강(컨텍스트와 프롬프트)의 주제임.

시킨 일 · 코드 · 도구 결과 → 한 창
컨텍스트 창 — 모델이 한 번에 읽는 글
시킨 일

포트를 8080으로 바꿔줘

읽은 코드

{ "port": 3000 }

도구 결과

write → 1 line changed

도구 결과

run grep → "port": 8080

이 글 전체를 보고 다음 토큰 추론

창엔 한계가 있음 · 너무 쌓이면 넘침 → 무엇을 담을지가 품질

P.05바이브코딩 · 02

스킬 · 하네스 · 멀티에이전트

기본 루프는 하나임. 여기에 장치를 더하면 에이전트가 더 멀리 감.

스킬(skill) — 자주 쓰는 절차를 패키지로 묶어 재사용함. 매번 설명 안 해도 됨.
하네스(harness) — 에이전트를 감싸는 실행 환경임. 어떤 도구를 줄지·권한을 어디까지 줄지 정함.

멀티에이전트 — 큰 일을 쪼개 여러 서브에이전트에 나눠 돌림. 각자 자기 루프를 돎.
전부 다음 강들에서 하나씩 만짐. 지금은 한 가지만 챙기면 됨 — 바닥엔 늘 think·act·observe 루프가 있음.

Q. LLM은 글만 이어 쓰는데, 에이전트는 어떻게 파일 수정·코드 실행까지 하나?정답은 도구(셸·파일)를 호출하는 루프를 돌기 때문임.
LLM 혼자선 다음 토큰만 예측함 / 실제 동작은 못 함.
에이전트는 think로 행동을 정하고, act로 read·write·run 같은 도구를 호출함.
그 결과를 observe로 받아 다시 생각함. 이 루프가 글을 실제 행동으로 바꿈.
루프를 키우는 세 가지 장치
기본 루프를 키우는 장치
think · act · observe 루프바닥엔 늘 이게 있음
스킬자주 쓰는 절차를 패키지로
재사용
하네스도구·권한을 정하는 실행 환경
감싸기
멀티에이전트일을 쪼개 서브에이전트로
팬아웃

전부 다음 강에서 하나씩 만짐

3줄 요약

  1. 1LLM + 도구(읽기·쓰기·실행) 루프가 전부임
  2. 2코딩 에이전트의 원리은 에이전트 원리 → 도구·권한 → 스킬·하네스 → 멀티에이전트 → 실전 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

코딩

LLM + 도구(읽기·쓰기·실행) 루프가 전부임

에이전트

스스로 도구를 써가며 일하는 LLM 프로그램

도구

에이전트가 호출하는 기능(파일·실행·검색)