밤 11시, 당신은 AI 채팅창 앞에 앉아 있다. "주말에 갈 만한 근교 등산 코스 추천해줘." 답이 온다. 그런데 난이도가 안 맞는다. "초보용으로." 다시 답이 온다. "근처에 카페도 있으면 좋겠어." 또 다시. "아, 지난번에 간 곳 말고." 어느새 당신은 AI에게 일을 시키는 게 아니라, AI를 붙잡고 한 걸음씩 끌고 가고 있다.

이상하지 않은가. 분명 똑똑하다는데, 왜 매번 내가 잘게 쪼개서 떠먹여야 하지? 왜 "알아서 좀 해줘"가 안 되지?

🌱 이 글은 ★☆☆ 가볍게 맛보기필요한 건 브라우저 하나. 설치도, 회원가입도, API 키도 없습니다. 읽다가 옆의 데모로 손이 가도록 설계했으니, 읽기와 해보기를 오가며 따라오세요.

빌리고, 들이고, 이제는 스스로 돌게 한다

지난 두 호에서 우리는 AI를 손에 쥐는 법을 배웠다. Vol.1에서는 남의 서버를 빌려서(클라우드 API) 나만의 도구를 만들었고, Vol.2에서는 그 엔진을 통째로 내 노트북에 들였다(설치형 로컬 AI). 빌리든 들이든, 손에 쥔 건 분명한 진전이었다.

그런데 빌린 AI든 들인 AI든, 그때까지는 똑같은 방식으로 움직였다 — 한 번 묻고, 한 번 답한다. 다음 걸음은 언제나 내 몫이었다.

우리는 AI를 '자판기'처럼 다뤄왔다

생각해보면 우리는 AI를 자판기처럼 써왔다. 동전(질문)을 넣으면 캔(답) 하나가 툭 떨어진다. 더 필요하면? 동전을 또 넣는다. 자판기는 "이 사람 목마르겠네, 하나 더 챙겨줄까?" 하고 스스로 고민하지 않는다. 내가 누른 만큼만, 딱 한 번씩 반응한다.

이게 지금까지의 상식이다. 그리고 대부분은 이게 AI의 전부라고 생각한다. 목표를 이루려면 내가 계획을 짜고, 단계를 나누고, 중간중간 판단해서, 매번 새 동전을 넣어야 한다고. 아까 그 등산 코스 대화처럼.

그런데 만약, 자판기가 아니라면? 동전 한 번에 캔 하나가 아니라 — 목표 하나만 던졌을 뿐인데, 아무도 다음 버튼을 안 눌렀는데, 혼자 여러 번 돌아서 알아서 해내는 기계라면?

믿기 어려울 것이다. 솔직히 나도 그랬다. 그러니 말로 설득하지 않겠다. 직접 던져보라.

🔧 지금 해보기 ACT-1-hello-loop ★☆☆ · 첫 성공 보장

바로 아래 상자에 목표를 한 줄 던지거나(예시 칩을 눌러도 된다), 그냥 [▶ 에이전트 풀어주기]를 눌러보라. 설치도, 회원가입도, 키도 필요 없다 — 이미 거기 있다. 화면 한가운데 바퀴 카운터가 1→2→3으로 올라가고, 매 바퀴 💭 생각 → 🔧 도구 → 👁 관찰이 흐르는 걸 60초만 구경하면 된다. 그리고 아무도 안 시켰는데 에이전트가 스스로 멈추는 순간을 놓치지 마시라.

브라우저 내장 실행 · 설치·키·가입 0. 기본 경로는 결정적 시뮬레이션이라 어떤 기기에서도 여러 바퀴 도는 걸 확실히 보여줍니다(진짜 브라우저 LLM은 상자 안 실험 버튼으로 옵트인).ACT-1-hello-loop

방금 본 그것, 이름이 있다

봤는가? 카운터가 1에서 멈추지 않았다.

당신은 목표를 딱 한 번 던졌다. 그런데 AI는 한 번 답하고 손을 놓는 대신, 스스로에게 물었다. "이만하면 됐나? 아니, 아직 부족해. 한 바퀴 더 돌자." 그렇게 두 바퀴, 세 바퀴를 돌더니, 어느 순간 스스로 "이제 됐어, 목표 달성"이라 판단하고 멈췄다. 아무도 다음 질문을 넣어주지 않았는데도.

방금 화면에서 벌어진 일에는 이름이 있다. 에이전틱 루프(agentic loop)다. 어렵게 들리지만 뜯어보면 네 박자짜리 리듬이 전부다.

  • 💭 생각 — 목표를 이루려면 다음에 뭘 해야 하지?
  • 🔧 도구 — 그걸 실제로 해본다(검색하고, 정리하고).
  • 👁 관찰 — 해보니 결과가 어떤가?
  • 🔁 다시 — 아직 부족하면 처음으로 돌아가 또 생각한다.

영어로는 think → act → observe → repeat. 이 네 박자를 스스로 반복하는 것 — 그게 자판기와 에이전트를 가르는 전부다.

그리고 진짜 핵심은 마지막 판단에 있다. 매 바퀴 끝에서 에이전트는 저울질한다. "목표에 닿았나?" 아니면 한 바퀴 더 돌고, 맞으면 스스로 멈춘다. 당신이 방금 목격한 그 "스스로 멈춤"이 바로 이 저울질의 결과다. 자판기는 이 저울질을 안 한다. 에이전트는 한다. 차이는 그거 하나다.

💡 더 깊이 — ReAct: 관찰이 다음 생각으로 되먹인다 개념

이 '생각하고 → 행동하고 → 그 결과를 보고 다시 생각하는' 패턴에는 ReAct(Reasoning + Acting, 추론과 행동을 번갈아 하기)라는 이름이 붙어 있다. 핵심은 관찰이 다음 바퀴의 입력으로 되먹임된다는 것이다. 1바퀴에서 찾은 걸 2바퀴가 이어받고, 2바퀴 결과를 3바퀴가 다시 딛는다. 그래서 바퀴가 돌수록 에이전트가 쥔 맥락(context)이 점점 불어난다 — 이게 왜 중요한지는 다음 편에서 본격적으로 만진다.

데모 상자 아래에 깔린 코드에는 딱 한 줄, 이런 뜻의 문장이 있다. "목표에 아직 도달하지 못했고, 상한에도 안 닿았으면 → 한 바퀴 더 돈다." 이 한 줄이 자판기를 에이전트로 바꾼다. 스스로 도는 AI의 심장은, 놀랍게도 이렇게 단순하다.

정직하게 — 방금 그거, 진짜였을까?

솔직히 밝히겠다. 방금 당신이 본 기본 데모는 시뮬레이션이다. 매 바퀴의 '생각'과 '도구 결과'는 미리 준비한 대본을 따라 흐른다.

왜 그렇게 만들었을까? 어떤 기기에서 열든, 인터넷이 느리든, WebGPU 같은 게 없든, 누구나 반드시 여러 바퀴 도는 걸 보게 하려고. 첫 만남에서 "어, 나는 안 도는데?"로 튕기는 사람이 한 명도 없게.

다만 속지는 마시라. 대본인 건 대사(생각·도구 결과)뿐이고, 루프의 뼈대 — 돌지 말지 매 바퀴 스스로 판단하는 그 구조 — 는 진짜 에이전트와 똑같다. 그래서 "스스로 멈춤"은 미리 녹화된 애니메이션이 아니라 그 자리에서 내려진 진짜 판단이다.

진짜 AI가 매 바퀴 생각을 즉석에서 지어내는 걸 보고 싶다면, 상자 아래 [🧠 진짜 브라우저 LLM으로 생각 채우기] 버튼을 눌러보라. 당신 브라우저 안의 작은 AI가 직접 생각을 써 내려간다(기기가 지원할 때). 같은 목표를 다시 던지면 매번 다른 생각이 나오는 걸 확인할 수 있다.

스스로 도는 힘에는, 스스로 멈추는 장치가 딸려온다

눈치 빠른 독자는 벌써 불안할 것이다. 스스로 도는 게 좋기만 할까? 만약 에이전트가 "됐어, 그만"이라는 판단을 영영 안 내리면? 끝없이 돌면서 검색하고 또 검색하면?

그래서 데모 위쪽에 "🛡 안전 상한 6바퀴"라는 빨간 선이 그어져 있다. 무슨 일이 있어도 6바퀴를 넘으면 강제로 멈춘다. 스스로 도는 힘을 준다는 건, 곧 스스로 멈추는 장치도 함께 채워야 한다는 뜻이다. 왜 이 안전벨트가 선택이 아니라 필수인지는 이번 호 뒤쪽에서 일부러 폭주하게 만든 루프를 직접 돌려보며 만진다(4편). 지금은 이 감각 하나면 충분하다 — 도는 힘과 멈추는 힘은 한 세트다.

마치며 — 구경은 끝났다

오늘 당신은 상식 하나를 깼다. AI는 자판기가 아니다. 적어도, 자판기이기만 한 건 아니다. 목표 한 줄을 던지면, 스스로 계획하고 도구를 쓰고 결과를 보고 다시 도는 — 그런 물건이 이미 당신 브라우저 탭 안에서 돌고 있었다.

밤 11시에 AI를 한 걸음씩 끌고 다니던 그 피로, 기억나는가. 스스로 도는 AI는 그 피로의 반대편에 있다. 목표만 건네고, 나는 지켜본다. 낯설지만, 묘하게 후련하다.

그런데 저 상자 안, 카운터가 도는 동안 정확히 무슨 일이 벌어진 걸까? '생각'은 어떻게 다음 '도구'를 부르고, '관찰'은 어떻게 다음 바퀴로 흘러 들어갈까? 다음 편 〈루프 안에서 무슨 일이 벌어지나〉에서 이 루프를 X-레이로 열어, 한 바퀴씩 직접 스텝을 밟으며 뜯어본다. 구경은 끝났다. 이제 해부할 차례다.