에이전트 아키텍처 · Track 4 & 7

간단한 루프부터 멀티 에이전트까지, 프로덕션급 AI 에이전트 구축하기

간단한 루프에서 네트워크화된 에이전트 시스템까지.

AI 에이전트는 언어 모델이 어떤 행동을 취할지 결정하고, 도구를 사용해 이를 실행하고, 결과를 관찰하며 반복하는 시스템으로, 사람이 매 단계를 직접 조작하지 않습니다. Claude의 100만 토큰 컨텍스트 윈도우, 네이티브 도구 사용, 그리고 신뢰할 수 있는 지시 이행 능력은 오늘날 사용 가능한 프로덕션 에이전트 시스템 중에서도 가장 강력한 기반 중 하나로 만들어줍니다.

Claude AI 에이전트는 Claude가 최소한의 인간 감독 하에 여러 단계의 작업을 계획, 실행, 검증하는 자율 워크플로입니다. Claude API의 도구 사용 기능으로 구축된 에이전트는 웹을 탐색하고, 데이터베이스를 조회하고, 코드를 작성 및 실행하며, 여러 도구를 연결해 복잡한 목표를 달성할 수 있습니다.

무엇이 시스템을 “에이전트”로 만드는가?

세 가지 요소가 에이전트를 일반적인 LLM 호출과 구분합니다:

  1. 1
    자율적 의사결정: 모델은 다음에 무엇을 할지, 어떤 도구를 호출할지, 어떤 매개변수를 사용할지, 계속할지 멈출지를 사람이 매 행동을 지정하지 않고도 스스로 결정합니다.
  2. 2
    도구 접근 및 작업 실행: 에이전트는 실제 세계와 상호작용할 수 있습니다: API 조회, 파일 읽기/쓰기, 메시지 전송, 코드 실행 등입니다. 작업은 텍스트 생성을 넘어선 실제 효과를 가집니다.
  3. 3
    다단계 반복: 에이전트는 각 작업의 결과를 관찰하고 이를 다음 결정에 반영합니다. 작업이 완료될 때까지 루프를 실행하며, 중간에 발생하는 실패도 함께 처리합니다.

아키텍처 패턴

간단한 것부터 고급까지, 6가지 에이전트 아키텍처

여기서 시작
단일 에이전트 루프
일련의 도구에 접근할 수 있는 단일 Claude 인스턴스입니다. 작업을 받아 필요에 따라 도구를 호출하고, 결과를 읽은 다음, 작업이 완료되거나 더 이상 진행할 수 없다고 판단할 때까지 계속 루프를 돌립니다. 모든 에이전트 아키텍처의 기초입니다.
가장 흔함
오케스트레이터 + 서브 에이전트
오케스트레이터 역할의 Claude가 복잡한 작업을 하위 작업으로 분해하고 각각을 전문화된 서브 에이전트에 위임합니다. 서브 에이전트는 자체 루프를 실행해 결과를 보고하고, 오케스트레이터가 결과를 종합합니다. 병렬화 가능한 단계가 있는 작업에 잘 확장됩니다.
높은 처리량
병렬 서브 에이전트
오케스트레이터가 동일하거나 유사한 작업을 여러 서브 에이전트 인스턴스에 동시에 분산시킵니다. 예를 들어 10개 기업 조사, 7개 언어로 번역, 5개 실험 실행 등입니다. 결과는 종합을 위해 다시 오케스트레이터로 모입니다.
프로덕션급
전문가 네트워크
라우터 에이전트가 들어오는 작업을 분류해 도메인별 전문 에이전트로 전달합니다. 재무 담당, 코드 담당, 법무 담당 등 각각 분리되어 있습니다. 각 전문가는 고유한 도구와 시스템 프롬프트를 가집니다. 단일 에이전트가 모든 것을 처리하려 하지 않습니다.
안전 최우선
휴먼 인 더 루프
에이전트는 정의된 체크포인트에서 멈추고, 계속하기 전에 사람에게 결정이나 승인 요청을 제시합니다. 이메일 전송, 코드 커밋, 결제 실행처럼 위험도가 높거나 되돌릴 수 없는 작업에 필수적입니다.
비동기 / 자동화
이벤트 기반 파이프라인
사용자의 직접 입력이 아니라 S3에 새 파일이 생성되거나, Stripe의 웹훅이 발생하거나, Slack 메시지가 도착하는 등 외부 이벤트에 의해 트리거되는 에이전트입니다. 에이전트는 실행되어 작업을 완료하고 종료됩니다. 자동화와 백그라운드 처리에 이상적입니다.

메모리 시스템

에이전트가 정보를 기억하는 방식

인컨텍스트 메모리

일시적이며 세션 종료 시 삭제됨

단일 세션 내의 대화 기록입니다. Claude는 지금까지 말한 모든 내용을 참조할 수 있습니다. 컨텍스트 윈도우에 의해 제한되지만(현재 Claude 모델에서 100만 토큰) 외부 저장소가 필요하지 않습니다.

외부 메모리(벡터 스토어)

검색 품질이 효과를 좌우함

관련 문서와 과거 상호작용을 시맨틱 검색으로 가져와 컨텍스트 윈도우에 주입합니다. 세션을 넘나들며 컨텍스트 한계를 넘어 확장되는 메모리를 가능하게 합니다.

구조화된 상태(데이터베이스)

명시적인 상태 스키마 설계가 필요함

에이전트 상태는 각 단계 사이에 데이터베이스에 기록됩니다. 에이전트는 매 턴 시작 시 자신의 상태를 읽습니다. 중단과 재시작을 견디는 복잡한 다단계 워크플로를 가능하게 합니다.

에피소드 요약

정보 손실이 있어 세부 사항이 빠질 수 있음

각 세션이 끝날 때 요약 단계가 대화를 압축된 메모리 항목으로 정리합니다. 이후 세션은 전체 기록이 아니라 요약을 불러옵니다.

코드 패턴

Python으로 작성한 에이전트 루프

agent_loop.py
def run_agent(task: str, tools: list, max_turns: int = 10):
    messages = [{"role": "user", "content": task}]

    for turn in range(max_turns):
        response = client.messages.create(
            model="claude-opus-4-5",
            tools=tools,
            messages=messages,
        )

        # Task complete, no tool calls
        if response.stop_reason == "end_turn":
            return response.content[0].text

        # Execute tool calls and collect results
        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": json.dumps(result),
                })

        # Add assistant turn + tool results to history
        messages.append({"role": "assistant", "content": response.content})
        messages.append({"role": "user", "content": tool_results})

    raise RuntimeError(f"Agent did not complete in {max_turns} turns")

에이전트 안전성: 초기에 바르게 잡아야 할 것들

✓

모든 에이전트 루프에 max_turns 제한을 설정하고 무제한 반복은 절대 허용하지 않기

✓

되돌릴 수 없는 작업(이메일 전송, 레코드 삭제, 결제 실행)은 사람의 확인을 거치도록 표시하기

✓

모든 도구 호출을 입력과 출력과 함께 로그로 남기기: 전체 작업 추적 기록이 없으면 에이전트를 디버깅하기 어려움

✓

최소 권한 모델을 사용해 에이전트에게 현재 작업에 필요한 도구만 제공하기

✓

도구에서 예외가 아닌 구조화된 오류를 반환해 에이전트가 이를 읽고 대응할 수 있게 하기

✓

실제 시스템에 연결하기 전에 프로덕션 도구의 위험도가 낮은 변형으로 테스트하기

자주 묻는 질문

Claude AI 에이전트를 구축하는 가장 좋은 방법은 무엇인가요?

Claude 에이전트를 구축하는 가장 좋은 방법은 Claude API의 도구 사용 기능과 에이전트 루프 패턴을 결합하는 것입니다. 도구를 정의하고, Claude가 계획하고 실행하도록 하며, 안전을 위해 사람의 감독 체크포인트를 추가하세요.

Claude 에이전트는 자율적인가요?

Claude 에이전트는 정의된 범위 내에서 자율적으로 작동할 수 있습니다. 도구, 권한, 감독 규칙은 사용자가 설정합니다. 에이전트는 그 제약 안에서 독립적으로 작업을 계획, 실행, 검증합니다.

Claude 에이전트와 챗봇의 차이는 무엇인가요?

챗봇은 개별 메시지에 응답합니다. 에이전트는 다단계 작업을 계획하고, 외부 도구를 사용하며, 결정을 내리고, 작업을 자율적으로 실행합니다. 에이전트는 각 단계에서 사람의 개입 없이 조사하고 분석하여 보고서를 작성할 수도 있습니다.

Claude 에이전트는 어떤 도구를 사용할 수 있나요?

Claude 에이전트는 API의 도구 사용 기능을 통해 정의한 모든 도구를 사용할 수 있습니다: 파일 시스템 작업, 웹 요청, 데이터베이스 조회, 코드 실행, 맞춤 비즈니스 로직 등입니다. Claude Code에서는 에이전트가 bash 명령, 파일 편집, 외부 연동을 위한 MCP 서버에도 접근할 수 있습니다.

Claude 에이전트에 안전장치를 추가하려면 어떻게 해야 하나요?

파괴적인 작업에는 휴먼 인 더 루프 체크포인트를 구현하고, 도구 정의에서 명확한 권한 경계를 설정하고, Claude Code 훅으로 민감한 작업을 통제하고, 에이전트 실행마다 토큰 예산 한도를 설정하세요. 프로덕션 에이전트에는 항상 킬 스위치와 감사 로그가 있어야 합니다.

첫 번째 Claude 에이전트를 만들어보세요

Track 4에서는 도구 사용, 에이전트 루프, 다단계 워크플로를 처음부터 끝까지 다룹니다.

Nightschool AI는 독립적인 학습 플랫폼이며 Anthropic과 제휴, 보증 또는 후원 관계가 없습니다. Claude는 Anthropic, PBC의 상표입니다. Anthropic의 공식 Claude Academy를 찾으시나요? academy.claude.com에서 확인하세요.