시작하기
AgentCore CLI를 통해 또는와 같은 AWS SDKs에서 직접 하네스를 사용할 수 있습니다boto3. CLI는 대부분의 개발자에게 가장 빠른 경로이며 SDKs는 자체 애플리케이션에서 프로그래밍 방식으로 사용하기 위한 것입니다.
사전 조건
-
AWS 지원되는 리전 중 하나에 구성된 자격 증명입니다.
-
CLI의 경우: Node.js 20 이상
-
SDK/boto3: Python 3.10 이상, boto3 설치됨 및 하네스가 수임할 수 있는 IAM 실행 역할의 경우. 최소 권한은 실행 역할 정책을 참조하세요.
시작하기
예
- AWS CLI/boto3
-
이름 및 실행 역할로 하네스를 생성합니다.
aws bedrock-agentcore-control create-harness \
--harness-name "MyHarness" \
--execution-role-arn "arn:aws:iam::123456789012:role/MyHarnessRole"
get-harness 까지 폴링합니다"status": "READY". 응답의 arn에 주의하세요.
aws bedrock-agentcore-control get-harness \
--harness-id "MyHarness-XyZ123"
Python에서를 호출합니다. 모델을 지정하지 않으면 Amazon Bedrock에서 하네스의 기본값은 Anthropic Claude Sonnet 4.6입니다.
import boto3
client = boto3.client("bedrock-agentcore", region_name="us-west-2")
response = client.invoke_harness(
harnessArn="arn:aws:bedrock-agentcore:us-west-2:123456789012:harness/MyHarness-XyZ123", # Replace with your harness ARN
runtimeSessionId="1234abcd-12ab-34cd-56ef-1234567890ab",
messages=[{
"role": "user",
"content": [{"text": "Research three tropical vacation options under $3k."}]
}],
)
for event in response["stream"]:
if "contentBlockDelta" in event:
delta = event["contentBlockDelta"].get("delta", {})
if "text" in delta:
print(delta["text"], end="", flush=True)
elif "runtimeClientError" in event:
print(f"\nError: {event['runtimeClientError']['message']}")
- AgentCore CLI
-
AgentCore CLI를 설치합니다.
npm install -g @aws/agentcore
플래그와 상호 작용하지 않는 하네스 프로젝트를 생성합니다.
agentcore create --name myresearchagent --model-provider bedrock
배포 및 호출:
agentcore deploy
agentcore invoke --harness myresearchagent \
--session-id "$(uuidgen)" \
"Research three tropical vacation options under $3k, within five hours of NYC."
응답이 터미널로 스트리밍됩니다. 호출 --session-id 간에 동일한를 재사용하여 동일한 환경에서 대화를 계속합니다.
기존 프로젝트에 더 많은 하네스를 추가하려면를 사용합니다agentcore add harness. 독립 실행형 Python 호출 스크립트를 생성하려면를 추가합니다--with-invoke-script.
유용한 플래그:
-
--no-browser (-b) - 브라우저 검사기 대신 터미널 TUI 사용
-
--logs (-l) - 로그가 stdout인 비대화 모드에서 실행
-
--port <port> (-p) - 개발 서버 포트 설정(기본값 8080)
-
--no-traces - 로컬 OTEL 추적 수집 비활성화
- Interactive
-
AgentCore CLI를 설치합니다.
npm install -g @aws/agentcore
플래그 agentcore create 없이를 실행하여 대화형 마법사를 시작합니다.
agentcore create
-
프로젝트 이름을 입력합니다.
-
프로젝트 유형으로 Harness를 선택합니다.
-
모델 공급자를 선택합니다.
-
환경(기본값, 컨테이너 URI 또는 Dockerfile)을 선택합니다.
-
메모리 구성:
-
선택적으로 고급 설정(도구, 인증, 네트워크, 수명 주기, 제한, 잘림, 세션 스토리지)을 구성합니다.
-
구성을 검토하고 다음을 확인합니다.
확인 후 마법사가 프로젝트를 스캐폴드합니다. 를 사용하여 배포agentcore deploy한 다음를 사용하여 호출합니다agentcore invoke.
를 사용하여 언제든지 프로젝트 상태를 확인합니다agentcore status.
로컬 환경에서 하네스를 테스트하려면 개발 서버를 실행할 수 있습니다.
agentcore dev
agentcore dev를 실행하면 CLI는 먼저에 하네스 리소스를 배포하여 IAM 역할, 하네스 및 프로젝트에 구성된 메모리 또는 자격 증명을 AWS생성합니다.
배포가 완료되면 로컬 서버를 시작하고 브라우저에서 에이전트 검사기를 열어 하네스와 채팅하고, 트레이스를 검사하고, 프로젝트 리소스를 찾아볼 수 있습니다.
현재 세션의 하네스 구성을 보고 재정의하려면 하네스 설정을 확장합니다.
이것이 바로 하네스를 실행하는 데 필요한 것입니다. 다음 섹션에서는 구성할 수 있는 모든 항목을 다룹니다.
는 33자 이상이어야 runtimeSessionId 합니다. UUID 또는 유사한 식별자를 사용합니다. 호출 간에 동일한 세션 ID를 재사용하여 동일한 환경에서 대화를 계속합니다.
API 설명서
자세한 내용은 API 참조를 참조하세요.
InvokeHarness는 이벤트 스트림을 반환합니다. 주요 이벤트 유형은 다음과 같습니다.
-
messageStart - 새 메시지의 시작( 포함role)
-
contentBlockStart - 콘텐츠 블록의 시작(텍스트, toolUse또는 toolResult)
-
contentBlockDelta - 증분 콘텐츠(text, toolUse 입력, reasoningContent)
-
contentBlockStop - 콘텐츠 블록의 끝
-
messageStop - 메시지 끝( 포함stopReason)
-
metadata - 토큰 사용량 및 지연 시간 지표
-
runtimeClientError - 실행 중 오류 발생
stopReason의는 에이전트가 중지된 이유를 messageStop 나타냅니다.
-
end_turn - 에이전트가 정상적으로 완료됨
-
tool_use - 에이전트가 인라인 함수를 호출하고 클라이언트 측 결과를 기다리고 있음
-
max_tokens - 모델의 회전당 토큰 한도에 도달했습니다.
-
max_iterations_exceeded - maxIterations 한도에 도달했습니다.
-
timeout_exceeded - timeoutSeconds 한도에 도달했습니다.
-
max_output_tokens_exceeded - maxTokens 예산이 소진되었습니다.