스트랜즈 에이전트는 AWS가 공개한 오픈소스(Apache 2.0) AI 에이전트 SDK다. 프롬프트와 도구만 정하면 계획하고, 도구를 부르고, 결과를 되짚는 순서는 모델이 스스로 정한다. 에이전트 루프를 직접 짜는 대신 Python이나 TypeScript로 빠르게 에이전트를 만들어 운영 환경까지 가져갈 때 쓴다.
| 항목 | 워크플로를 직접 짜는 방식 | 스트랜즈 |
|---|---|---|
| 흐름 결정 | 개발자가 단계·분기를 미리 정의 | 모델이 루프를 주도 |
| 개발자가 할 일 | 단계와 상태 전이 설계 | 프롬프트, 도구, 실행 설정 |
| 실행 위치 | 도구마다 다름 | 내 프로세스 안, 별도 관리 서버 없음 |
코드에서 시스템 프롬프트와 도구 목록을 넘겨 에이전트를 만들고, 로컬에서 시험한 뒤 클라우드에 배포하는 흐름이다. 모델 제공자는 Amazon Bedrock, Anthropic, OpenAI, Gemini, Ollama 등에서 고를 수 있어, 개발 중에는 로컬 모델로 돌리고 운영에서는 클라우드 모델로 바꿔도 코드는 그대로 둘 수 있다.
| 선택지 | 이럴 때 쓴다 |
|---|---|
| harness | 프롬프트·도구·메모리·세션·컨텍스트 관리 기본값이 다 갖춰진 에이전트를 바로 쓰고 싶을 때 |
| SDK | 에이전트 루프, 모델 연결, 메모리를 직접 조립하고 싶을 때 |
턴 수 제한, 토큰 예산, 실행 취소, 종료 사유 같은 수명 주기 설정이 들어 있다. 오래 도는 에이전트에는 턴 제한과 토큰 예산을 먼저 걸어 두면 루프가 끝없이 돌며 비용이 쌓이는 일을 막을 수 있다. 훅을 쓰면 루프의 각 단계를 가로채 기록하거나 검증하거나 방향을 바꿀 수 있어, 민감한 도구를 부르기 전에 사람 확인을 끼워 넣기 좋다.
모든 결정은 기본으로 트레이싱되고 OpenTelemetry를 지원하며, MLflow 트레이싱과도 연결된다. 대화형 에이전트뿐 아니라 이벤트로 깨어나거나 일정에 따라 돌거나 계속 실행되는 에이전트로도 배포할 수 있다.
스트랜즈는 자체 프로토콜을 만들지 않고 공개 표준을 받아들인다. 다만 어디까지가 핵심 SDK가 직접 지원하는 범위인지는 확인하고 써야 한다.
| 표준 | 지원 방식 |
|---|---|
| MCP, A2A | SDK에 직접 내장 |
| AG-UI | 커뮤니티 패키지 ag-ui-strands |
| x402 | 별도 통합·관리형 서비스 |
AG-UI 패키지는 스트랜즈 릴리스에 맞춰 테스트되지만 핵심 팀이 지원하지 않는다.
가장 흔한 방식은 모델과 도구를 묶은 업무용 에이전트를 짧은 코드로 만들고, 로컬에서 시험한 뒤 그대로 클라우드에 올리는 것이다. 흐름을 미리 그리기 어려운 작업일수록 모델에 루프를 맡기는 장점이 커진다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 사내 업무 에이전트 | 사내 API·DB를 도구로 등록하고, 질문에 따라 모델이 필요한 도구를 골라 부르게 한다 |
| MCP 도구 연결 | 이미 있는 MCP 서버를 붙여 파일·검색·외부 서비스 도구를 따로 만들지 않고 쓴다 |
| 백그라운드 자동화 | 이벤트나 일정으로 깨어나는 에이전트로 배포하고, 턴 제한·토큰 예산으로 비용을 묶어 둔다 |
| 여러 에이전트 협업 | A2A로 다른 에이전트에 일을 나눠 맡기고 결과를 모은다 |