AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

AWS Strands Agent란 무엇인가?

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인공지능

대상자

AI 앱 개발자, AWS 서비스 사용자, DevOps 엔지니어

난이도: 중급 (AWS 인프라 설정 및 Python 코드 작성 기초 필요)

핵심 요약

  • AWS Strands Agentopen-source framework로, VSCode, Docker, AWS Lambda, ECS, EKS 등 다양한 환경에서 실행 가능
  • Agent Loop 기반의 구조화된 워크플로우도구 사용, 세션 기억, 다중 모델 사용 등 AI 에이전트 기능 제공
  • BedrockModelFastAPI, Streamlit UI를 활용한 실제 앱 구현 예시 제공

섹션별 세부 요약

1. AWS Strands Agent 개요

  • 구조화된 워크플로우 지원: 의사결정, 도구 사용, 응답 생성을 명확한 루프로 자동화
  • 세션 및 메모리 기능: 사용자 상호작용 간 맥락 유지로 개인화된 행동 가능
  • 다중 에이전트 협업: 복잡한 작업 수행을 위한 전문 에이전트 간 협력 가능
  • 도구 통합: MCP 도구, API, 함수의 유연한 연결 지원

2. Agent Loop 메커니즘

  • 사용자 입력 수신LLM 처리도구 사용 결정도구 실행 및 결과 수신새로운 정보 기반 추론최종 응답 생성
  • 단일 상호작용 내 다중 단계 추론 가능, 자율적인 행동 수행 지원

3. AWS Bedrock 모델 접근 설정

  • AWS Bedrock 서비스 사용을 위해 AWS Nova-Pro, Claude 3.7 Sonnet, Llama 4 등 모델 선택
  • IAM 권한 AmazonBedrockFullAccess 부여 필요
  • 환경 설정 방법:

- aws configure 사용으로 configcredentials 파일 생성

- .env 파일을 통해 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 설정

4. 코드 구현 예시

  • FastAPI 앱 구현:

```python

from fastapi import FastAPI

from strands.models import BedrockModel

MODEL = "us.amazon.nova-pro-v1:0"

bedrock_model = BedrockModel(model_id=MODEL, temperature=0.3, top_p=0.8)

```

  • Streamlit UI 구현:

```python

import streamlit as st

import requests

st.set_page_config(page_title="AWS Strands Agent Chat")

user_query = st.chat_input("질문 입력")

if user_query:

response = requests.post("http://localhost:8000/ask", json={"query": user_query})

st.session_state.messages.append({"role": "assistant", "content": response.json()["response"]})

```

5. 실행 및 디모

  • FastAPI 서버 실행:

```bash

uvicorn agent:app --host 0.0.0.0 --port 8000

```

  • Streamlit UI 실행:

```bash

streamlit run app.py

```

결론

  • AWS Strands AgentBedrockModel, FastAPI, Streamlit을 통합한 AI 앱 개발을 위한 실용적인 프레임워크
  • IAM 권한 설정, Bedrock 모델 선택, 도구 통합이 핵심 구현 단계
  • GitHub 예제를 참고하여 지금 바로 구현해보세요!