Strands Agents 코스 시작하기 샘플
요약
Strands Agents 프레임워크를 활용하여 기초부터 운영 환경 배포까지 단계별로 학습하는 AI 에이전트 개발 코스입니다. MCP, 멀티 에이전트 시스템, Amazon Bedrock 통합 등 실무적인 에이전트 구축 기술을 다룹니다.
핵심 포인트
- Strands Agents 프레임워크 기반 에이전트 개발 실습
- MCP 및 멀티 에이전트 시스템(Swarm, Graph) 구축 방법
- Amazon Bedrock을 활용한 운영 환경 배포 및 확장
- 에이전트 간 통신(A2A) 및 관측성(Observability) 학습
🎯 학습 여정 (Learning Journey): 코스 1 (기초) → 코스 2 (고급 MCP, Hooks, 세션 관리) → 코스 3 (멀티 에이전트 시스템) → 코스 4 (운영 환경 배포)
Strands Agents 프레임워크를 사용하여 AI 에이전트 (AI agent) 개발을 위한 포괄적인 실습 학습 경로입니다. 기초 개념부터 고급 기능을 갖춘 운영 환경용 구현까지 지능형 멀티 에이전트 시스템 (multi-agent systems)을 구축합니다. 이 모든 코스는 Analytics Vidhya에서 무료로 따라 할 수 있는 영상 강의를 제공합니다.
이 저장소는 기초부터 고급 운영 환경용 구현까지 단계별로 진행되는 4개의 코스를 포함하고 있습니다:
기초 에이전트 생성, 모델 제공자 (model providers), AWS 통합, MCP 기초, 에이전트 간 통신 (agent-to-agent communication), 그리고 관측성 (observability) 기초를 다루는 기초 코스입니다.
영상 시리즈는 여기에서 무료로 등록하여 시청할 수 있습니다.
운영 환경용 구현, 고급 도구 통합, 지속성 메모리 시스템 (persistent memory systems), 훅 (hooks), 세션 관리 (session management), 그리고 엔터프라이즈 기능을 중점적으로 다루는 고급 코스입니다.
영상 시리즈는 여기에서 무료로 등록하여 시청할 수 있습니다.
Strands Agents를 사용하여 군집 (swarm), 그래프 기반 (graph-based), 그리고 도구로서의 에이전트 (agents as tools) 패턴을 활용해 조정, 통신 및 복잡한 문제를 해결하는 지능형 멀티 에이전트 시스템을 개발합니다.
영상 시리즈는 여기에서 무료로 등록하여 시청할 수 있습니다.
서버리스 확장 및 관리를 위한 Amazon Bedrock AgentCore Runtime을 사용하여 운영 환경에서 에이전트를 실행하기 위한 모범 사례를 다루는 운영 환경 배포 코스입니다.
총 학습 시간: 모든 코스 합계 약 5-6시간
위치: course-1/ 디렉토리
기본 사용법부터 에이전트 간 (A2A) 통신 및 관측성과 같은 고급 주제까지 AI 에이전트 개발의 전체 여정을 학습하세요.
- Strands Agents 프레임워크 - 지능형 AI 에이전트 구축
- 모델 컨텍스트 프로토콜 (Model Context Protocol, MCP) - 도구 통합 활성화
- 에이전트 간 통신 (Agent-to-Agent Communication) - 멀티 에이전트 시스템 생성
- 관측성 및 평가 (Observability & Evaluation) - 에이전트 성능 모니터링 및 개선
| 🧪 실습 (Lab) | 📝 학습 내용 | ⏱️ 소요 시간 | 📊 난이도 |
|---|---|---|---|
| 실습 1: Strands Agent 기초 | 에이전트 초기화 (Agent initialization), 시스템 프롬프트 (System prompts), HTTP 도구 (HTTP tools) | 15분 | |
| ... | |||
파일: basic-use.py, http-tool-use.py, system-prompt-use.py |
Strands 에이전트 생성 및 사용의 기초를 학습합니다:
- 기본적인 에이전트 초기화 및 사용법
- 시스템 프롬프트 (System prompt) 커스텀
- HTTP 도구 (HTTP tool) 통합
파일: anthropic-model-provider.py, anthropic-pet-breed-agent.py, bedrock-default-config.py, bedrock-detailed-config.py
다양한 모델 제공자 (Model providers) 및 설정 옵션을 탐색합니다:
- Anthropic Claude 모델 통합
- Amazon Bedrock 모델 설정
참고: 이 실습의 일부 부분은 'generate_image' 도구 사용을 위해 기존 AWS 계정이 필요합니다.
파일: aws-tool-use.py
Strands 에이전트에 AWS 서비스를 통합하는 방법을 학습합니다:
use_aws도구 사용- Amazon S3 및 Amazon DynamoDB를 활용한 예제
참고: 이 실습의 코드는 'use_aws' 도구를 적절히 활용하기 위해 기존 AWS 계정이 필요합니다. 테이블 쿼리 시 결과를 생성하기 위해 예시 Amazon DynamoDB 테이블이 사용됩니다.
파일: mcp-and-tools.ipynb, mcp_calulator.py
모델 컨텍스트 프로토콜 (Model Context Protocol, MCP)을 심층적으로 다룹니다:
- MCP 서버 생성
- 도구 (Tool) 정의 및 사용
- 계산기 (Calculator) 및 날씨 (Weather) 에이전트 예제
- 대화형 Jupyter 노트북 튜토리얼
파일: a2a-communication.ipynb, run_a2a_system.py, employee_data.py, employee-agent.py, hr-agent.py
에이전트 간 통신 (Inter-agent communication)을 통한 멀티 에이전트 시스템을 구축합니다:
- A2A 통신 패턴
- 직원/인사(Employee/HR) 에이전트 시스템 예제
- 데이터 공유를 위한 MCP 서버
- REST API 통합
파일: observability-with-langfuse-and-evaluation-with-ragas.ipynb, restaurant-data/
에이전트 성능을 모니터링하고 평가합니다:
- 식당 추천 에이전트 예제
- 관측성 (Observability)을 위한 LangFuse 통합
- RAGAS 평가 프레임워크
- 성능 지표 (Performance metrics) 및 트레이싱 (Tracing)
위치: course-2/ 디렉토리
Strands Agents SDK를 사용하여 프로덕션 수준의 AI 에이전트를 구축하기 위한 포괄적인 심화 코스입니다. 이 저장소는 도구 통합 (Tool integration), 메모리 지속성 (Memory persistence), Model Context Protocol (MCP), 그리고 포괄적인 관측성 (Observability)을 포함한 고급 기능들을 가르치는 6개의 단계별 실습 (Labs)을 포함하고 있습니다.
Strands Agents SDK
- 고급 에이전트 아키텍처 및 라이프사이클 관리 (Lifecycle management)
Model Context Protocol (MCP) - 표준화된 도구 및 서비스 통합
멀티 프로바이더 구성 (Multi-Provider Configuration) - Amazon Bedrock, Anthropic, OpenAI, 그리고 Ollama
고급 프로세싱 (Advanced Processing) - 훅 (Hooks), 세션 관리 (Session management), 그리고 대화 전략 (Conversation strategies)
메모리 시스템 (Memory Systems) - FAISS, OpenSearch, 그리고 Mem0를 활용한 장기 지속성 메모리
엔터프라이즈 기능 (Enterprise Features) - 관측성 (Observability), 지표 분석 (Metrics analysis), 그리고 성능 최적화 (Performance optimization)
| 🧪 실습 (Lab) | 📝 학습 내용 | ⏱️ 소요 시간 | 📊 레벨 |
|---|---|---|---|
| Lab 1: Strands Agents 개요 | 기본적인 에이전트 기반 AI 개념, 에이전트 라이프사이클 | 13분 | |
| ... | |||
파일: first_agent.py |
기본적인 에이전트 기반 AI 개념을 배우고 첫 번째 Strands 에이전트를 구축합니다:
- 기본 설정을 통한 기초적인 에이전트 생성 (API 키 불필요)
- 핵심 에이전트 구성 요소 및 실행 흐름 (Execution flow)
- 에이전트 결과 검토 (메시지, 지표, 상태, 중단 사유)
- 동적 모델 구성 및 시스템 프롬프트 수정
- 대화 기록 관리 및 메시지 삭제
파일: anthropic_model.py, bedrock_model.py, ollama_model.py, openai_model.py
유연성과 비용 최적화를 위해 여러 LLM 프로바이더에 걸쳐 에이전트를 구성합니다:
- 모델 아키텍처 개요 및 프로바이더별 파라미터
- 구조화된 출력 (Structured output) 기능이 포함된 Bedrock 모델 설정
- 사고 모드 (Thinking mode)를 포함한 Anthropic 모델 구성
- Ollama 로컬 배포 및 OpenAI 통합
- 지표 분석 및 성능 모니터링
파일: async_example.py, hook_example_1.py, hook_example_2.py
라이프사이클 시점에서 에이전트의 동작을 가로채고 수정하기 위한 커스텀 로직을 구현합니다:
- 이벤트 기반 훅 시스템 (Event-driven hook system) 및 라이프사이클 관리
- 이벤트 전/후 (Before/after) 처리 및 에이전트 수정
- 비동기 반복자 (Async iterators), 콜백 핸들러 (Callback handlers) 및 재시도 로직 (Retry logic)
- 도구 훅 (Tool hook) 예시 및 정밀도 파라미터 (Precision parameter) 설정
Files: mcp_integration.py, self_extending_example.py, tools/
커스텀 도구 및 외부 서비스 통합을 통해 에이전트의 역량을 확장합니다:
strands-agents-tools라이브러리의 내장 도구@tool데코레이터를 사용한 커스텀 도구 생성- AWS Documentation 및 Pricing을 위한 MCP 서버 설정
- 자기 확장형 에이전트 (Self-extending agents) 및 메타 툴링 (Meta tooling) 기능
- 적절한 에러 처리 및 보안 구현
Files: session_example.py, verify_session.py
상호작용 전반에 걸쳐 대화 상태와 컨텍스트 (Context)를 효과적으로 관리합니다:
- 컨텍스트 윈도우 (Context window) 문제 및 관리 전략
- 세 가지 대화 관리자 접근 방식 (Null, SlidingWindow, Summarizing)
- 세션 상태 지속성 (Session state persistence) 및 사용자 격리
- 파일 기반 및 Amazon S3 세션 저장 옵션
Files: memory_example.py
대화를 가로질러 장기 기억 (Long-term memory) 역량을 갖춘 에이전트를 구축합니다:
- 메모리 백엔드 (Memory backends) 통합 (FAISS, OpenSearch, Mem0)
- DuckDuckGo를 이용한 웹 검색 통합
- 메모리 저장, 검색 및 관련성 점수 산정 (Relevance scoring)
- Amazon Bedrock Knowledge Bases 통합
- 보존 정책 (Retention policies) 및 개인정보 보호 제어
Location: Strands Samples
Strands Agents를 사용하여 군집 (Swarm), 그래프 기반 (Graph-based), 에이전트를 도구로 사용하는 패턴 (Agents as tools patterns)을 통해 조정, 통신 및 복잡한 문제를 해결하는 지능형 멀티 에이전트 시스템을 개발합니다.
| 🧪 Lab | 📝 학습 내용 | ⏱️ 소요 시간 | 📊 난이도 |
|---|---|---|---|
| Lab 1: 군집 지능을 활용한 멀티 에이전트 시스템 | Jupyter notebook을 사용하여 Swarm 멀티 에이전트 패턴을 심층 학습 | 30분 | |
| ... | |||
Location: course-4/ 디렉토리 |
Amazon Bedrock AgentCore Runtime을 사용하여 프로덕션 환경에 적합한 AI 에이전트를 배포하는 방법을 배웁니다. 이 코스는 프로덕션 환경에서의 에이전트 서버리스 배포, 확장 및 관리에 중점을 둡니다.
Production Best Practices (프로덕션 모범 사례)
- 개발 (Development) 및 프로덕션 (Production) 에이전트 배포 간의 차이점 이해
Amazon Bedrock AgentCore - AgentCore 서비스 및 구성 요소에 대한 종합적인 개요
Serverless Deployment (서버리스 배포) - 자동 확장 (Auto-scaling) 및 세션 관리 (Session management)를 통한 에이전트 배포
Production Operations (프로덕션 운영) - 프로덕션 에이전트 시스템 모니터링, 문제 해결 및 유지 관리
| 🧪 Lab | 📝 학습 내용 | ⏱️ 시간 | 📊 레벨 |
|---|---|---|---|
| Lab 1: Operating Agents in Production | 프로덕션 모범 사례, 개발 vs 프로덕션 차이점 | 9분 | |
| ... |
프로덕션 환경에서 에이전트를 실행하기 위한 모범 사례와 로컬 개발 환경과의 차이점을 이해합니다.
Amazon Bedrock AgentCore 및 그 구성 요소의 기초를 이해합니다.
파일: my_agent.py, invoke_agent.py, requirements.txt
프로덕션 준비가 된 계산기 에이전트의 실습 배포:
- Strands Agents 프레임워크를 사용한 에이전트 생성
- AgentCore Runtime 배포 및 구성
- 세션 관리를 통한 배포된 에이전트 테스트
- 프로덕션 호출 패턴 및 모범 사례
참고: 이 실습에는 적절한 권한이 있고 Amazon Bedrock 콘솔에서 모델 액세스가 활성화된 AWS 계정이 필요합니다.
| 🔧 기술 | 🎯 목적 | 📖 문서 |
|---|---|---|
| Strands Agents | AI 에이전트 프레임워크 | Docs |
| Anthropic Claude | 대체 LLM 제공업체 | Docs |
| Amazon Bedrock | AWS 관리형 LLM 서비스 | Docs |
| OpenAI | 대체 LLM 제공업체 | Docs |
| Ollama | 로컬 모델 배포 | Docs |
| Model Context Protocol | 도구 통합 표준 | Docs |
| LangFuse | 관측성 (Observability) 및 트레이싱 (Tracing) | Docs |
| RAGAS | 에이전트 평가 | Docs |
| Mem0 | 메모리 지속성 (Memory persistence) | Docs |
| FAISS | 벡터 유사도 검색 (Vector similarity search) | Docs |
| OpenSearch | 검색 및 분석 | Docs |
Python 3.10+
가상 환경 (Virtual environment) (권장)
최소 하나 이상의 API 키:
- Anthropic Claude
- Amazon Bedrock
Lab 6의 경우: LangFuse 계정 및 API 키
Lab 3, 5의 경우: 적절한 CLI 설정이 완료된 AWS 계정
코스 1 완료(Lab 1-6) 또는 그에 상응하는 지식
Python 3.10+
가상 환경 (Virtual environment) (권장)
Anthropic Claude API 키 (주요 요구사항) - Anthropic Console에서 발급
특정 Lab을 위한 추가 API 키:
- Amazon Bedrock (AWS 통합 Lab용)
- OpenAI (선택적 대안)
- Mem0 (Lab 6 메모리 지속성용)
코스 1-2 완료(Lab 1-6) 또는 그에 상응하는 지식
Python 3.10+
가상 환경 (Virtual environment) (권장)
Amazon Bedrock에서 Anthropic Claude 3.7이 활성화된 AWS 계정
Amazon Bedrock 사용 권한이 있는 AWS IAM 역할 (Role)
코스 1-3 완료 또는 그에 상응하는 지식
적절한 권한을 가진 AWS 계정
Python 3.10+
aws configure로 설정된 AWS CLI
AWS 권한: BedrockAgentCoreFullAccess 정책
모델 액세스: Amazon Bedrock 콘솔에서 Anthropic Claude 3.5 Haiku 활성화
git clone https://github.com/aws-samples/sample-getting-started-with-strands-agents-course.git
cd sample-getting-started-with-strands-agents-course
# 가상 환경 생성
python -m venv .venv
# 활성화 (Linux/Mac)
...
# 코스 1용
pip install -r requirements.txt
# 코스 2용
...
루트 디렉토리에 .env 파일을 생성하세요:
# Anthropic (권장)
ANTHROPIC_API_KEY=your_anthropic_api_key
# AWS Bedrock (선택 사항)
...
course-2/ 디렉토리의 .env.example을 .env로 복사하세요:
# 필수 - https://console.anthropic.com/ 에서 발급
ANTHROPIC_API_KEY=sk-ant-your_key_here
# 선택 사항 - 특정 Lab에서만 사용
...
Lab 1-3: Python 스크립트
cd Lab1
python basic-use.py
Lab 4: 대화형 노트북 (Interactive Notebook)
cd Lab4
jupyter notebook mcp-and-tools.ipynb
Lab 5: 멀티 에이전트 시스템 (Multi-Agent System)
cd Lab5
jupyter notebook a2a-communication.ipynb
Lab 6: 관측 가능성 (Observability)
cd Lab6
jupyter notebook observability-with-langfuse-and-evaluation-with-ragas.ipynb
Lab 1: 에이전트 기초 (Agent Fundamentals) (API 키 불필요)
Lab 1: 에이전트 기초 (Agent Fundamentals) (API 키 불필요)
cd course-2/Lab1
python first_agent.py
Lab 2: Model Providers
cd course-2/Lab2
python anthropic_model.py
python bedrock_model.py
Lab 3: Hooks
cd course-2/Lab3
python hook_example_1.py
python async_example.py
Lab 4: MCP Integration
cd course-2/Lab4
python mcp_integration.py
Lab 5: Session Management
cd course-2/Lab5
python session_example.py
Lab 6: Memory Agents
cd course-2/Lab6
python memory_example.py
Lab 3: Production Deployment
cd course-4
python my_agent.py
AgentCore Runtime에 배포하기
cd course-4
agentcore configure -e my_agent.py
agentcore launch
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기