Organizer 정리 산출물(From_RawData) + 이사 체크리스트 + 인덱스 갱신

- Raw_Data 자동 정리 산출물이 각 도메인 From_RawData/ 로 편입, 00_INDEX 연결 갱신
- 컴퓨터_이사_체크리스트.md 추가 (두뇌-상대 경로 규약 v2.2.304 — 새 컴퓨터에서
  바꿀 절대 경로는 localBrainPath 1개)
- Astra 세션 산출물(에피소드 기억·기능 인벤토리) 갱신

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Antigravity Agent
2026-07-11 21:03:00 +09:00
parent 468322768c
commit 2cc6eff2dd
162 changed files with 15836 additions and 14 deletions
@@ -0,0 +1,140 @@
---
id: ai-agents
title: "AI Agents"
category: "AI_and_ML"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["인공지능 에이전트", "Autonomous AI Systems", "에이전트 시스템", "LLM 에이전트", "AI Agent"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.95
created_at: 2026-07-11
updated_at: 2026-07-11
review_reason: ""
merge_history: []
tags: ["research", "context 이해 규칙", "AI", "Agent", "LLM"]
raw_sources:
- "Effective context engineering for AI agents - Anthropic"
- "Prompt Engineering Guide: Chain-of-Thought, ReAct & Few-Shot Techniques "
- "Prompting best practices - Claude Platform Docs"
applied_in:
- "Claude Code (Anthropic)"
- "Claude playing Pokémon"
github_commit: ""
---
# [[AI Agents]]
## 🎯 한 줄 통찰 (One-line insight)
AI 에이전트는 거대 언어 모델(LLM)이 도구를 자율적으로 사용하며 루프 형태로 작동하는 시스템으로, 성공적인 장기 작업 수행을 위해 제한된 컨텍스트를 동적으로 관리하는 '맥락 엔지니어링(Context Engineering)'과 상태 추적 기술이 필수적이다.
## 🧠 핵심 개념 (Core concepts)
* **AI 에이전트의 정의:** 거대 언어 모델(LLM)이 자체적으로 환경과 상호작용하기 위해 도구를 자율적으로 사용하며 루프(loop) 형태로 작동하는 시스템 [S1].
* **맥락 공학(Context Engineering):** 에이전트가 생성하고 수집하는 방대한 정보 중에서 모델의 유한한 '주의력 예산(attention budget)' 내에 들어갈 최적의 신호(token)를 선별 및 큐레이션하여 컨텍스트 부패(Context rot)를 방지하는 기술 [S1].
* **에이전트 프롬프팅(Agentic Prompting):** 도구 사용 전략, 오류 복구 메커니즘, 장기 목표 추적 등 에이전트의 자율적 행동을 제어하고 다단계 워크플로를 안내하기 위한 체계적인 프롬프트 설계 [S2], [S3].
* **상태 관리 및 장기 추론(Long-horizon reasoning & state tracking):** 에이전트가 수 시간 이상의 장기적인 작업을 수행할 때, 점진적 진행 상황에 집중하고 메모리 도구나 구조화된 노트(`tests.json`, `progress.txt` 등)를 통해 현재 상태를 유지 및 복원하는 능력 [S3].
## 🧩 추출된 패턴 (Extracted patterns)
* **적시 검색 (Just-in-time retrieval):** 모든 데이터를 사전에 처리하여 입력하는 대신, 에이전트가 파일 경로와 같은 경량 식별자만 유지하다가 필요한 런타임 시점에 능동적으로 도구를 사용해 환경을 탐색하고 데이터를 로드하는 패턴 [S1].
* **압축 (Compaction):** 에이전트의 작업 내역이 컨텍스트 제한에 도달할 때, 중요 결정 사항이나 해결되지 않은 버그 등 핵심 세부 정보만 요약(Summarization)하고 중복된 도구 출력 결과 등은 삭제하여 새로운 컨텍스트 창을 재초기화하는 메모리 관리 패턴 [S1], [S3].
* **구조화된 노트 필기 (Structured Note-taking / Agentic Memory):** 에이전트가 복잡한 작업을 가로지르는 진행 상황과 종속성을 유지하기 위해 컨텍스트 창 외부의 메모리(예: `NOTES.md` 파일)에 정기적으로 기록을 남기고, 이후 필요할 때 다시 불러오는 패턴 [S1].
* **서브 에이전트 아키텍처 (Sub-agent architectures):** 주 에이전트는 고위급 계획 수립과 정보 합성에 집중하고, 전문화된 서브 에이전트를 생성하여 검색이나 심층 기술 작업 등 컨텍스트 집약적인 작업을 개별적으로 수행하게 한 뒤 요약된 결과만 반환받아 컨텍스트 창을 깨끗하게 유지하는 패턴 [S1], [S3].
## ⚖️ 비교 및 선택 기준 (Comparison & decision criteria)
| 항목 (Option) | 장점 | 단점 | 언제 선택 |
|---|---|---|---|
| **사전 추론 검색 (Pre-inference retrieval)** | 런타임 탐색이 생략되어 처리 속도가 빠름 [S1]. | 정적이며 복잡한 구문 트리나 최신 디렉토리 상태를 유연하게 반영하기 어려움 [S1]. | 법률, 금융 등 콘텐츠의 동적 변화가 적고 빠른 처리가 필요한 환경 [S1]. |
| **적시 검색 (Just-in-time retrieval)** | 점진적 정보 발견이 가능하며, 관련성 높은 정보에만 집중하여 컨텍스트 낭비를 방지함 [S1]. | 런타임에 도구를 통해 탐색하므로 속도가 느리며, 잘못된 도구 사용 시 막다른 길에서 컨텍스트를 낭비할 위험이 존재함 [S1]. | 에이전트가 환경을 자율적으로 탐색하며 동적으로 데이터를 수집해야 할 때 (하이브리드 방식과 혼용 권장) [S1]. |
| **단일 에이전트 압축 (Compaction)** | 연속적인 대화형 상호작용 및 작업 흐름을 매끄럽게 유지 가능 [S1]. | 과도하게 공격적인 압축 적용 시, 나중에 중요해질 미묘한 맥락이 영구적으로 손실될 위험 존재 [S1]. | 코드베이스 마이그레이션 등 지속적인 대화와 흐름 유지가 중요한 장기 작업 [S1]. |
| **다중 에이전트 (Sub-agent Architecture)** | 상세 탐색 컨텍스트를 서브 에이전트 내부에 격리하여 주 에이전트의 컨텍스트 창을 효율적으로 유지, 병렬 탐색에 유리함 [S1]. | 에이전트 간 오케스트레이션 설계 및 제어의 복잡성이 증가함 [S1], [S3]. | 광범위한 리서치, 다중 도메인 분석 등 우려 사항의 명확한 분리가 필요한 복잡한 작업 [S1]. |
## 📖 세부 내용 (Details)
**1. AI 에이전트의 인지적 한계와 맥락 공학(Context Engineering)**
AI 에이전트의 기반이 되는 대규모 언어 모델(LLM)은 입력 토큰이 증가함에 따라 정보 검색 정확도와 장거리 추론 능력이 저하되는 '컨텍스트 부패(Context rot)' 현상을 겪는다 [S1]. LLM 역시 인간의 작업 기억(Working memory)과 유사하게 한정된 '주의력 예산(Attention budget)'을 가지므로, 에이전트가 장시간 오류 없이 루프를 돌기 위해서는 필요한 시점에 최소한의 고신호(High-signal) 데이터만을 유지하고 큐레이션하는 맥락 공학적 접근이 필수적이다 [S1].
**2. 에이전트를 위한 도구(Tools) 최적화**
도구는 에이전트가 외부 환경과 상호작용하기 위한 핵심 인터페이스이다. 에이전트가 모호함 없이 도구를 선택할 수 있도록 도구 세트는 중복을 최소화해야 하며, 입력 매개변수는 모델의 강점을 극대화할 수 있게 명확히 서술되어야 한다 [S1]. 기능이 지나치게 방대한 도구는 에이전트의 판단 오류를 유발할 수 있으므로, 단일 목적을 가진 효율적인 도구를 최소한으로 큐레이션하여 제공하는 것이 장기적인 맥락 유지에 유리하다 [S1].
**3. 자율성과 제어의 균형을 위한 프롬프팅**
에이전트가 지나치게 자율적으로 복잡한 아키텍처를 과도하게 엔지니어링하거나, 불필요한 파일을 지속적으로 생성하는 것을 방지하기 위한 제어가 필요하다 [S3]. 해결책을 최소화하도록 명시적으로 지시하거나("필요 이상으로 오버엔지니어링하지 마라"), 파일 삭제 및 외부 API 전송과 같은 위험한 작업 수행 전에는 반드시 사용자의 확인을 거치도록 에이전트 시스템 프롬프트에 안전장치를 구축해야 한다 [S3].
**4. 다중 컨텍스트 창(Multi-context window) 워크플로 관리**
에이전트가 수행하는 작업이 여러 컨텍스트 창을 거쳐 계속될 때, 첫 번째 창에서는 테스트 작성이나 환경 설정 스크립트(`init.sh` 등)를 구성하는 프레임워크 구축에 집중하도록 지시하는 것이 효과적이다 [S3]. 이렇게 구축된 테스트 파일이나 셋업 스크립트를 기반으로 다음 창에서 일관된 검증을 수행하며 반복 작업을 이어갈 수 있다 [S3].
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
* **정보 검색 패러다임의 변화:** 기존의 시스템 설계는 RAG(Retrieval-Augmented Generation)와 같이 관련된 모든 데이터를 사전에 일괄 검색하여 컨텍스트에 밀어 넣는 방식이 주류를 이루었다. 그러나 자율 에이전트의 도입과 함께 모델이 필요한 시점에 `grep`, `glob` 같은 도구를 활용하여 스스로 환경을 점진적으로 탐색하는 '적시 검색(Just-in-time retrieval)' 방식으로 패러다임이 이동하고 있다 [S1].
* **도구 유인(Triggering) 프롬프트의 강도 완화:** 과거 모델에서는 도구 사용을 강제하기 위해 "반드시 이 도구를 사용하라(CRITICAL: You MUST use...)"와 같은 공격적인 프롬프팅이 필요했다. 하지만 에이전트 능력이 강화된 최신 모델(Claude Opus 4.6 이상)에서는 이러한 문구가 오히려 도구의 남용(Overtriggering)이나 불필요한 서브 에이전트의 무한 생성을 유발할 수 있으므로, "문제 이해에 도움이 될 때 사용하라" 수준의 일반적이고 부드러운 가이드로 업데이트해야 한다 [S3].
## 🛠️ 적용 사례 (Applied in summary)
* **Claude Code (Anthropic 에이전트 코딩 솔루션):**
대용량 데이터베이스를 다룰 때 전체 데이터를 컨텍스트에 올리지 않고, `head``tail`, `grep` 등의 Bash 명령을 사용하여 런타임에 능동적으로 데이터를 분석한다 [S1]. 또한 작업을 단일 컨텍스트에 우겨넣는 대신 진행 상황을 `progress.txt`에 기록하고, `tests.json`에 구조화된 테스트 결과를 추적하며, 컨텍스트 한계 도달 시 과거의 불필요한 도구 출력값을 삭제하여 압축(Compaction)하는 방식을 도입했다 [S1], [S3].
* **Claude playing Pokémon (비코딩 도메인 게임 에이전트):**
특정 메모리 구조에 대한 명시적 프롬프팅 없이도 에이전트가 스스로 메모리를 관리하며 포켓몬 게임을 플레이함. 탐험한 지역의 지도를 그리고, 목표(예: 피카츄 레벨업 진행도)에 대한 정밀한 집계를 유지하며, 전투 전략 노트 필기를 통해 컨텍스트가 리셋된 이후에도 수 시간의 훈련 시퀀스를 성공적으로 이어나간 사례가 관찰되었다 [S1].
## 💻 코드 패턴 (Code patterns)
에이전트가 복잡한 데이터를 처리하고 도구 및 사고(Thinking)를 수행할 때 혼동을 방지하기 위해 XML 태그 구조로 프롬프트를 위계화하는 패턴이다 [S1], [S3].
```xml
<instructions>
당신은 자율적으로 동작하는 분석 에이전트입니다.
주어진 도구를 활용하여 점진적으로 문제를 해결하고 진행 상황을 기록하십시오.
</instructions>
<context>
<documents>
<document index="1">
<source>src/core_logic/main.py</source>
<document_content>...</document_content>
</document>
</documents>
</context>
<thinking>
이전 도구 실행 결과를 바탕으로 현재 상태를 분석하고,
다음 목표 달성을 위해 어떤 도구를 호출해야 할지 추론합니다.
</thinking>
<answer>
최종 결과 및 후속 조치 내용
</answer>
```
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** A
- **신뢰 점수:** 0.95
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 관련 문서 링크 (Related document links)
### 상위/유사 개념
- [[Context Engineering]] — 에이전트의 유한한 주의력을 최적화하고 장기 생존을 돕기 위한 필수 사전 기술
- [[Prompt Engineering]] — 에이전트의 자율적 행동, 도구 사용, 출력 형식을 통제하는 기반 인터페이스
- [[ReAct]] — 에이전트의 자율적 추론(Reasoning)과 행동(Action)을 결합하여 워크플로를 설계하는 방법론
### 심층 후속 질문 (Deeper Research Questions)
- 에이전트가 '컨텍스트 부패'를 방지하기 위해 압축(Compaction)을 수행할 때, 핵심 정보의 손실(Recall)을 최소화하면서 토큰 효율성을 극대화하는 프롬프팅 최적화 전략은 무엇인가?
- 단일 에이전트가 외부 도구를 탐색하는 방식과 계층적 서브 에이전트(Sub-agent) 구조를 활용하는 방식의 연산 지연시간(Latency)과 작업 완수율 차이는 어떠한가?
- 에이전트 프롬프팅에서 발생할 수 있는 보안 취약점(예: 프롬프트 주입 공격을 통한 무단 도구 호출)을 제어하기 위한 설계 구조는 어떻게 구축해야 하는가?
### 실무 적용 맥락 (Practical Application Contexts)
- **Implementation:** 대규모 코드베이스의 마이그레이션 및 자동 리팩토링 시스템 구축
- **System Design:** 다중 도구(Bash, Database, Web Search)를 통합 사용하는 지능형 리서치 파이프라인 설계
- **Operation / Maintenance:** 지속적으로 실행되는 자율 모니터링 봇의 메모리 로깅 및 상태 체크포인트 관리
- **Learning Path:** Prompt Engineering -> Context Engineering -> ReAct & Agentic Workflow Design
### 인접 주변 주제 (Adjacent Topics)
- [[Multi-Agent Collaboration]] — 다수의 독립된 에이전트가 각자의 역할을 수행하며 상호작용하는 협업 시스템으로 확장
## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[context 이해 규칙]]
- **관련 개념:** [[Context Engineering]], [[Prompt Engineering]]
- **참조 맥락:** 거대 언어 모델(LLM)이 단발성 대화를 넘어, 복합 도구를 활용해 자율적으로 장기 태스크를 수행하도록 워크플로와 메모리를 설계할 때 참조됨.
## 📚 출처 (Sources)
- [S1] Effective context engineering for AI agents - Anthropic
- [S2] Prompt Engineering Guide: Chain-of-Thought, ReAct & Few-Shot Techniques
- [S3] Prompting best practices - Claude Platform Docs