평범한 챗봇에서 우리를 대신해 일하는 AI로 — 무엇을 추가했는가?
요약
단순한 LLM 챗봇이 자율적인 AI 에이전트로 진화하기 위해 필요한 4가지 핵심 레이어를 설명합니다. 시스템 프롬프트, 도구 호출(Tool Calling), 에이전트 루프, 메모리 추가를 통해 AI가 행동하고 연속적인 작업을 수행하는 원리를 다룹니다.
핵심 포인트
- System Prompt를 통해 AI에게 구체적인 역할과 규칙을 부여함
- Tool Calling을 통해 LLM이 외부 도구를 사용하여 실제 행동을 수행함
- Agent Loop를 통해 '생각-행동-확인'의 과정을 반복하며 복잡한 작업을 완수함
- Memory를 추가하여 과거의 맥락과 정보를 유지하며 연속성을 확보함
평범한 챗봇에서 우리를 대신해 일하는 AI로 — 무엇을 추가했는가?
우리가 ChatGPT나 Claude를 처음 사용할 때 — 질문을 입력하고 답변을 받으면 끝납니다.
그것이 가장 기본적인 형태의 LLM (Large Language Model) 입니다: 텍스트 입력 → 텍스트 출력
하지만 어느 날 갑자기 우리는 다음과 같은 AI를 보게 됩니다:
- 웹사이트에 접속하여 정보를 검색함
- 내 컴퓨터의 파일을 읽음
- 터미널 (terminal) 명령어를 실행함
- 코드를 작성하고, 파일을 생성하며, 테스트를 실행함
- 매 단계마다 지시할 필요 없이 10분 동안 연속적으로 작업함
우리는 무엇을 추가했을까요? — 평범한 챗봇이 어떻게 에이전트 (agent)가 될 수 있었을까요?
🧱 빈 LLM에서 시작하기
LLM은 "다음 단어를 예측하는 기계"입니다 — 이전 텍스트를 보고 다음에 올 단어가 무엇인지 추측합니다.
[사용자 질문] → [LLM] → [답변]
이 상태의 LLM이 할 수 없는 것:
- 어제 우리가 무슨 대화를 나눴는지 기억하기 (메모리 (memory) 없음)
- 인터넷에서 정보 검색하기 (도구 (tool) 없음)
- 오늘이 며칠인지 알기 (과거 데이터로 학습됨)
- 내 컴퓨터에서 무언가를 하기 (권한 없음)
그것은 똑똑한 두뇌이지만 — 팔과 다리, 그리고 기억력이 없는 상태입니다.
➕ Layer 1: System Prompt — "역할"과 "규칙" 부여하기
우리가 가장 먼저 추가한 것: system prompt — LLM에게 "당신은 누구인가"와 "무엇을 할 수 있는가"를 알려주는 메시지입니다.
당신은 Hermes라는 이름의 AI 비서입니다.
당신은 사용자의 Linux 환경에서 작동합니다.
당신은 태국어로 답변하며, 읽기 쉽고 친근하게 말합니다.
System prompt는 AI의 "직무 기술서 (job description)" 입니다 — 이것이 LLM을 "단어 예측 기계"에서 "실체가 있는 비서"로 변화시킵니다.
➕ Layer 2: Tool Calling — "팔"과 "다리" 부여하기
LLM은 언어에는 능숙하지만 계산기를 누를 줄은 모릅니다 — 그래서 우리는 그것에게 도구 (tools) 를 제공합니다.
작동 방식:
1. 사용자: "오늘 방콕 날씨 확인해줘"
2. LLM 생각: "나는 get_weather(city='Bangkok') 함수를 호출해야 해"
3. 시스템: 실제로 get_weather() 호출 → 결과값 { temp: 35, humidity: 70 } 획득
...
AI에게 줄 수 있는 도구 (Tools):
| 도구 (Tool) | 예시 | LLM이 하는 일 |
|---|---|---|
| Web search | search("오늘 금값") | 인터넷 검색 |
| ... |
변화된 점: LLM은 이제 단순히 "말"만 하는 것이 아니라, "행동"할 수 있게 되었습니다.
➕ Layer 3: Loop — "연속성" 부여하기
도구를 한 번 사용하는 것만으로는 부족할 수 있습니다 — LLM은 하나의 작업을 완료하기 위해 도구를 여러 번 호출해야 할 수도 있습니다.
-
사용자: "이 프로젝트에 대한 README.md 파일을 만들어줘"
-
LLM → tool: read_file("main.go") ← 무엇이 있는지 먼저 읽기
...
이것이 바로 에이전트 루프 (Agent Loop) 입니다 — "생각하기 → 도구 호출 → 결과 확인 → 다시 생각하기 → 또 도구 호출"의 과정을 작업이 완료될 때까지 계속 반복하는 순환 구조입니다.
💡 참고: 이제 LLM은 즉시 답변하지 않습니다 — "작업"을 수행하기 위해 몇 초 또는 몇 분의 시간을 소비합니다.
➕ Layer 4: Memory (메모리) — "기억" 추가
루프 (Loop)는 AI가 단일 세션 내에서 연속적으로 작업할 수 있게 도와주지만, 세션을 종료하면 모든 것이 사라집니다.
우리는 세션을 넘나들며 발생한 일을 기억하는 시스템인 메모리 (Memory) 를 추가합니다:
세션 1: 사용자가 "저는 주로 Go를 사용하고 이런 패턴을 좋아합니다"라고 말함
세션 2: AI가 "지난번에 table-driven test를 선호한다고 말씀하셨는데, 그 패턴을 사용할까요?"라고 물음 ← 기억하고 있음!
메모리에 저장되는 것:
- 사용자 정보 (이름, 선호도, 선호 언어)
- 이전에 했던 약속 ("허락 없이 블로그를 게시하지 말 것")
- 성공했던 작업 방식 ("LED를 사용할 때는 항상 button.click()을 눌러야 함")
➕ Layer 5: Planning & Reasoning (계획 및 추론) — "실행 전 사고" 추가
LLM은 질문에 답하는 데 능숙하지만, 복잡한 작업을 만났을 때 생각 없이 바로 "실행"해 버릴 수 있습니다.
우리는 AI가 행동하기 전에 "생각을 크게 하도록 (think aloud)" 강제하는 추론 (Reasoning) 을 추가합니다:
사용자: "방콕에서 가격 700~800만 바트, 크기 60㎡ 이상의 콘도를 찾아줘."
AI의 생각 (Reasoning):
...
이것이 추론 (Reasoning) 입니다 — AI는 즉시 답변하는 대신, 계획을 세우기 전에 먼저 "생각"합니다.
➕ Layer 6: Skills (기술) — "경험" 추가
AI가 반복적으로 작업을 수행할 때, 매번 새로 생각하지 않고도 "방법을 기억"하여 재사용하기를 원합니다.
우리는 "검증된 작업 방식"을 담은 파일인 기술 (Skills) 을 추가합니다:
# Skill: deepseek-balance
DeepSeek 잔액 확인 방법:
1. ~/.bashrc에서 키를 읽음
...
다음에 AI가 잔액을 확인해야 할 때, 이 기술 (Skill)을 로드하여 → 단계에 따라 수행하고 → 3초 만에 완료합니다. 다시 생각할 필요가 없습니다.
Skill = "기록된 경험" — 기업의 표준 운영 절차 (SOP)와 같습니다.
➕ Layer 7: Multi-Agent (멀티 에이전트) — "팀" 추가
어떤 작업은 너무 거대해서 AI 한 대가 감당하기 어렵습니다.
우리는 AI가 하위 작업을 수행할 부하 직원을 생성하는 위임 (Delegation) 을 추가합니다:
[메인 AI] → "이 작업에는 3가지가 있습니다: 1) Go 1.27 조사, 2) 블로그 작성, 3) 포스팅"
→ 서브 에이전트 1 생성: Go 1.27 조사
→ 서브 에이전트 2 생성: 블로그 구조 설계
...
동시 작업 — 더 빠른 완료 — 마치 팀원이 도와주는 것처럼
🧩 조립하기 — Agentic AI
모든 레이어(Layer)를 하나로 결합합니다:
빈 LLM (LLM)
+ 시스템 프롬프트 (System Prompt) → "페르소나" 부여
+ 도구 호출 (Tool Calling) → 작업을 수행할 "손" 부여
...
Agentic AI는 LLM보다 더 똑똑한 것이 아닙니다. 단지 더 많은 **"도구 (Tools)"**를 가지고 있으며, 단순히 "답변"하는 것이 아니라 **"작업 (Work)"**을 하도록 설계되었을 뿐입니다.
🎯 시각적 요약
┌──────────────────────────┐
│ 사용자: "API 생성" │
└──────────┬───────────────┘
...
다음 단계
이 개념을 이해했다면 — 앞으로 MCP (Model Context Protocol), ACP (Agent Client Protocol), **RAG (Retrieval-Augmented Generation)**에 관한 내용을 읽을 때, 이것들이 추가되는 레이어(Layer)라는 것을 알게 될 것입니다:
- MCP = AI에게 도구(Tool)를 제공하는 표준 방식
- RAG = AI가 답변하기 전에 "문서를 읽게" 만드는 방식
- ACP = IDE와 에이전트(Agent) 간의 통신을 위한 표준 방식
이 모든 것은 "레이어"를 추가하는 과정이며, 이 모든 것은 단 하나의 빈 LLM에서 시작됩니다.
📚 더 읽어보기:
- Aider — 터미널에서의 AI 페어 프로그래밍 (Pair Programming) — 실제 사용되는 Agentic AI의 사례
- Anthropic: Building effective agents — Agentic 시스템 설계 개념
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기