Gerador de modelo padrão de harness de agente

Gere código inicial para um agente de IA — prompt do sistema, esquema da ferramenta e loop de chamada da ferramenta — para Anthropic ou OpenAI, em Python ou TypeScript. Não é necessário registo.

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 = "Você é um assistente prestativo e preciso. Utilize as ferramentas disponíveis quando elas ajudarem a responder à pergunta do utilizador e forneça uma resposta final clara assim que tiver as informações necessárias."

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

TOOLS = [
    {
        "name": "get_weather",
        "description": "Veja a previsão do tempo atual para um local específico.",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "A cidade e o estado, por exemplo, São Francisco, Califórnia."
                }
            },
            "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?"))

O que é um harness de agente de IA?

Um harness de agente é o código de suporte que envolve uma chamada bruta a um LLM e a transforma num agente funcional — o ciclo que envia mensagens, verifica se a resposta contém chamadas de ferramentas, executa-as e devolve os resultados até o modelo produzir uma resposta final. Este gerador constrói esse ciclo por si, juntamente com o prompt do sistema e o esquema das ferramentas, para que possa concentrar-se em implementar as suas ferramentas em vez da infraestrutura que as envolve.

Perguntas frequentes

O que é um harness de agente de IA?

Um harness de agente é o código de suporte em torno de uma chamada bruta a um LLM que a transforma num agente funcional — o ciclo que envia mensagens, verifica chamadas de ferramentas, executa-as e devolve os resultados até o modelo produzir uma resposta final.

Este gerador é gratuito?

Sim, totalmente gratuito e sem necessidade de registo. Tudo funciona no seu navegador.

Essa ferramenta armazena minhas configurações de prompt do sistema ou definições de ferramentas?

Não. Nada do que você digita aqui é enviado ou armazenado em nossos servidores — o código é gerado inteiramente no seu navegador.

O código gerado será executado sem alterações?

Ele será executado assim que você instalar o SDK relevante, definir sua chave de API como uma variável de ambiente e implementar os stubs TODO para cada ferramenta -- é um ponto de partida funcional, não um agente finalizado.

Posso adicionar várias ferramentas com parâmetros diferentes?

Sim. Adicione quantas ferramentas precisar, cada uma com seus próprios parâmetros, e todas serão incluídas no esquema de ferramentas gerado.

Quais fornecedores e linguagens são suportados?

Python e TypeScript, tanto para a Anthropic (Claude) quanto para a OpenAI -- quatro combinações no total, cada uma usando o formato oficial de chamada de ferramentas de cada fornecedor.

Este código é gerado inteiramente no seu navegador — nada do que você digita aqui é enviado ou armazenado em nossos servidores. É um ponto de partida, não um agente finalizado: instale o SDK relevante, defina sua chave de API como uma variável de ambiente e implemente os stubs TODO para cada ferramenta.

Desenvolvido pela Aizvi