๐ ๋น์ ์ ํ๋ค์ค๊ฐ ๊ณง ๋น์ ์ ๋ฉ๋ชจ๋ฆฌ๋ค
โ Harrison Chase (LangChain CEO), โYour Harness, Your Memoryโ ์์ ๋ถ์
์๋ฌธ: https://blog.langchain.com/your-harness-your-memory/
์์ฑ์ผ: 2026๋ 4์ 11์ผ
๋ถ์ ์์ฑ์ผ: 2026๋ 4์ 12์ผ
๐ ํต์ฌ ์์ฝ (TL;DR)
์ด ๊ธ์ LangChain์ CEO Harrison Chase๊ฐ ์์ฑํ ์์ด์ ํธ ์ํคํ ์ฒ์ ๊ดํ ์ค์ํ ๊ฒฝ๊ณ ๋ฌธ์ด๋ค. ํต์ฌ ๋ ผ์ง๋ ์ธ ๊ฐ์ง๋ค.
- ์์ด์ ํธ ํ๋ค์ค(Agent Harness)๋ ์ฌ๋ผ์ง์ง ์๋๋ค โ ๋ชจ๋ธ์ด ๋ฐ์ ํด๋ ํ๋ค์ค์ ํ์์ฑ์ ๊ณ์๋๋ค.
- ํ๋ค์ค์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ถ๋ฆฌํ ์ ์๋ค โ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ค์ค์ ํต์ฌ ๊ธฐ๋ฅ์ด์ง, ํ๋ฌ๊ทธ์ธ์ด ์๋๋ค.
- ํด๋ก์ฆ๋ ํ๋ค์ค๋ฅผ ์ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฃผ๊ถ์ ์๋๋ค โ ํนํ API ๋ค์ ์จ๊ฒจ์ง ํ๋ค์ค๋ ์ฌ๊ฐํ ๋ฒค๋ ๋ฝ์ธ(Lock-in)์ ์ด๋ํ๋ค.
1. ์์ด์ ํธ ํ๋ค์ค๋ ๋ฌด์์ธ๊ฐ?
1-1. ์ ์์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
์์ด์ ํธ ํ๋ค์ค(Agent Harness) ๋, LLM(๋ํ ์ธ์ด ๋ชจ๋ธ)์ ๋๊ตฌยท๋ฐ์ดํฐ ์์คยท๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ฒฐํด ์ค์ ์์ด์ ํธ๋ก ์๋ํ๊ฒ ๋ง๋๋ ์ค์ผ์คํธ๋ ์ด์ ๋ ์ด์ด(scaffolding) ๋ค. ๋จ์ํ API๋ฅผ ๋ํํ๋ ๊ฒ์ด ์๋๋ผ, ์์ด์ ํธ์ โ๋๋ ์ฃผ๋ณ ํ๊ฒฝโ ์ ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ค.
์ง๋ 3๋ ๊ฐ ์์ด์ ํธ ๊ตฌ์ถ ๋ฐฉ์์ ์งํ๋ฅผ ๋ณด๋ฉด ํ๋ค์ค์ ์ญํ ์ด ์ผ๋ง๋ ๊ธ๋ณํ๋์ง ์ ์ ์๋ค.
timeline
title ์์ด์ ํธ ๊ตฌ์ถ ๋ฐฉ์์ ์งํ (2022~2026)
2022 : ChatGPT ์ถ์
: ๋จ์ RAG ์ฒด์ธ (LangChain)
: ์ง์์๋ต ์์ค์ ๋จ์ ํ์ดํ๋ผ์ธ
2023 : ๋ชจ๋ธ ์ฑ๋ฅ ํฅ์
: ๋ณต์กํ ํ๋ก์ฐ ๊ฐ๋ฅ (LangGraph)
: ๋ฉํฐ์คํ
์ํฌํ๋ก์ฐ ๋ฑ์ฅ
2024 : ๋ชจ๋ธ ๋๊ท๋ชจ ์ฑ๋ฅ ๋์ฝ
: ์์ด์ ํธ ํ๋ค์ค ์๋ ๊ฐ๋ง
: Claude Code, Codex ๋ฑ ๋ฑ์ฅ
2025 : ํ๋ค์ค ์ฑ์๊ธฐ
: ๋ฉ๋ชจ๋ฆฌ ํตํฉ ๊ฒฝ์ ์ฌํ
: ํด๋ก์ฆ๋ vs ์คํ ์ง์ ๋ถํ
2026 : Anthropic, Claude Managed Agents ์ถ์
: OpenAI Responses API ๋ฑ์ฅ
: ๋ฉ๋ชจ๋ฆฌ ๋ฝ์ธ ์ ์ ๋ณธ๊ฒฉํ
1-2. ์ฃผ์ ์์ด์ ํธ ํ๋ค์ค ์ฌ๋ก
ํ์ฌ ๋ํ์ ์ธ ์์ด์ ํธ ํ๋ค์ค๋ค์ ๋ค์๊ณผ ๊ฐ๋ค:
| ํ๋ค์ค | ์ ๊ณต์ฌ | ์คํ์์ค ์ฌ๋ถ | ํน์ง |
|---|---|---|---|
| Claude Code | Anthropic | โ (์์ค์ฝ๋ ์ ์ถ ํ ํ์ธ: 51๋ง 2์ฒ ๋ผ์ธ) | ์ต๊ณ ์ฑ๋ฅ์ ์ฝ๋ฉ ์์ด์ ํธ |
| Codex | OpenAI | โ ๏ธ ์คํ์์ค์ด๋ ์ปดํฉ์ ์์ฝ์ ์ํธํ๋จ | GPT ๊ธฐ๋ฐ ์ฝ๋ฉ ์์ด์ ํธ |
| Deep Agents | LangChain | โ | ๋ชจ๋ธ ๋น์ข ์, ์คํ ๋ฉ๋ชจ๋ฆฌ |
| Letta Code | Letta | โ | ์ํ ๋ณด์กด ์์ด์ ํธ ํนํ |
| OpenCode | ์ปค๋ฎค๋ํฐ | โ | ์คํ์์ค ์ฝ๋ฉ ์์ด์ ํธ |
| Pi / OpenClaw | ์ปค๋ฎค๋ํฐ | โ | Pi ๋ชจ๋ ธ๋ ํฌ ๊ธฐ๋ฐ |
1-3. ํ๋ค์ค์ ๊ตฌ์กฐ: 5๊ฐ์ง ํต์ฌ ๊ธฐ๋ฅ
์๋ ์ด๋ฏธ์ง(Image 1)๋ ํ๋ค์ค ๋ด๋ถ์ ์์ด์ ํธ ๋์ ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ์ค๋ค.
graph TB
subgraph HARNESS["๐ฒ HARNESS (ํ๋ค์ค)"]
CI["๐ฅ Context Injection<br/>์ปจํ
์คํธ ์ฃผ์
<br/>(ํ๋กฌํํธ, ๋ฉ๋ชจ๋ฆฌ, ์คํฌ, ๋ํ)"]
CTRL["๐ด Control<br/>์ ์ด<br/>(์ปดํฉ์
, ์ค์ผ์คํธ๋ ์ด์
, ๋ฃจํ)"]
ACT["๐ข Action<br/>์ก์
<br/>(bash, tools, MCPs ํธ์ถ)"]
OBS["๐ฃ Observe & Verify<br/>๊ด์ฐฐ ๋ฐ ๊ฒ์ฆ<br/>(์คํฌ๋ฆฐ์ท, ํ
์คํธ ๊ฒฐ๊ณผ, ๋ก๊ทธ)"]
PERSIST["๐ก Persist<br/>์์ํ<br/>(ํ์ผ์์คํ
, git, ์งํ ํ์ผ)"]
MODEL["๐ง Model<br/>reasons โ decides<br/>์ถ๋ก โ ๊ฒฐ์ "]
CI -->|"์ปจํ
์คํธ ์ฃผ์
"| MODEL
CTRL -->|"๋ฃจํ ์ ์ด"| MODEL
MODEL -->|"๋๊ตฌ ํธ์ถ"| ACT
ACT -->|"๊ฒฐ๊ณผ ๋ฐํ"| MODEL
OBS -->|"ํผ๋๋ฐฑ"| MODEL
MODEL -->|"์ฐ๊ธฐ"| PERSIST
PERSIST -->|"์ฝ๊ธฐ"| MODEL
end
style HARNESS fill:#f0f4ff,stroke:#6b7de8,stroke-dasharray: 5 5
style MODEL fill:#3d5af1,color:#fff
style CI fill:#e8f0ff
style CTRL fill:#ffe8e8
style ACT fill:#e8ffe8
style OBS fill:#f0e8ff
style PERSIST fill:#fff8e8
๊ฐ ์ปดํฌ๋ํธ์ ์ญํ ์ ์์ธํ ์ค๋ช ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
โ Context Injection (์ปจํ
์คํธ ์ฃผ์
)
ํ๋ค์ค๊ฐ ๋ชจ๋ธ์๊ฒ โ๋ฌด์์ ์์์ผ ํ๋๊ฐโ๋ฅผ ์ ๋ฌํ๋ ๋จ๊ณ๋ค. ์์คํ
ํ๋กฌํํธ, ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ์์ ๋ถ๋ฌ์จ ์ ๋ณด, ์ฌ์ฉ ๊ฐ๋ฅํ ์คํฌ ๋ชฉ๋ก, ์ด์ ๋ํ ๊ธฐ๋ก ๋ฑ์ด ๋ชจ๋ ์ฌ๊ธฐ์ ์ฒ๋ฆฌ๋๋ค. CLAUDE.md๋ AGENTS.md ๊ฐ์ ํ์ผ๋ ์ด ๋จ๊ณ์์ ์ปจํ
์คํธ๋ก ์ฃผ์
๋๋ค.
โก Control (์ ์ด)
์์ด์ ํธ์ ์คํ ํ๋ฆ์ ๊ด๋ฆฌํ๋ค. ์ปดํฉ์
(compaction, ๊ธด ๋ํ๋ฅผ ์์ฝยท์์ถํ๋ ๊ณผ์ ), ๋ฉํฐ ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ด์
, ๊ทธ๋ฆฌ๊ณ ์์ด์ ํธ๊ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ ๋๊น์ง ๋ฐ๋ณตํ๋ ๋ฃจํ(ralph loops) ๋ฑ์ด ํฌํจ๋๋ค. ์ด ์ ์ด ๋ก์ง์ด ์ผ๋ง๋ ์ ๊ตํ๋๊ฐ ์์ด์ ํธ์ ์์จ์ฑ์ ๊ฒฐ์ ํ๋ค.
โข Action (์ก์
)
๋ชจ๋ธ์ด ๊ฒฐ์ ํ ๋ด์ฉ์ ์ค์ ์ธ๊ณ์์ ์คํํ๋ ๋จ๊ณ๋ค. bash ๋ช
๋ น ์คํ, ์ธ๋ถ API ํธ์ถ, MCP(Model Context Protocol) ์๋ฒ์์ ํต์ ๋ฑ์ด ์ฌ๊ธฐ์ ํด๋นํ๋ค. ์ก์
์ ๊ฒฐ๊ณผ๋ ๋ค์ ๋ชจ๋ธ์ ์ปจํ
์คํธ๋ก ํผ๋๋ฐฑ๋๋ค.
โฃ Observe & Verify (๊ด์ฐฐ ๋ฐ ๊ฒ์ฆ)
์ก์
์ ๊ฒฐ๊ณผ๋ฅผ ๊ด์ฐฐํ๊ณ ๊ฒ์ฆํ๋ค. ๋ธ๋ผ์ฐ์ ์คํฌ๋ฆฐ์ท, ํ
์คํธ ์คํ ๊ฒฐ๊ณผ, ์ ํ๋ฆฌ์ผ์ด์
๋ก๊ทธ ๋ฑ์ ์์งํด ๋ชจ๋ธ์ด ๋ค์ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค. ์ด ๋ฃจํ๊ฐ ์์ด์ผ ์์ด์ ํธ๊ฐ ์๊ธฐ์์ (self-correction)์ด ๊ฐ๋ฅํ๋ค.
โค Persist (์์ํ)
์์ด์ ํธ์ ์ํ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ ์ฅํ๋ค. ํ์ผ์์คํ
๋ณ๊ฒฝ, git ์ปค๋ฐ, ์งํ ์ํฉ ํ์ผ ์
๋ฐ์ดํธ ๋ฑ์ด ํฌํจ๋๋ค. ์ด ๋ ์ด์ด๊ฐ ๊ณง ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ์ ๊ฒฝ๊ณ์ ์๋ค.
2. ์ ํ๋ค์ค๋ ์ฌ๋ผ์ง์ง ์๋๊ฐ?
2-1. โ๋ชจ๋ธ์ด ํ๋ค์ค๋ฅผ ํก์ํ ๊ฒโ์ด๋ผ๋ ์คํด
๋ง์ ์ฌ๋๋ค์ด โ๋ชจ๋ธ์ด ์ถฉ๋ถํ ๋๋ํด์ง๋ฉด ์ฃผ๋ณ ์ค์บํด๋ฉ์ด ํ์ ์์ด์ง ๊ฒโ์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค. Harrison Chase๋ ์ด๋ฅผ ์ ๋ฉด์ผ๋ก ๋ฐ๋ฐํ๋ค.
๊ทธ์ ๋ ผ๋ฆฌ๋ ๋จ์ํ๋ค. ์์ด์ ํธ๋ โLLM์ด ๋๊ตฌ ๋ฐ ๋ฐ์ดํฐ ์์ค์ ์ํธ์์ฉํ๋ ์์คํ โ ์ด๋ค. ์ด ์ํธ์์ฉ์ ์ค๊ฐํ๋ ์์คํ , ์ฆ ํ๋ค์ค๋ ๊ทธ ์ ์์ ํญ์ ์กด์ฌํ ์๋ฐ์ ์๋ค.
2023๋ ์ ํ์ํ๋ ์ค์บํด๋ฉ์ ์๋น ๋ถ๋ถ์ด ์ฌ๋ผ์ง ๊ฒ์ ์ฌ์ค์ด๋ค. ํ์ง๋ง ๊ทธ ์๋ฆฌ๋ฅผ ์๋ก์ด ์ข ๋ฅ์ ์ค์บํด๋ฉ์ด ์ฑ์ ๋ค. ๋ชจ๋ธ์ด ๋ ๊ฐ๋ ฅํด์ง์๋ก, ํ๋ค์ค๋ ๋ ๋ณต์กํ ์์ ์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์งํํ๋ค.
๊ฒฐ์ ์ ์ฆ๊ฑฐ: Claude Code์ ์์ค์ฝ๋๊ฐ ์ ์ถ๋์์ ๋, ๊ทธ ์ฝ๋๋ ๋ฌด๋ ค 51๋ง 2์ฒ ๋ผ์ธ์ด์๋ค. ์ธ๊ณ ์ต๊ณ ์ ๋ชจ๋ธ์ ๋ง๋๋ Anthropic์กฐ์ฐจ ํ๋ค์ค์ ๋ง๋ํ ํฌ์๋ฅผ ํ๊ณ ์๋ค๋ ์๋ฏธ๋ค.
2-2. API ๋ด์ฅ ๊ธฐ๋ฅ๋ ํ๋ค์ค์ ์ผ๋ถ๋ค
OpenAI์ Anthropic์ด API์ ์น ๊ฒ์ ๊ธฐ๋ฅ์ ๋ด์ฅํ ๋, ์ด๊ฒ์ ๋ชจ๋ธ์ ๋ฅ๋ ฅ์ด ๋ ๊ฒ์ด ์๋๋ค. ๋ชจ๋ธ ๋ค์์ ์น ๊ฒ์ API์ ๋ชจ๋ธ์ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๊ฒฝ๋ ํ๋ค์ค๊ฐ ์๋ํ๋ ๊ฒ์ด๋ค. ํด ์ฝ๋ง(tool calling)์ด๋ผ๋ ๋ฉ์ปค๋์ฆ์ ํตํด ๊ตฌํ๋๋ค.
3. ํ๋ค์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ๊ฐ๋ถ ๊ด๊ณ
3-1. โ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ฌ๊ทธ์ธ์ด ์๋๋คโ
Letta์ CTO Sarah Wooders๋ ์ด ๊ด๊ณ๋ฅผ ๋ ์นด๋กญ๊ฒ ์ ๋ฆฌํ๋ค.
โ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ด์ ํธ ํ๋ค์ค์ ํ๋ฌ๊ทธ์ธ์ฒ๋ผ ๊ฝ์ผ๋ ค๋ ๊ฒ์ ๋ง์น โ๋๋ผ์ด๋นโ์ ์๋์ฐจ์ ํ๋ฌ๊ทธ์ธํ๋ ค๋ ๊ฒ๊ณผ ๊ฐ๋ค. ์ปจํ ์คํธ ๊ด๋ฆฌ, ์ฆ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์์ด์ ํธ ํ๋ค์ค์ ํต์ฌ ์ญ๋์ด์ ์ฑ ์์ด๋ค.โ
๋ฉ๋ชจ๋ฆฌ๋ ์ปจํ ์คํธ์ ํ ํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ปจํ ์คํธ ๊ด๋ฆฌ๋ ํ๋ค์ค์ ๊ทผ๋ณธ ๊ธฐ๋ฅ์ด๋ค. ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ค์ค๋ ๊ฐ๋ ์ ์ผ๋ก๋, ๊ตฌํ์ ์ผ๋ก๋ ๋ถ๋ฆฌ๋ ์ ์๋ค.
3-2. ๋ฉ๋ชจ๋ฆฌ์ ๋ ๊ฐ์ง ์ ํ๊ณผ ํ๋ค์ค์ ์ญํ
graph LR
subgraph STM["๐ถ ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ (Short-term Memory)"]
direction TB
MSG["๋ํ ๋ฉ์์ง<br/>(ํ์ฌ ์ธ์
)"]
TOOL_R["๋๊ตฌ ํธ์ถ ๊ฒฐ๊ณผ<br/>(ํฐ ์๋ต๊ฐ)"]
CTX["ํ์ฌ ์ปจํ
์คํธ<br/>์๋์ฐ ๋ด์ฉ"]
end
subgraph LTM["๐ด ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ (Long-term Memory)"]
direction TB
USER_P["์ฌ์ฉ์ ์ ํธ๋"]
SKILL_M["์คํฌ ๋ฉํ๋ฐ์ดํฐ"]
HIST["์ธ์
๊ฐ ๋ํ ๊ธฐ๋ก"]
SYS_I["์ปค์คํ
์์คํ
์ง์นจ"]
end
subgraph HARNESS_ROLE["๐ฒ ํ๋ค์ค์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ฑ
์"]
direction TB
R1["CLAUDE.md / AGENTS.md<br/>ํ์ผ ์ปจํ
์คํธ ์ฃผ์
๋ฐฉ์"]
R2["์คํฌ ๋ฉํ๋ฐ์ดํฐ ์ ์ ๋ฐฉ์<br/>(์์คํ
ํ๋กฌํํธ? ๋ฉ์์ง?)"]
R3["์์ด์ ํธ์ ์๊ธฐ ์ง์นจ<br/>์์ ๊ฐ๋ฅ ์ฌ๋ถ"]
R4["์ปดํฉ์
์ ๋ฌด์์ด ์ด๊ณ <br/>๋ฌด์์ด ์ฌ๋ผ์ง๋๊ฐ"]
R5["์ํธ์์ฉ ์ ์ฅ ๋ฐ<br/>์ฟผ๋ฆฌ ๊ฐ๋ฅ ์ฌ๋ถ"]
R6["๋ฉ๋ชจ๋ฆฌ ๋ฉํ๋ฐ์ดํฐ<br/>์ ์ ๋ฐฉ์"]
R7["์์
๋๋ ํ ๋ฆฌ ํํ ๋ฐฉ์<br/>๋ฐ ํ์ผ์์คํ
๋
ธ์ถ ๋ฒ์"]
end
STM -->|"ํ๋ค์ค๊ฐ ๊ด๋ฆฌ"| HARNESS_ROLE
LTM -->|"ํ๋ค์ค๊ฐ ์ฝ๊ธฐ/์ฐ๊ธฐ"| HARNESS_ROLE
style STM fill:#fff8e8,stroke:#f0a500
style LTM fill:#ffe8e8,stroke:#d93025
style HARNESS_ROLE fill:#e8f0ff,stroke:#6b7de8
3-3. ๋ฉ๋ชจ๋ฆฌ๋ ์์ง ์ด๊ธฐ ๋จ๊ณ๋ค
์ ์๋ ์์งํ๊ฒ ์ธ์ ํ๋ค. ํ์ฌ ์์ด์ ํธ ๋ฉ๋ชจ๋ฆฌ๋ ๋งค์ฐ ์ด๊ธฐ ๋จ๊ณ์ ์๋ค. ๋๋ถ๋ถ์ ์์ด์ ํธ MVP(์ต์ ๊ธฐ๋ฅ ์ ํ)์์ ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ๋ ํ์์๋ก ๋ฐ๋ฆฐ๋ค. โ์ผ๋จ ์์ด์ ํธ๋ฅผ ์๋์ํค๊ณ , ๊ทธ ๋ค์ ๊ฐ์ธํ๋ฅผ ๊ณ ๋ฏผํ๋โ ์์๋ก ์งํ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ ์์ง ์ ๊ณ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๊ณตํต๋ ์ถ์ํ(abstraction)๋ ๋ฒ ์คํธ ํ๋ํฐ์ค๊ฐ ์๋ค๋ ๋ป์ด๊ธฐ๋ ํ๋ค. ์ด ๋ฏธ์ฑ์ํ ์์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ค์ค์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ์๊ธฐ์์กฐ๋ผ๋ ๊ฒ์ด ์ ์์ ์ฃผ์ฅ์ด๋ค. ๋ฏธ๋์ ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ด ์ฑ์ํด์ง๋ฉด ๋ณ๋ ์๋น์ค๋ก ๋ถ๋ฆฌ๋ ์ ์๊ฒ ์ง๋ง, ์ง๊ธ ๋น์ฅ์ ํ๋ค์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๋ฐ์ด๋ค.
4. ํด๋ก์ฆ๋ ํ๋ค์ค์ ์ํ: ๋ฉ๋ชจ๋ฆฌ ์ฃผ๊ถ ์์ค
4-1. ์ธ ๊ฐ์ง ์ํ ์์ค
์๋๋ ํ๋ค์ค์ ๊ฐ๋ฐฉ์ฑ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ ๊ถ ์ํ์ ์ธ ๋จ๊ณ๋ก ๋ถ๋ฅํ ๊ฒ์ด๋ค.
graph TD
subgraph LEVEL1["โ ๏ธ ๊ฒฝ๋ฏธํ ์ํ: ์ํ ์ ์ฅ API ์ฌ์ฉ"]
L1_DESC["OpenAI Responses API ๋๋<br/>Anthropic ์๋ฒ์ฌ์ด๋ ์ปดํฉ์
์ฌ์ฉ"]
L1_RISK["์ํ๊ฐ ์ธ๋ถ ์๋ฒ์ ์ ์ฅ๋จ<br/>โ ๋ชจ๋ธ ๊ต์ฒด ์ ์ด์ ์ค๋ ๋ ๋ณต์ ๋ถ๊ฐ"]
L1_EXAMPLE["์: ๋ํ ์ด๋ ฅ์ OpenAI ์๋ฒ์ ์ ์ฅํ๋ฉด<br/>Anthropic์ผ๋ก ์ ํ ์ ํด๋น ๋ฉ๋ชจ๋ฆฌ ์์ค"]
end
subgraph LEVEL2["๐ด ์ฌ๊ฐํ ์ํ: ํด๋ก์ฆ๋ ํ๋ค์ค ์ฌ์ฉ"]
L2_DESC["Claude Agent SDK ๊ฐ์<br/>๋น์คํ์์ค ํด๋ก์ฆ๋ ํ๋ค์ค ์ฌ์ฉ<br/>(๋ด๋ถ์ ์ผ๋ก Claude Code ์ฌ์ฉ)"]
L2_RISK["ํ๋ค์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด ๋ธ๋๋ฐ์ค<br/>โ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํ์
๋ถ๊ฐ<br/>โ ๋ค๋ฅธ ํ๋ค์ค๋ก ์ด์ ๋ถ๊ฐ"]
L2_EXAMPLE["์: ํด๋ผ์ด์ธํธ์ฌ์ด๋ ์ํฐํฉํธ๊ฐ ์์ฑ๋์ง๋ง<br/>๊ทธ ํ์๊ณผ ํ์ฉ๋ฒ์ ์ ์ ์์"]
end
subgraph LEVEL3["๐ ์ต์
์ ์ํ: ์ ์ฒด ํ๋ค์ค๊ฐ API ๋ค์ ์๋ ๊ฒฝ์ฐ"]
L3_DESC["Anthropic์ Claude Managed Agents์ฒ๋ผ<br/>ํ๋ค์ค ์ ์ฒด + ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ<br/>API ๋ค์ ์จ๊ฒจ์ง ๊ฒฝ์ฐ"]
L3_RISK["๋ฉ๋ชจ๋ฆฌ ์์ ๊ถ ์ ๋ก<br/>๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ ์ ๋ก<br/>ํ๋ค์ค ์๋ ๋ฐฉ์ ํ์
๋ถ๊ฐ<br/>ํ๋ซํผ + ๋ชจ๋ธ์ ์์ ์ข
์"]
L3_EXAMPLE["์: Anthropic์ด API๋ก ์ผ๋ถ๋ฅผ ๋
ธ์ถํ๋ ์ ํ๋ <br/>๊ฐ๋ฐ์๋ ์ด๋ค ์ ํ๊ถ๋ ์์"]
end
LEVEL1 --> LEVEL2
LEVEL2 --> LEVEL3
style LEVEL1 fill:#fff8e8,stroke:#f0a500
style LEVEL2 fill:#ffe8e8,stroke:#d93025
style LEVEL3 fill:#2d1515,color:#ff6b6b,stroke:#ff0000
4-2. ๋์์ผ๋ก ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ์์น ๋ณํ
์๋ ๋ค์ด์ด๊ทธ๋จ๋ค(Image 2~5)์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ๋ค์ค์์ ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ API ์ชฝ์ผ๋ก ์ด๋ํ๋ ๊ณผ์ ์ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ค๋ค.
[์ด์์ ์ธ ์ํ - Image 2]: ๋จ๊ธฐยท์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ, ๋๊ตฌ, ํ๋กฌํํธ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์์ ํ ํ๋ค์ค ์์ ์๋ค.
graph LR
subgraph HARNESS_IDEAL["โ
์ด์์ ํ๋ค์ค (๊ฐ๋ฐ์ ์์ )"]
STM_I["๐ถ ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ"]
LTM_I["๐ด ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ"]
TOOLS_I["๐ต ๋๊ตฌ(Tools)"]
PROMPT_I["๐ข ํ๋กฌํํธ"]
end
subgraph API_IDEAL["๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ API"]
LLM_I["LLM"]
end
HARNESS_IDEAL -->|"์์ฒญ"| API_IDEAL
API_IDEAL -->|"์๋ต"| HARNESS_IDEAL
style HARNESS_IDEAL fill:#e8ffe8,stroke:#2ecc40
style API_IDEAL fill:#f0f0f0,stroke:#999,stroke-dasharray: 5 5
[๊ฒฝ๋ฏธํ ์ํ - Image 3]: ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ API ์ชฝ์ผ๋ก ์ด๋ํ๋ค. Responses API๋ ์๋ฒ์ฌ์ด๋ ์ปดํฉ์ ์ ์ฌ์ฉํ๋ฉด ์ด ์ํ๊ฐ ๋๋ค.
graph LR
subgraph HARNESS_MID["โ ๏ธ ํ๋ค์ค (๊ฐ๋ฐ์ ์์ )"]
LTM_M["๐ด ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ"]
TOOLS_M["๐ต ๋๊ตฌ"]
PROMPT_M["๐ข ํ๋กฌํํธ"]
end
subgraph API_MID["๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ API (์ธ๋ถ)"]
LLM_M["LLM"]
STM_M["๐ถ ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ<br/>(์๋ฒ์ฌ์ด๋ ์ ์ฅ)"]
end
HARNESS_MID -->|"์์ฒญ"| API_MID
API_MID -->|"์๋ต"| HARNESS_MID
style HARNESS_MID fill:#fff8e8,stroke:#f0a500
style API_MID fill:#ffe8e8,stroke:#d93025,stroke-dasharray: 5 5
style STM_M fill:#ffe8e8
[์ฌ๊ฐํ ์ํ - Image 4]: ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ๊น์ง ๋ธ๋๋ฐ์ค ํ๋ค์ค์ ๊ฐํ๋ค. ๊ฐ๋ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ์ ์ฒ๋ฆฌ ๋ฐฉ์์ ์ ์ ์๋ค.
graph LR
PROMPT_BAD["๐ข ํ๋กฌํํธ"]
TOOLS_BAD["๐ต ๋๊ตฌ"]
subgraph BB_HARNESS["๐ฒ ๋ธ๋๋ฐ์ค ํ๋ค์ค (์ธ๋ถ)"]
LTM_BAD["๐ด ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ<br/>(๊ตฌ์กฐ ๋ถ๋ช
)"]
end
subgraph API_BAD["๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ API (์ธ๋ถ)"]
LLM_BAD["LLM"]
STM_BAD["๐ถ ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ"]
end
BB_HARNESS -->|"์์ฒญ"| API_BAD
API_BAD -->|"์๋ต"| BB_HARNESS
style BB_HARNESS fill:#e8e8ff,stroke:#6b5de8,stroke-width:3
style API_BAD fill:#ffe8e8,stroke:#d93025,stroke-dasharray: 5 5
style PROMPT_BAD fill:#f0fff0
style TOOLS_BAD fill:#f0f0ff
[์ต์ ์ ์ํ - Image 5]: ํ๋ค์ค ์ ์ฒด(๋จ๊ธฐยท์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋)๊ฐ ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ API ์์ผ๋ก ๋ค์ด๊ฐ๋ค. Claude Managed Agents๊ฐ ์ด์ ํด๋นํ๋ค.
graph LR
TOOLS_WORST["๐ต ๋๊ตฌ"]
PROMPT_WORST["๐ข ํ๋กฌํํธ"]
subgraph API_WORST["๐ ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ API (์์ ์ธ๋ถํ)"]
LLM_WORST["LLM"]
subgraph HARNESS_WORST["ํ๋ค์ค (API ๋ด๋ถ)"]
LTM_WORST["๐ด ์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ"]
STM_WORST["๐ถ ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ"]
end
end
TOOLS_WORST -->|"์์ฒญ"| API_WORST
API_WORST -->|"์๋ต"| TOOLS_WORST
style API_WORST fill:#2d1515,stroke:#ff0000,stroke-dasharray: 5 5
style HARNESS_WORST fill:#3d2020,stroke:#ff6b6b
style LTM_WORST color:#ff9999
style STM_WORST color:#ffcc99
style LLM_WORST color:#ffffff
4-3. ๊ตฌ์ฒด์ ์ฌ๋ก: Anthropic๊ณผ OpenAI์ ์ ๋ต
Anthropic์ Claude Managed Agents
Anthropic์ Claude Managed Agents๋ฅผ ์ถ์ํด ํ๋ค์ค์ ๋ชจ๋ ๊ฒ์ API ๋ค์ ๋ฃ์๋ค. ์ด๋ ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์์ ๊ถ๊ณผ ๊ฐ์์ฑ์ ์์ ํ ํฌ๊ธฐํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ํ๋ฒ ์ด ํ๋ซํผ์ ์์กดํ๊ธฐ ์์ํ๋ฉด, ์์ด์ ํธ๊ฐ ์ถ์ ํ ๋ฉ๋ชจ๋ฆฌ์ ํจ๊ป ํ๋ซํผ์ ๋ฌถ์ด๊ฒ ๋๋ค.
OpenAI์ Codex
Codex๋ ์คํ์์ค๋ก ์ ๊ณต๋์ง๋ง, ์ปดํฉ์
์์ฝ(compaction summary)์ ์ํธํ๋์ด ์์ด OpenAI ์ํ๊ณ ์ธ๋ถ์์๋ ์ฌ์ฉํ ์ ์๋ค. ์ฝ๋๋ ๊ณต๊ฐํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ํต์ฌ ๋ถ๋ถ์ ์ ๊ฐ๋ค.
5. ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค์ํ ์ด์ : ๋ฝ์ธ(Lock-in) ์ ๋ต
5-1. ๋ฉ๋ชจ๋ฆฌ = ๊ฒฝ์ ์ฐ์
์ง๊ธ๊น์ง ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ ๊ฐ ์ ํ์ ๋น๊ต์ ์ฌ์ ๋ค. API ๊ตฌ์กฐ๊ฐ ๋น์ทํ๊ณ , ํ๋กฌํํธ๋ฅผ ์ฝ๊ฐ ์์ ํ๋ฉด ๋๋ค. ์ด๊ฒ์ด ๊ฐ๋ฅํ๋ ์ด์ ๋ ์์คํ ์ด ๋ฌด์ํ(stateless) ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ฐ๋ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ถ์ ๋๋ฉด ์ํฉ์ด ์์ ํ ๋ฌ๋ผ์ง๋ค.
graph TD
subgraph WITHOUT["๋ฉ๋ชจ๋ฆฌ ์๋ ์์ด์ ํธ"]
A1["์์ด์ ํธ A"]
A2["์์ด์ ํธ B (๊ฒฝ์์)"]
A1 -->|"๋์ผํ ๋๊ตฌ = ๋์ผํ ๊ฒฐ๊ณผ"| SAME["๊ตฌ๋ณ๋์ง ์์"]
A2 --> SAME
end
subgraph WITH["๋ฉ๋ชจ๋ฆฌ ์๋ ์์ด์ ํธ"]
M1["์์ด์ ํธ A<br/>(๋ฉ๋ชจ๋ฆฌ 6๊ฐ์ ์ถ์ )"]
M2["์์ด์ ํธ B (๋์ผ ๋๊ตฌ)"]
M1 -->|"์ฌ์ฉ์ ์ ํธ, ํจํด, ๋งฅ๋ฝ ํ์ต"| DIFF1["์ฐจ๋ณํ๋ ๊ฒฝํ"]
M2 -->|"๋ฉ๋ชจ๋ฆฌ ์์"| DIFF2["์ผ๋ฐ์ ๊ฒฝํ"]
DIFF1 -.->|"์ ํ ๋น์ฉ ๋ฐ์"| SWITCH["ํ๋ซํผ ์ ํ ์<br/>๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์์ค"]
end
style SAME fill:#f0f0f0
style DIFF1 fill:#e8ffe8,stroke:#2ecc40
style DIFF2 fill:#ffe8e8
style SWITCH fill:#2d1515,color:#ff6b6b
5-2. ์ด๋ฉ์ผ ์ด์์คํดํธ ์ฌ๋ก
Harrison Chase๋ ์ง์ ๊ฒช์ ์ฌ๋ก๋ฅผ ๊ณต์ ํ๋ค. ๊ทธ๋ Fleet(LangChain์ ์ํฐํ๋ผ์ด์ฆ ๋ ธ์ฝ๋ ํ๋ซํผ) ์์์ ์ด๋ฉ์ผ ์ด์์คํดํธ๋ฅผ ์๊ฐ์๊ฐ ์ฌ์ฉํ๋ค. ์ด ์ด์์คํดํธ๋ ์ฌ์ฉ์์ ๊ธ์ฐ๊ธฐ ํค, ์ ํธ ํํ, ์ ๋ฌด ์คํ์ผ ๋ฑ์ ํ์ตํ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์๊ฐ๋ค.
์ด๋ ๋ ์ค์๋ก ์์ด์ ํธ๊ฐ ์ญ์ ๋๋ค. ๊ฐ์ ํ ํ๋ฆฟ์ผ๋ก ์ ์์ด์ ํธ๋ฅผ ๋ง๋ค์์ง๋ง, ๊ฒฝํ์ ํจ์ฌ ๋๋น ์ก๋ค. ๋ชจ๋ ์ ํธ๋๋ฅผ ๋ค์ ๊ฐ๋ฅด์ณ์ผ ํ๋ค. ์ด ๋ถํธํจ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ง์ง ๊ฐ์น๋ฅผ ์ฒด๊ฐํ๊ฒ ํด์คฌ๋ค.
์ด๊ฒ์ด ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋๋ค์ด ์ํ๋ ๊ฒ์ด๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ ์ ํ๋ซํผ์ ๋ฌถ์ด๋๋ฉด, ๊ฐ๋ฐ์๋ ์ฝ๊ฒ ๋ ๋ ์ ์๋ค.
5-3. ๋ฐ์ดํฐ ํ๋ผ์ดํ ํจ๊ณผ
๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ผ์๋ก ์์ด์ ํธ๋ ๋ ์ข์์ง๊ณ , ์์ด์ ํธ๊ฐ ์ข์์ง์๋ก ๋ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ๋ ๋ง์ด ์ฌ์ฉ๋ ์๋ก ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ธ๋ค. ์ด๊ฒ์ด ๋ฐ์ดํฐ ํ๋ผ์ดํ ์ด๋ค.
graph LR
USE["์์ด์ ํธ ์ฌ์ฉ"] -->|"์ํธ์์ฉ ๋ฐ์ดํฐ ์ถ์ "| MEM["๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ"]
MEM -->|"๊ฐ์ธํ ํฅ์"| BETTER["๋ ๋์ ์์ด์ ํธ ๊ฒฝํ"]
BETTER -->|"๋ ๋ง์ ์ฌ์ฉ ์ ๋"| USE
MEM -->|"์ ํ ๋น์ฉ ์ฆ๊ฐ"| LOCK["ํ๋ซํผ ๋ฝ์ธ"]
LOCK -->|"์ดํ ๋ถ๊ฐ"| PROV["๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ ์์ต ๋ณด์ฅ"]
style USE fill:#e8f0ff
style MEM fill:#ffe8e8
style BETTER fill:#e8ffe8
style LOCK fill:#2d1515,color:#ff6b6b
style PROV fill:#4a3000,color:#ffa500
6. ์คํ ํ๋ค์ค๊ฐ ๋ต์ด๋ค: Deep Agents
6-1. LangChain์ ๋์: Deep Agents
Harrison Chase๋ ์ด ๋ฌธ์ ์ ๋ํ ํด๋ต์ผ๋ก Deep Agents๋ฅผ ์ ์ํ๋ค. Deep Agents๋ ๋ค์ ์์น์ ๋ฐ๋ฅธ๋ค:
| ์์น | ์์ธ ๋ด์ฉ |
|---|---|
| ์คํ์์ค | ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค ๊ณต๊ฐ, ํ๋ค์ค ๋์ ๋ฐฉ์ ์์ ํฌ๋ช |
| ๋ชจ๋ธ ๋ถ๊ฐ์ง๋ก (Model Agnostic) | ํน์ ๋ชจ๋ธ์ ์ข ์๋์ง ์์, ์ธ์ ๋ ๊ต์ฒด ๊ฐ๋ฅ |
| ์คํ ํ์ค ์ฌ์ฉ | agents.md, skills ๋ฑ ๊ฐ๋ฐฉ๋ ํ์ค ์ฑํ |
| ์ ์ฐํ ๋ฉ๋ชจ๋ฆฌ ์คํ ์ด | MongoDB, PostgreSQL, Redis ๋ฑ ์ํ๋ DB ์ฐ๊ฒฐ ๊ฐ๋ฅ |
| ๋ค์ํ ๋ฐฐํฌ ์ต์ | LangSmith Deployment ๋๋ ์์ฒด ํธ์คํ , ์ด๋ค ํด๋ผ์ฐ๋๋ ๊ฐ๋ฅ |
| BYOD (Bring Your Own Database) | ์์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์คํ ์ด๋ก ์ฌ์ฉ ๊ฐ๋ฅ |
6-2. ๊ฐ๋ฐฉํ vs ํ์ํ ํ๋ค์ค ๋น๊ต
graph TD
subgraph OPEN["โ
์คํ ํ๋ค์ค (Deep Agents ๋ชจ๋ธ)"]
O1["๋ฉ๋ชจ๋ฆฌ ์์ ์์ "]
O2["๋ชจ๋ธ ์์ ๋ก์ด ๊ต์ฒด"]
O3["๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์์ ํ์
"]
O4["๋ฐ์ดํฐ ์ด์์ฑ ๋ณด์ฅ"]
O5["๋ฒค๋ ๋ฝ์ธ ์์"]
end
subgraph CLOSED["โ ํด๋ก์ฆ๋ ํ๋ค์ค (Managed Agents ๋ชจ๋ธ)"]
C1["๋ฉ๋ชจ๋ฆฌ ์์ ๊ถ ์์"]
C2["๋ชจ๋ธ ๊ต์ฒด ์ ๋ฉ๋ชจ๋ฆฌ ์์ค"]
C3["๋ฉ๋ชจ๋ฆฌ ์ฒ๋ฆฌ ๋ฐฉ์ ๋ถ๋ช
"]
C4["๋ฐ์ดํฐ ์ด์ ๋ถ๊ฐ"]
C5["์์ ํ ๋ฒค๋ ๋ฝ์ธ"]
end
DEV["๊ฐ๋ฐ์/๊ธฐ์
"] -->|"์ ํ"| OPEN
DEV -->|"์ ํ"| CLOSED
style OPEN fill:#e8ffe8,stroke:#2ecc40
style CLOSED fill:#ffe8e8,stroke:#d93025
style DEV fill:#e8f0ff,stroke:#6b7de8
7. ์ฐ์ ์ ํจ์์ ์ ๋ง
7-1. ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋์ ์ ๋ต์ ์๋
๋ชจ๋ธ ํ๋ก๋ฐ์ด๋๋ค์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ API ๋ค์ ์จ๊ธฐ๋ ๊ฒ์ ๋จ์ํ ํธ์์ฑ์ด ์๋๋ค. ์ด๋ ๋ช ํํ ์ ๋ต์ ์๋์ ์ฐ๋ฌผ์ด๋ค. ๋ชจ๋ธ๋ง์ผ๋ก๋ ์ฐจ๋ณํ๊ฐ ์ด๋ ค์์ง๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ชจ๋ ํ๋ก๋ฐ์ด๋๊ฐ ๋น์ทํ ์ฑ๋ฅ์ ๊ฐ์ถฐ๊ฐ๋ ์ํฉ์์, ๋ฉ๋ชจ๋ฆฌ๋ ์๋ก์ด ๊ฒฝ์์ ์ฅ์ด ๋๋ค.
๋ฉ๋ชจ๋ฆฌ๋ ๋ชจ๋ธ ์์ฒด๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ ๋ฝ์ธ ๋ฉ์ปค๋์ฆ์ด๋ค. ์ฌ์ฉ์๊ฐ 6๊ฐ์๊ฐ ์์ ์์ด์ ํธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฒ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ์, API ํค ํ๋ ๋ฐ๊พธ๋ ๊ฒ๊ณผ๋ ์ฐจ์์ด ๋ค๋ฅธ ๋น์ฉ์ ์๋ฐํ๋ค.
7-2. ๊ฐ๋ฐ์์ ๊ธฐ์ ์ด ์ง๊ธ ํด์ผ ํ ์ง๋ฌธ๋ค
mindmap
root((๋ฉ๋ชจ๋ฆฌ ์ฃผ๊ถ ์ฒดํฌ๋ฆฌ์คํธ))
ํ๋ค์ค ์ ํ
์คํ์์ค์ธ๊ฐ?
์์ค์ฝ๋๋ฅผ ์ง์ ์ฝ์ ์ ์๋๊ฐ?
๋ฉ๋ชจ๋ฆฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด ๋ฌธ์ํ๋์ด ์๋๊ฐ?
๋ฉ๋ชจ๋ฆฌ ์ ์ฅ
์ด๋์ ์ ์ฅ๋๋๊ฐ?
์ง์ ์ ๊ทผ ๊ฐ๋ฅํ๊ฐ?
๋ด๋ณด๋ด๊ธฐexport๊ฐ ๊ฐ๋ฅํ๊ฐ?
์ด์์ฑ
๋ค๋ฅธ ๋ชจ๋ธ๋ก ์ ํ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ์ง๋๋๊ฐ?
๋ค๋ฅธ ํ๋ค์ค๋ก ์ด์ ํ ์ ์๋๊ฐ?
๋ฐ์ดํฐ ํ์์ด ํ์คํ๋์ด ์๋๊ฐ?
๋ฝ์ธ ์ํ
์ด๋ ํ ํ๋ก๋ฐ์ด๋์ ์ข
์๋์ด ์๋๊ฐ?
์ปดํฉ์
์์ฝ์ด ์ํธํ๋์ด ์๋๊ฐ?
์๋ฒ์ฌ์ด๋ ์ํ ์ ์ฅ์ ์ฌ์ฉํ๋๊ฐ?
7-3. ํฅํ ์ ๋ง
์ ์์ ๋ ผ์ง์ ๋ฐ๋ฅด๋ฉด, ์์ด์ ํธ ์ํ๊ณ๋ ๋ ์ง์์ผ๋ก ๋ถํ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
ํ์ํ ์ง์: Anthropic(Claude Managed Agents), OpenAI(Responses API + ์ํธํ ์ปดํฉ์ )๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ซํผ์ ๋ฌถ์ด ๋ฝ์ธ์ ๊ฐํํ๋ค. ๋จ๊ธฐ์ ์ผ๋ก ํธ๋ฆฌํ๊ณ ์์ฑ๋ ๋์ ๊ฒฝํ์ ์ ๊ณตํ์ง๋ง, ๊ฐ๋ฐ์๋ ์ ์ ๋ ๊น์ด ์ข ์๋๋ค.
๊ฐ๋ฐฉํ ์ง์: LangChain(Deep Agents), Letta ๋ฑ์ด ์คํ์์คยท๋ชจ๋ธ ๋น์ข ์ ํ๋ค์ค๋ฅผ ์ ๊ณตํ๋ค. ์ด๊ธฐ ๊ตฌ์ถ ๋น์ฉ์ด ๋ ๋ค ์ ์์ง๋ง, ์ฅ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ ์ฃผ๊ถ๊ณผ ์ ์ฐ์ฑ์ ์ ์งํ๋ค.
8. ํต์ฌ ๋ฉ์์ง ์ ๋ฆฌ
graph TD
P1["์์ด์ ํธ ํ๋ค์ค๋<br/>์ฌ๋ผ์ง์ง ์๋๋ค"] -->|"์๋ํ๋ฉด"| E1["LLM์ด ๋๊ตฌ์ ์ํธ์์ฉํ๋ ค๋ฉด<br/>ํญ์ ์ค์ผ์คํธ๋ ์ด์
๋ ์ด์ด๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ"]
P2["ํ๋ค์ค์ ๋ฉ๋ชจ๋ฆฌ๋<br/>๋ถ๋ฆฌ ๋ถ๊ฐ๋ฅํ๋ค"] -->|"์๋ํ๋ฉด"| E2["๋ฉ๋ชจ๋ฆฌ๋ ์ปจํ
์คํธ์ ํํ์ด๊ณ <br/>์ปจํ
์คํธ ๊ด๋ฆฌ๋ ํ๋ค์ค์ ํต์ฌ ์ญํ ์ด๊ธฐ ๋๋ฌธ"]
P3["ํด๋ก์ฆ๋ ํ๋ค์ค =<br/>๋ฉ๋ชจ๋ฆฌ ์ฃผ๊ถ ์์ค"] -->|"๊ฒฐ๊ณผ์ ์ผ๋ก"| E3["๋ชจ๋ธ ์ ํ ๋ถ๊ฐ<br/>๋ฐ์ดํฐ ์ด์ ๋ถ๊ฐ<br/>๋ฒค๋ ์์ ์ข
์"]
P4["๋ฉ๋ชจ๋ฆฌ๋<br/>์๋ก์ด ๋ฝ์ธ ๋ฌด๊ธฐ๋ค"] -->|"์๋ํ๋ฉด"| E4["์ฌ์ฉํ ์๋ก ์์ด๊ณ <br/>์์ผ์๋ก ๋ ๋๊ธฐ ์ด๋ ค์์ง๋ฉฐ<br/>๋ชจ๋ธ๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ ์ข
์์ฑ์ ๋ง๋ค๊ธฐ ๋๋ฌธ"]
P5["ํด๋ฒ: ์คํ ํ๋ค์ค๋ก<br/>๋ฉ๋ชจ๋ฆฌ ์ฃผ๊ถ ํ๋ณด"] -->|"์ค์ฒ ๋ฐฉ๋ฒ"| E5["์คํ์์ค ํ๋ค์ค ์ฌ์ฉ<br/>์์ฒด DB์ ๋ฉ๋ชจ๋ฆฌ ์ ์ฅ<br/>๋ชจ๋ธ ๋น์ข
์ ์ค๊ณ"]
style P1 fill:#e8f0ff,stroke:#6b7de8
style P2 fill:#e8f0ff,stroke:#6b7de8
style P3 fill:#ffe8e8,stroke:#d93025
style P4 fill:#fff8e8,stroke:#f0a500
style P5 fill:#e8ffe8,stroke:#2ecc40
9. LxM(Ludus Ex Machina) ๊ด์ ์์์ ์์ฌ์
์ด ๋ ผ๋ฌธ์ LxM ํ๋ก์ ํธ์ ๊น์ ์ฐ๊ด์ฑ์ ๊ฐ๋๋ค. AI ๋ชจ๋ธ์ ๋ค์ํ ๊ฒ์์์ ํ๊ฐํ๋ ํ๋ซํผ์ผ๋ก์, LxM์ ํ์ฐ์ ์ผ๋ก ์ฌ๋ฌ ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋์ API๋ฅผ ๋์์ ํ์ฉํด์ผ ํ๋ค. ์ด๋ ๊ฐ ์์ด์ ํธ์ ๊ฒ์ ๊ธฐ์ต(game memory) โ ์ด์ ํ์ ์ ๋ต, ์๋๋ฐฉ์ ํจํด, ์์ ์ ์ฑ๊ณต/์คํจ ํ์ต โ ์ด ํน์ ํ๋ค์ค๋ API์ ๋ฌถ์ด๋ฉด ์ ๋๋ค.
LxM ์ํคํ ์ฒ ๊ถ๊ณ ์ฌํญ:
- ๊ฐ AI ์์ด์ ํธ์ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ ๋ฆฝ์ ์ธ ์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ ๊ฒ
- ํ๋ค์ค๋ ๋ชจ๋ธ ๋น์ข ์์ผ๋ก ์ค๊ณํ์ฌ Gemini, Claude, GPT๋ฅผ ๋์ผํ ์ธํฐํ์ด์ค๋ก ๋ค๋ฃฐ ๊ฒ
- ์ปดํฉ์ (๊ฒ์ ์์ฝ)์ ์์ฒด ํฌ๋งท์ผ๋ก ๊ตฌํํ์ฌ ํน์ ํ๋ซํผ์ ์์กดํ์ง ์์ ๊ฒ
๐ ์ฐธ๊ณ ์๋ฃ
- ์๋ฌธ: Your harness, your memory - LangChain Blog (Harrison Chase, 2026.04.11)
- ๊ด๋ จ ๊ธ: The Anatomy of an Agent Harness - LangChain Blog
- Sarah Wooders์ ํธ์ํฐ: โMemory isnโt a plugin (itโs the harness)โ
- Deep Agents ๋ฌธ์: docs.langchain.com/oss/python/deepagents
- Claude Managed Agents: platform.claude.com/docs/en/managed-agents
์ด ๋ฌธ์๋ Harrison Chase์ LangChain ๋ธ๋ก๊ทธ ํฌ์คํธ โYour Harness, Your Memoryโ (2026.04.11)๋ฅผ ๋ฐํ์ผ๋ก, ์ ๊ณต๋ ๋ค์ด์ด๊ทธ๋จ ์ด๋ฏธ์ง๋ค์ ํฌํจํ์ฌ ํ๊ตญ์ด๋ก ์์ธ ๋ถ์ยท์ฌ๊ตฌ์ฑํ ๊ฒ์ ๋๋ค.