AI 에이전트 개발을 위한 Strands Agents SDK 소개
strands-agents/harness-sdk
GitHubStrands Agents는 Python과 TypeScript를 지원하는 오픈소스 SDK로, 복잡한 에이전트 루프를 직접 구현할 필요 없이 AI 에이전트를 쉽게 구축하고 실행하도록 돕습니다.
- 에이전트의 생명주기 제어, 도구 연동, 구조화된 출력은 물론 가드레일, 메모리 관리, 다중 에이전트 패턴까지 기본 지원하여 개발자가 전체 과정을 완벽하게 통제할 수 있습니다.
- 특정 모델이나 클라우드에 종속되지 않는 '모델 비의존성'을 제공하며, 백엔드를 변경해도 코드를 수정할 필요 없이 에이전트를 확장하고 배포하는 데 용이합니다.
- 초보자는 완성형 'harness'로 즉시 작동하는 에이전트부터 시작할 수 있으며, 더 깊은 제어가 필요하면 Python/TypeScript SDK를 이용해 개별 컴포넌트를 직접 구성할 수 있습니다.
Strands Agents는 Python과 TypeScript를 지원하는 로, 를 구축하고 실행하기 위한 모델 기반 접근 방식을 제공합니다. 이 SDK는 사용자가 직접 복잡한 에이전트 루프를 구현할 필요 없이, 생명주기 제어(턴 제한, 예산 등), 도구 연동, 구조화된 출력, 가드레일, 메모리 관리, 다중 에이전트 패턴 등을 하나의 SDK에서 통합적으로 제공하여 개발자가 전체 과정을 완벽하게 통제할 수 있도록 돕습니다.
개발자는 시작 방식에 따라 두 가지 경로를 선택할 수 있습니다. 가장 쉬운 방법은 완성형 'Strands harness'를 사용하는 것입니다. 이는 `create_harness()` (Python) 또는 `createHarness()` (TypeScript) 호출 한 번으로 모델, 도구, 메모리 등이 기본 설정된 최적화된 에이전트를 즉시 얻을 수 있습니다. 반면, 더 깊은 제어가 필요할 경우 Python 및 TypeScript SDK를 사용하여 에이전트 루프, 모델 제공자(model providers), 도구 등을 직접 구성하며 빌드할 수 있습니다.
기술적으로 Strands Agents는 특정 클라우드나 모델에 종속되지 않는 '모델 비의존성'을 특징으로 합니다. Amazon Bedrock, Anthropic, OpenAI, Gemini 등 다양한 모델 공급자를 지원하며, 백엔드를 변경해도 코드를 수정할 필요 없이 에이전트를 확장하는 것이 용이합니다. 또한, 에이전트 루프는 기본적으로 모든 결정을 추적(tracing)하고, 가드레일 기능을 통해 오류가 발생하기 전에 실수를 포착하여 안정적인 결과물을 도출하도록 설계되었습니다.
용어 풀이
- 오픈소스
- 소스 코드를 공개해 누구나 보고 고치고 다시 배포할 수 있게 한 소프트웨어.
- SDK
- 특정 서비스나 기기를 쉽게 쓰도록 묶어 둔 개발 도구 모음.
- AI 에이전트
- 목표를 받으면 스스로 계획을 세우고 도구를 써서 여러 단계의 작업을 해내는 AI.
- 토큰
- AI 모델이 글을 처리하는 단위. 단어보다 작은 조각이며 사용량과 요금을 셀 때 기준이 돼요.