학습 목표(Achievement Goals)
에이전트 루프 이해
컨텍스트 수집, 작업 수행, 결과 검증의 3단계 과정
내장 도구 이해
파일 작업, 검색, 실행, 웹, 코드 인텔리전스 5가지 범주
Claude Code가 프로젝트와 상호작용하는 방식 이해
프로젝트 파일, 터미널, git 상태, CLAUDE.md, 자동 메모리 등에 대한 접근
세션 관리
세션 재개, 포크, 컨텍스트 윈도우 관리 방법
안전 메커니즘
체크포인트와 권한 시스템 이해
효과적인 사용법
대화형 접근, 구체적인 프롬프트 작성, 위임 방식
에이전트 루프란?
AI가 혼자서 작업을 계속 해 나가는 반복 과정을 일컫는다. Claude에게 작업을 주면 컨텍스트 수집, 작업 수행, 결과 검증의 세 단계를(반복적으로) 거친다.
컨텍스트 수집: 코드, 파일을 읽고 상황 파악
작업 수행: 파일 편집, 명령 실행 등 실제 작업
결과 검증: 테스트 실행 등으로 작업이 잘 됐는지 확인
이 세 가지 단계는 함께 진행이 되며, 이것을 에이전트 루프라고 부른다. 이 세 단계는 필요할 때까지 자동으로 반복된다. 사용자의 명령으로 인해(Claude에게 작업을 줬기 때문) 돌아가는 루프이기에, 사용자또한 이 루프의 일부이다.
사용자는 이 루프를 언제든 중단하거나 방향을 바꿀 수도 있다.
이러한 에이전트 루프를 움직이게 하는 두 가지 핵심이 있는데, 모델(model / 추론하는 역할)과 도구(tool / 작용하는 역할)이다.
모델 : 무엇을 해야 하지? 추론하여 생각
도구 : 해야 할 것에 대한 실행
Claude Code는 이 두 가지를 묶어 주는 하네스(harness) 역할을 한다.
하네스란 말 그대로 묶음 장치인데, Claude(LLM 언어 모델)이 혼자서 생각하고 대화한다면, Claude Code가 실행 환경을 제공하고, 컨텍스트를 관리하며 도구를 붙여 준다.
단순하게 대화만 하는 Claude를 실제로 개발할 수 있는 에이전트로 만든다.
그림으로 보는 정리
Claude Code (에이전트 하네스)
├── Claude LLM (두뇌 - 추론/판단)
└── 도구들 (손발 - 실제 행동)
├── 파일 작업
├── 검색
├── 실행
├── 웹
└── 코드 인텔리전스Claude Code는 Claude와 도구를 이어주는 하네스이다.
모델
Claude Code는 Claude.ai 모델(LLM)을 생각하는 뇌로 여긴다. 즉, 코드를 이해하고 작업에 대해 추론한다. Claude는 언어를 비롯한 구성 요소 연결, 목표 달성에 대한 코드 작업 등을 파악할 수 있기 때문이다. 요구한 작업이 복잡해지면 스스로 작업을 단계별로 나누어 실행하고 조정할 수도 있다.
또한! 하나의 모델이 아닌 여러 모델을 사용할 수 있으며, 각각의 장단점이 있다.
Sonnet : 코딩 작업에 탁월
Opus : 복잡한 아키텍처 결정
*세션 중 /model로 전환하거나 claude --model <name>으로 모델을 변경하거나 시작할 수 있음.
도구
도구가 없으면 Claude Code는 텍스트로만 대화할 수 있다. 대화 이외의 여러 가지로 상호 작용을 하기 위해서는 도구가 필요하다.
Claude Code는 다섯 가지(로 보통 분류되는) 주요 내장 도구가 있으며, 각각은 다른 종류의 에이전시를 나타낸다.
파일 작업 : 파일 읽기 / 코드 편집 / 새 파일 생성 / 이름 변경 및 재구성
검색 : 패턴으로 파일 찾기 / 정규식으로 콘텐츠 검색 / 코드 베이스 탐색
실행 : 셸 명령 실행 / 서버 시작 / 테스트 실행 / git 사용
웹 : 웹 검색 / 문서 가져오기 / 오류 메시지 조회
코드 인텔리전스 : 편집 후 타입 오류 및 경고 확인 / 정의로 이동 / 참조 찾기 *코드 인텔리전스 플러그인 필요
이외에도 subagents를 생성하거나, 다른 오케스트레이션 작업을 위한 도구 등 많은 툴을 가지고 있다.
해당 도구들은 아주 기초이고, 이것을 잘 활용한다면 skills로 Claude에게 지식을 주입하고, MCP로 외부 서비스와 연결하고, hooks으로 자동화, subagents로 작업을 위임할 수 있다.
Claude가 접근할 수 있는 것
기본적으로 터미널 디렉토리에서 claude를 실행하거나, VS code 등 IDE에서 claude를 실행하면 접근할 수 있는 것은 다음과 같다.
프로젝트 : 해당 프로젝트의 모든 디렉토리, 파일들. +) 허가를 받았다면 다른 곳의 파일도 읽을 수 있음.
터미널 : 실행할 수 있는 모든 명령이 가능. 빌드 도구, git, 패키지 관리자 등 명령줄에서 할 수 있는 모든 것.
git 상태 : 현재 브랜치, 커밋 기록, 변경 사항 등.
CLAUDE.md : 프로젝트별 지침, 규칙, 컨텍스트를 저장하는 md 파일.
자동 메모리 : 작업하면서 자동으로 저장하는 학습 내용이 MEMORY.md에 저장되며, 첫 200줄이 각 세션 시작 시 로드됨.
확장된 구성들 : MCP servers, skills, subagents, Claude in Chrome 등.
Claude는 전체 프로젝트를 보기 때문에 전체 프로젝트에서 작업이 가능하다. 현재 파일만 보는 인라인 코드 어시스턴트와 다르다.
환경 및 인터페이스
에이전트 루프, 도구, 기능은 Claude Code를 사용하는 곳이라면 전부 동일하게 사용 가능하다.
다만 코드가 실행되는 위치, 상호작용하는 방식이 다르다.
실행 환경
Claude Code는 세 가지 환경에서 실행되며, 선택할 수 있다.
로컬(기본값) : 내 컴퓨터에서 실행됨. 모든 파일 및 도구에 접근이 가능하다.
클라우드 : Anthropic 서버에서 실행된다. 로컬에 없는 코드를 작업하거나 무거운 작업을 오프로드할 때.
오프로드(offload) 무거운 작업을 다른 곳으로 넘김.
복잡한 계산이나 대용량 데이터 처리 같은 무거운 작업을 클라우드에서 할 수 있다.
원격 제어 : 내 컴퓨터에서 실행되지만, 브라우저에서 제어함.
인터페이스
Claude Code는 터미널 이외에도 데스크톱 앱, 원격 제어, 슬랙, CI/CD 파이프라인 등을 통해서도 접근이 가능하다.