Skip to main content
Loading navigation
Back to prompt library

Claude Agent SDK Initialization and Tool Definition

Linked challenge: Agent for Robotaxi Safety Policy Analysis & Dynamic Procedure Generation

Prompt source

implementation30 lines6 sectionsNo variables1 code block
Using the Claude Agents SDK, initialize a `SafetyComplianceAgent`. This agent should have access to a 'computer use' tool to interact with simulated document databases and a 'simulator_api' tool to get incident details. Provide the Python code for agent initialization and definition of these tools. Assume you have `claude_api_key` configured.

```python
import anthropic
from anthropic.agents import Agent, tool

@tool
def computer_use(command: str) -> str:
    """Simulates executing a command on a computer, e.g., to read files or query databases."""
    print(f"Executing computer command: {command}")
    # In a real scenario, this would interact with a filesystem or a database.
    if "read_policy" in command:
        return "Safety Policy 3.1: Pedestrian Zones. Max speed 10MPH. Child Safety Guidelines 1.2: Be aware of school hours."
    return "Command executed successfully (simulated)."

@tool
def simulator_api(query: str) -> str:
    """Queries a simulated robotaxi incident database."""
    print(f"Querying simulator API: {query}")
    if "incident_details" in query:
        return "Incident ID 123: Voyager-7, struck child, 6MPH, 3:15 PM, near school, delayed braking."
    return "Simulator data (simulated)."

def create_safety_agent():
    client = anthropic.Anthropic(api_key="YOUR_CLAUDE_API_KEY")
    agent = Agent(
        client=client,
        tools=[computer_use, simulator_api],
        model="claude-3-5-opus-20240620",
        system_prompt="You are an expert robotaxi safety compliance officer. Your task is to analyze incidents, interpret safety policies, and propose updated procedures."
    )
    return agent

# agent = create_safety_agent()
```