agent-framework-claude 는 Claude 에이전트 SDK를 .로 ClaudeAgent래핑합니다. 에이전트 프레임워크 실행 및 스트리밍 인터페이스를 노출하는 동안 Claude의 관리되는 에이전트 런타임, 세션, 권한 모델, 기본 제공 도구 및 MCP 지원을 사용합니다.
이 통합은 Anthropic 모델 공급자와 구별되며, Claude를 애플리케이션 소유 Agent Framework 에이전트 뒤에 있는 모델로 사용합니다.
사전 요구 사항
- Claude Code CLI를 설치하고 구성합니다.
- Claude 모델 및 권한 모드를 선택합니다.
- 파일 또는 셸 도구를 사용하도록 설정할 때 제한된 작업 디렉터리에서 에이전트를 실행합니다.
패키지 설치
pip install agent-framework-claude --pre
Configuration
| 변수 | Purpose |
|---|---|
CLAUDE_AGENT_MODEL |
관리되는 런타임에서 사용하는 Claude 모델입니다. |
CLAUDE_AGENT_PERMISSION_MODE |
기본 제공 및 MCP 도구에 대한 기본 사용 권한 모드입니다. |
CLAUDE_AGENT_CLI_PATH |
Claude Code CLI에 대한 선택적 명시적 경로입니다. |
CLAUDE_AGENT_CWD |
런타임에 노출되는 작업 디렉터리입니다. |
CLAUDE_AGENT_MAX_TURNS |
선택적 최대 에이전트 턴 수입니다. |
CLAUDE_AGENT_MAX_BUDGET_USD |
실행에 대한 선택적 비용 예산입니다. |
ClaudeAgent를 생성하세요
ClaudeAgent 는 일반 및 스트리밍 실행을 지원하며 에이전트 프레임워크 함수 도구를 노출할 수 있습니다.
async def non_streaming_example() -> None:
"""Example of non-streaming response."""
print("=== Non-streaming Example ===")
agent = ClaudeAgent(
name="BasicAgent",
instructions="You are a helpful assistant. Keep responses concise.",
tools=[get_weather],
)
async with agent:
query = "What's the weather in Seattle?"
print(f"User: {query}")
result = await agent.run(query)
print(f"Agent: {result.text}\n")
async def streaming_example() -> None:
"""Example of streaming response."""
print("=== Streaming Example ===")
agent = ClaudeAgent(
name="StreamingAgent",
instructions="You are a helpful assistant.",
tools=[get_weather],
)
async with agent:
query = "What's the weather in Paris?"
print(f"User: {query}")
print("Agent: ", end="", flush=True)
async for chunk in agent.run(query, stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print("\n")
추가 샘플은 다음을 보여 줍니다.
- Claude 기본 제공 파일 및 셸 도구.
- 대화형 권한 처리.
- 로컬 및 원격 MCP 서버.
- 세션 지속성 및 재개.
- URL 인출 및 여러 권한 규칙.
사용 권한 고려 사항
- 작업을 지원하는 최소 허용되는 Claude 에이전트 SDK 권한 모드로 시작합니다.
- 셸, 파일, 네트워크 또는 기타 부작용 작업에 대한 명시적 승인이 필요합니다.
- 환경 변수 또는 에이전트 작업 디렉터리에서 읽을 수 있는 파일을 통해 자격 증명을 노출하지 마세요.