Strands Agents 소개: AWS 오픈소스 AI 에이전트 SDK

이군·2025년 5월 17일

AWS가 모델 중심(model-driven) 접근 방식으로 AI 에이전트를 손쉽게 개발·운영할 수 있는 오픈소스 SDK, Strands Agents를 공개했습니다. 이 SDK를 사용하면 몇 줄의 코드만으로 에이전트를 정의하고, 로컬에서 테스트한 뒤 클라우드에 바로 배포할 수 있습니다.


주요 특징

  1. 모델(model) + 툴(tools) + 프롬프트(prompt)
    Strands 에이전트는 세 가지 구성 요소로 정의됩니다.

    • 모델: Amazon Bedrock, Anthropic Claude, Llama, Ollama, OpenAI(LiteLLM) 등 다양한 모델 지원
    • : MCP(Model Context Protocol) 서버 기반 툴과 Strands의 20여 개 예제 툴(파일 조작, API 호출, AWS API 등)
    • 프롬프트: 작업 정의를 위한 사용자 프롬프트와 시스템 프롬프트
  2. 에이전트 루프(Agentic Loop)
    모델이 스스로 계획(plan), 도구 호출(call tools), 반성(reflect)을 반복하며 작업을 완수합니다.

    • 각 반복에서 모델은 자연어 응답, 실행할 툴 선택, 심화 사고(thinking) 등을 결정
    • 툴 실행 결과를 다시 모델에 제공하여 다음 단계를 진행
  3. 커스터마이징

    • 툴 선택 로직, 컨텍스트 관리, 세션 상태나 메모리 저장 위치 지정
    • 멀티 에이전트 애플리케이션 구성 지원 (워크플로우, 그래프, 스웜 패턴)
  4. 유연한 배포

    • 로컬 실행 또는 AWS Lambda, Fargate, EC2 기반 API 뒤 배포
    • 모놀리식, 마이크로서비스, 클라이언트-툴 분리 등 다양한 아키텍처 지원
  5. 운영 모니터링

    • OpenTelemetry 기반 트레이싱·메트릭 수집
    • 에이전트 세션 전체 흐름 추적

간단한 예제

아래 예시는 “오픈소스 프로젝트 이름 짓기” 에이전트를 만드는 코드입니다.

from strands import Agent
from strands.tools.mcp import MCPClient
from strands_tools import http_request
from mcp import stdio_client, StdioServerParameters

NAMING_SYSTEM_PROMPT = """You are an assistant that helps to name open source projects."""

domain_name_tools = MCPClient(lambda: stdio_client(
    StdioServerParameters(command="uvx", args=["fastdomaincheck-mcp-server"])
))

github_tools = [http_request]

with domain_name_tools:
    tools = domain_name_tools.list_tools_sync() + github_tools
    naming_agent = Agent(
        system_prompt=NAMING_SYSTEM_PROMPT,
        tools=tools
    )

    naming_agent("오픈소스 AI 에이전트 SDK 프로젝트 이름을 지어주세요.")

실행 방법:

pip install strands-agents strands-agents-tools
export GITHUB_TOKEN=<your_token>
python -u agent.py

Strands Agents 커뮤니티 참여

  • GitHub: 직접 코드 확인 및 이슈·PR 참여 가능
  • 기여 환영: 추가 모델·툴 지원, 기능 개선, 문서 확장 등
  • 라이선스: Apache License 2.0

시작하기: Strands Agents 공식 리포지토리와 문서를 참고하세요.


마무리

Strands Agents는 AWS 내부에서도 Amazon Q Developer, AWS Glue, VPC Reachability Analyzer 등 다양한 팀이 이미 프로덕션에 적용 중인 SDK입니다.
복잡한 오케스트레이션 없이 최신 LLM의 내재된 사고·툴 사용 능력을 최대한 활용하여, 몇 달 걸리던 에이전트 개발을 며칠 단위로 단축해 보세요!

profile
이군의 보안, 그리고 생각을 다룹니다.

0개의 댓글