Generatore di Boilerplate per Agent Harness

Genera il codice di base per un agente di intelligenza artificiale (compresi i comandi di sistema, lo schema degli strumenti e il ciclo di chiamata degli strumenti) per Anthropic o OpenAI, in Python o TypeScript. Non è richiesta alcuna registrazione.

agent.py
"""My Agent -- generated by Aizvi's Agent Harness Boilerplate Generator."""
import anthropic

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from the environment

SYSTEM_PROMPT = "Sei un assistente disponibile e preciso. Utilizza gli strumenti a tua disposizione quando ti aiutano a rispondere alla domanda dell'utente e fornisci una risposta finale chiara una volta che hai ottenuto le informazioni necessarie."

# TODO: set MODEL to whichever Claude model you want to use
MODEL = "claude-3-5-sonnet-latest"

TOOLS = [
    {
        "name": "get_weather",
        "description": "Ottieni le condizioni meteorologiche attuali per una determinata località.",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "La città e lo stato, ad esempio San Francisco, CA"
                }
            },
            "required": [
                "location"
            ]
        }
    }
]


def execute_tool(name: str, tool_input: dict) -> str:
    if name == "get_weather":
        # TODO: implement get_weather
        raise NotImplementedError(f"Tool '{name}' is not implemented yet")
    raise ValueError(f"Unknown tool: {name}")


def run_agent(user_message: str, max_iterations: int = 6) -> str:
    messages = [{"role": "user", "content": user_message}]

    for _ in range(max_iterations):
        response = client.messages.create(
            model=MODEL,
            max_tokens=1024,
            system=SYSTEM_PROMPT,
            tools=TOOLS,
            messages=messages,
        )

        messages.append({"role": "assistant", "content": response.content})

        if response.stop_reason != "tool_use":
            return "".join(block.text for block in response.content if block.type == "text")

        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })

        messages.append({"role": "user", "content": tool_results})

    return "Max iterations reached without a final answer."


if __name__ == "__main__":
    print(run_agent("Hello! What can you help me with?"))

Che cos'è un agent harness per l'IA?

Un agent harness è il codice di supporto che circonda una chiamata LLM grezza e la trasforma in un agente funzionante: il ciclo che invia messaggi, controlla la risposta per le chiamate agli strumenti, le esegue e restituisce i risultati fino a quando il modello non produce una risposta finale. Questo generatore crea automaticamente tale ciclo, insieme al prompt di sistema e allo schema degli strumenti, in modo che tu possa concentrarti sull'implementazione dei tuoi strumenti effettivi anziché sulla struttura di supporto.

Domande frequenti

Che cos'è un agent harness per l'IA?

Un agent harness è il codice di supporto che circonda una chiamata LLM grezza e la trasforma in un agente funzionante: il ciclo che invia messaggi, verifica le chiamate agli strumenti, le esegue e restituisce i risultati fino a quando il modello non produce una risposta finale.

Questo generatore è gratuito?

Sì, è completamente gratuito e non è richiesta alcuna registrazione. Tutto funziona direttamente nel browser.

Questo strumento memorizza i prompt di sistema o le definizioni degli strumenti?

No. Nulla di ciò che digiti qui viene inviato o memorizzato sui nostri server: il codice viene generato interamente nel tuo browser.

Il codice generato funzionerà così com'è?

Funzionerà una volta installato l'SDK pertinente, impostata la chiave API come variabile d'ambiente e implementati gli stub TODO per ogni strumento: è un punto di partenza funzionante, non un agente completo.

Posso aggiungere più strumenti con parametri diversi?

Sì. Aggiungi tutti gli strumenti di cui hai bisogno, ognuno con i propri parametri, e verranno tutti inclusi nello schema degli strumenti generato.

Quali provider e lingue sono supportati?

Python e TypeScript, sia per Anthropic (Claude) che per OpenAI: quattro combinazioni in totale, ognuna delle quali utilizza il formato ufficiale di chiamata degli strumenti del rispettivo fornitore.

Questo codice viene generato interamente nel tuo browser: nulla di ciò che digiti qui viene inviato o memorizzato sui nostri server. È un punto di partenza, non un agente completo: installa l'SDK pertinente, imposta la tua chiave API come variabile d'ambiente e implementa gli stub TODO per ogni strumento.

Powered By Aizvi