Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
agent-framework-claude encapsule le Kit de développement logiciel (SDK) Claude Agent en tant que ClaudeAgent. Il utilise le moteur d’exécution géré des agents de Claude, les sessions, le modèle d’autorisations, les outils intégrés et la prise en charge MCP, tout en exposant les interfaces d’exécution et de streaming de l’Agent Framework.
Cette intégration est distincte du fournisseur de modèles Anthropic, qui utilise Claude comme modèle derrière un agent Agent Framework appartenant à l’application.
Prerequisites
- Installez et configurez l’interface CLI Claude Code.
- Choisissez un modèle Claude et un mode d’autorisation.
- Exécutez l’agent dans un répertoire de travail contraint lors de l’activation des outils de fichier ou d’interpréteur de commandes.
Installer le package
pip install agent-framework-claude --pre
Configuration
| Variable | Purpose |
|---|---|
CLAUDE_AGENT_MODEL |
Modèle Claude utilisé par le runtime managé. |
CLAUDE_AGENT_PERMISSION_MODE |
Mode d’autorisation par défaut pour les outils intégrés et MCP. |
CLAUDE_AGENT_CLI_PATH |
Chemin explicite optionnel vers l’outil en ligne de commande Claude Code. |
CLAUDE_AGENT_CWD |
Répertoire de travail accessible à l’environnement d’exécution. |
CLAUDE_AGENT_MAX_TURNS |
Nombre maximal facultatif de tours d’agent. |
CLAUDE_AGENT_MAX_BUDGET_USD |
Budget de coûts facultatif pour une exécution. |
Créez un ClaudeAgent
ClaudeAgent prend en charge les exécutions régulières et de diffusion en continu et peut exposer les outils de fonction Agent Framework.
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")
Des exemples supplémentaires illustrent :
- Outils de fichiers et de terminal intégrés à Claude.
- Gestion interactive des autorisations.
- Serveurs MCP locaux et distants.
- Persistance et reprise de session.
- Extraction d’URL et plusieurs règles d’autorisation.
Considérations relatives à l’autorisation
- Commencez par le mode d’autorisation du SDK Claude Agent le moins permissif qui prend en charge la tâche.
- Exiger une approbation explicite pour les opérations d’interpréteur de commandes, de fichiers, de réseau ou d’autres opérations d’effet secondaire.
- N’exposez pas d’informations d’identification par le biais de variables d’environnement ou de fichiers lisibles dans le répertoire de travail de l’agent.