strands-agents/tools
A set of tools that gives agents powerful capabilities.
Strands Agents Tools
개요 – LLM 기반 에이전트가 호출할 수 있는 방대한 양의 즉시 사용 가능한 도구(함수)를 묶어놓은 Python 패키지입니다. 도구는 단순한 파일 I/O부터 웹 검색, AWS 서비스 호출, 이미지/비디오 생성, 데스크톱 자동화 및 멀티 에이전트 오케스트레이션까지 모든 것을 다룹니다. 이 도구들은 Strands Agents SDK에 플러그인 형태로 연결되어 언어 모델이 단 한 줄의 코드로 이를 호출할 수 있도록 설계되었습니다.
주요 기능
| 카테고리 | 예시 도구 | 일반적인 사용 사례 |
|---|---|---|
| 파일 & 에디터 | file_read, file_write, editor (deprecated) |
설정 파일 로드, 결과 쓰기, 구문 강조가 포함된 코드 스니펫 편집 |
| 셸 & OS | shell (deprecated), environment (deprecated) |
시스템 명령 실행, 환경 변수 쿼리 (Windows에서는 주의해서 사용) |
| 웹 & 검색 | tavily_search, tavily_extract, exa_search, exa_get_contents |
실시간 웹 검색, 콘텐츠 추출, 사이트 크롤링 |
| HTTP / API | http_request |
인증 지원이 포함된 모든 REST 엔드포인트 호출 |
| 메시징 | slack (deprecated) |
Slack 워크스페이스에서 메시지 게시 또는 읽기 |
| Python 실행 | python_repl, code_interpreter |
상태 유지를 포함한 임의의 Python(또는 샌드박스된 인터프리터를 통한 JS/TS) 실행 |
| 수학 & 추론 | calculator (deprecated), think (deprecated) |
기호 계산, 다단계 추론 (현재 SDK에서 네이티브로 처리) |
| AWS 통합 | use_aws, nova_reels, agent_core_memory |
S3, Bedrock 및 기타 AWS 서비스와 상호 작용 |
| 미디어 생성 | generate_image, generate_image_stability, search_video, chat_video |
이미지 생성, 비디오 검색 및 분석 |
| 메모리 백엔드 | mem0_memory, mongodb_memory, elasticsearch_memory |
실행 간 사용자/에이전트 메모리 저장 및 검색 |
| 브라우저 자동화 | browser (Chromium) |
페이지 스크래핑, 양식 채우기, UI 테스트 실행 |
| 데스크톱 자동화 | use_computer |
마우스 이동, 클릭, 타이핑, 스크린샷 찍기 |
| 멀티 에이전트 오케스트레이션 | swarm, agent_graph, graph, use_agent, use_llm |
여러 에이전트를 병렬로 실행, 결정론적 DAG 파이프라인 구축, 모델 전환을 포함한 에이전트 중첩 |
| 스케줄링 & 제어 | cron (deprecated), sleep (deprecated), stop, handoff_to_user |
반복 작업 예약, 실행 일시 중지, 정상 종료, 사용자에게 확인 요청 |
| 기타 | journal, rss (deprecated), bright_data, speak |
구조화된 로깅, RSS 피드 처리, 웹 스크래핑 서비스, TTS |
설치
# 기본 설치 (코어 도구만)
pip install strands-agents-tools
# 필요한 옵션 extras 설치 (예: 메모리 백엔드, 브라우저, RSS, 컴퓨터 자동화)
pip install "strands-agents-tools[mem0_memory,use_browser,rss,use_computer]"
개발을 위해서는 저장소를 클론하고, 가상 환경을 생성한 후 pip install -e ".[dev]"를 실행하십시오.
사용 방법 – README에 일반적인 패턴이 나와 있습니다:
from strands_tools import A2AClientToolProvider, Agent
provider = A2AClientToolProvider(known_agent_urls=["http://localhost:9000"])
agent = Agent(tools=provider.tools)
# 에이전트에서 직접 도구 호출
result = agent.tool.file_read(path="config.yaml")
각 도구는 agent.tool의 메서드로 노출됩니다. 인자는 키워드 매개변수로 전달되며, 반환 값은 기본 작업이 생성하는 결과(예: 파일 내용, JSON 응답, 이미지 바이트 등)입니다.
안전 주의사항 – 많은 도구가 코드를 실행하거나, 파일 시스템을 건드리거나, 외부 서비스를 호출합니다. 이 패키지는 이러한 도구들을 experimental(실험적)로 표시하며, 오래된 래퍼에는 deprecation 경고를 추가합니다. 프로덕션 배포 시에는 독립적인 보안 검토를 수행하고 프로젝트의 Responsible AI 지침을 따라야 합니다.
로드맵 / 상태 – 이 저장소는 커뮤니티 주도로 활발하게 유지 관리되고 있습니다(커밋 활동 배지 참조). 여러 도구는 이미 SDK의 네이티브 기능으로 대체되어 deprecated 상태입니다. 유지 관리자는 대부분의 기능이 Strands SDK에 직접 포함되면 저장소를 아카이브할 계획입니다.
요약 (TL;DR) – Strands Agents Tools는 LLM 기반 에이전트가 몇 줄의 코드로 현실 세계의 작업(파일 I/O, 웹 검색, AWS 호출, 데스크톱 자동화, 멀티 에이전트 파이프라인 등)을 수행할 수 있게 해주는 Python 툴박스입니다. pip를 통해 설치하고, 도구를 Strands Agent에 연결하여 메서드로 호출하십시오. 보안 영향과 오래된 래퍼의 지속적인 deprecation에 유의하십시오.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트