0Pricing
AI Agents · Aula

Como funciona a chamada de funções

Compreenda o ciclo completo: o modelo escolhe uma ferramenta, seu código a executa, você envia o resultado de volta e o modelo continua.

Como funciona a chamada de funções é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.

Chamada de funções: o padrão central

A chamada de funções é o protocolo que transforma um LLM em um agente. O modelo escolhe uma função de uma lista fornecida por você, preenche os argumentos e você a executa.

Esse padrão é compatível com OpenAI, Anthropic, Google, Cohere, Mistral e a maioria dos principais modelos OSS com os ajustes finos adequados.

O ciclo de cinco etapas

  1. Você envia mensagens e definições de ferramentas
  2. O modelo retorna uma resposta final OR um tool_call
  3. Você executa a ferramenta com os argumentos do modelo
  4. Você adiciona o resultado como uma mensagem de ferramenta
  5. Você chama o modelo novamente com o histórico atualizado

Repita as etapas 2 a 5 até o modelo retornar uma resposta final.

Etapa 1: definir as ferramentas

As definições de ferramentas são esquemas JSON que descrevem cada função:

tools = [{
    'type': 'function',
    'function': {
        'name': 'get_weather',
        'description': 'Current weather for a city',
        'parameters': {
            'type': 'object',
            'properties': {
                'city': {'type': 'string'}
            },
            'required': ['city']
        }
    }
}]
import json
print(json.dumps(tools, indent=2))

Etapa 2: primeira chamada ao modelo

Envie as mensagens e as ferramentas:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Weather in Paris?'}],
    tools=tools,
)
message = response.choices[0].message
print(message.tool_calls)
# [ToolCall(name='get_weather', arguments='{"city": "Paris"}')]

Etapa 3: executar a ferramenta

Direcione a chamada para sua função Python:

import json

def get_weather(city: str) -> dict:
    # ...call your weather API...
    return {'city': city, 'temp_c': 18, 'condition': 'cloudy'}

tool_call = message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
result = get_weather(**args)

Etapa 4: adicionar o resultado da ferramenta

Adicione uma mensagem de ferramenta com o ID correspondente:

messages.append(message)  # the assistant message with tool_calls
messages.append({
    'role': 'tool',
    'tool_call_id': tool_call.id,
    'content': json.dumps(result)
})

Etapa 5: segunda chamada ao modelo

Chame o modelo novamente — agora ele tem o resultado da ferramenta e produz uma resposta voltada ao usuário:

final = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    tools=tools,
)
print(final.choices[0].message.content)
# 'It is currently 18 degrees and cloudy in Paris.'

O laço do agente

Coloque isso em um laço de repetição — o modelo pode chamar várias ferramentas em sequência:

while True:
    response = client.chat.completions.create(model=MODEL, messages=messages, tools=tools)
    msg = response.choices[0].message
    messages.append(msg)
    if not msg.tool_calls:
        return msg.content  # final answer
    for tc in msg.tool_calls:
        result = dispatch(tc)
        messages.append({'role': 'tool', 'tool_call_id': tc.id, 'content': json.dumps(result)})

Chamadas de ferramentas em paralelo

Os modelos modernos retornam vários tool_calls em uma única resposta. Execute-os em paralelo quando isso for seguro:

import asyncio

async def run_tools(tool_calls):
    coros = [dispatch_async(tc) for tc in tool_calls]
    return await asyncio.gather(*coros)

finish_reason: tool_calls

Você também pode verificar finish_reason em vez de procurar por tool_calls:

if response.choices[0].finish_reason == 'tool_calls':
    # the model wants to call tools
    ...
elif response.choices[0].finish_reason == 'stop':
    # done
    ...

Erros comuns

  • Esquecer de adicionar a mensagem do assistente antes do resultado da ferramenta
  • Usar o tool_call_id incorreto
  • Enviar resultados de ferramentas como mensagens do usuário
  • Permitir que o laço seja executado sem limite — defina MAX_STEPS

Término do laço

Como saber quando o agente terminou?

Recapitulação

A chamada de funções é o padrão mais importante de todo este curso. Domine-o antes de continuar.

Perguntas Frequentes

A aula “Como funciona a chamada de funções” é grátis?

Sim — o texto completo de “Como funciona a chamada de funções” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.

O que vou aprender em “Como funciona a chamada de funções”?

Compreenda o ciclo completo: o modelo escolhe uma ferramenta, seu código a executa, você envia o resultado de volta e o modelo continua. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Agents?

Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Como funciona a chamada de funções”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Agents?

Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Como funciona a chamada de funções
  2. Definindo esquemas de ferramentas (JSON Schema)
  3. Escolhendo ferramentas em tempo de execução
  4. Retornando resultados ao modelo
← Voltar para AI Agents