Home
Login

Framework leve para construção de fluxos de trabalho multiagente, com suporte para colaboração entre agentes, chamada de ferramentas e orquestração de processos.

MITPython 11.6kopenai Last Updated: 2025-06-19

Apresentação Detalhada do Projeto OpenAI Agents Python

Visão Geral do Projeto

O OpenAI Agents SDK é um framework Python leve e poderoso para construir fluxos de trabalho multi-agente. É uma ferramenta de desenvolvimento de agentes de nível de produção lançada oficialmente pela OpenAI, uma atualização do projeto experimental anterior Swarm. Este framework foi projetado para ser simples, mas completo, especializado na construção de aplicações de IA multi-agente complexas.

Características Principais

1. Compatibilidade Multiplataforma

  • Independência de Modelo: Suporta as APIs Responses e Chat Completions da OpenAI.
  • Ampla Compatibilidade: Suporta mais de 100 modelos de linguagem grandes diferentes.
  • Flexibilidade da API: Permite alternar facilmente entre diferentes provedores de serviços de IA.

2. Componentes Essenciais

Agentes (Agents)

  • Instâncias LLM configuradas com instruções, ferramentas, proteção de segurança e mecanismos de transferência.
  • Cada agente tem responsabilidades e limites de capacidade claros.
  • Suporta instruções e padrões de comportamento personalizados.

Mecanismos de Transferência (Handoffs)

  • Mecanismo de chamada de ferramenta especializado para transferir o controle entre agentes.
  • Permite a colaboração perfeita entre agentes.
  • Suporta a orquestração de fluxos de trabalho complexos.

Proteção de Segurança (Guardrails)

  • Verificações de segurança de validação de entrada e saída configuráveis.
  • Garante a segurança e confiabilidade das aplicações de IA.
  • Impede entradas maliciosas e saídas inadequadas.

Rastreamento de Processos (Tracing)

  • Funcionalidade de rastreamento de execução de agente integrada.
  • Suporta visualização, depuração e otimização de fluxos de trabalho.
  • Sistema de rastreamento extensível que suporta várias integrações externas.

Arquitetura Técnica

Instalação e Configuração

# Criar ambiente virtual Python
python -m venv env
source env/bin/activate

# Instalar a versão básica
pip install openai-agents

# Instalar a versão com suporte de voz
pip install 'openai-agents[voice]'

Exemplos de Uso Básico

Agente Simples

from agents import Agent, Runner

agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)

Agente de Colaboração Multilíngue

from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent", 
    instructions="You only speak English",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    handoffs=[spanish_agent, english_agent],
)

async def main():
    result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

Exemplo de Chamada de Ferramenta

import asyncio
from agents import Agent, Runner, function_tool

@function_tool
def get_weather(city: str) -> str:
    return f"The weather in {city} is sunny."

agent = Agent(
    name="Weather Assistant",
    instructions="You are a helpful weather agent.",
    tools=[get_weather],
)

async def main():
    result = await Runner.run(agent, input="What's the weather in Tokyo?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

Mecanismo de Execução do Fluxo de Trabalho

Lógica do Loop de Execução

  1. Chamada LLM: Usa o modelo e as configurações do agente, combinados com o histórico de mensagens para fazer a chamada.
  2. Processamento de Resposta: O LLM retorna uma resposta, que pode incluir chamadas de ferramentas.
  3. Verificação de Saída: Se houver uma saída final, retorna e termina o loop.
  4. Processamento de Transferência: Se houver uma solicitação de transferência, muda para o novo agente e reinicia.
  5. Execução da Ferramenta: Processa as chamadas de ferramenta e adiciona a resposta à mensagem, então reinicia o loop.

Mecanismo de Saída Final

  • Saída Estruturada: Se output_type estiver definido, termina quando o LLM retorna conteúdo do tipo correspondente.
  • Saída de Texto: Se não houver output_type, termina quando o agente produz uma mensagem sem chamadas de ferramenta ou transferências.

Sistema de Ferramentas

Três Tipos de Suporte de Ferramentas

1. Ferramentas Hospedadas (Hosted Tools)

  • Executadas no servidor LLM.
  • A OpenAI fornece ferramentas hospedadas como recuperação, pesquisa na web e uso do computador.

2. Chamada de Função (Function Calling)

  • Suporta o uso de qualquer função Python como uma ferramenta.
  • Desenvolvimento de ferramentas personalizadas flexível.

3. Agente como Ferramenta

  • Permite que um agente chame outros agentes.
  • Suporta estruturas de colaboração hierárquicas complexas.

Ferramentas Integradas

  • WebSearchTool: Funcionalidade de pesquisa na web.
  • Computer Use: Capacidade de operação do computador.
  • Retrieval: Funcionalidade de recuperação de informações.

Rastreamento e Monitoramento

Funcionalidade de Rastreamento Automático

  • Rastreia automaticamente o processo de execução do agente.
  • Facilita a depuração e otimização de fluxos de trabalho.
  • Design extensível que suporta span personalizado.

Suporte de Integração Externa

  • Logfire: Gerenciamento de logs.
  • AgentOps: Monitoramento de operações de agentes.
  • Braintrust: Plataforma de desenvolvimento de aplicações de IA.
  • Scorecard: Avaliação de desempenho.
  • Keywords AI: Integração de IA de palavras-chave.

Cenários de Aplicação

Cenários Adequados

  • Automação de Processos de Negócios Complexos: Processos de tratamento de negócios de várias etapas.
  • Sistema de Atendimento ao Cliente Multilíngue: Suporta atendimento ao cliente inteligente em diferentes idiomas.
  • Assistente de Domínio Profissional: Assistentes de IA em áreas profissionais como direito, medicina, educação, etc.
  • Pipeline de Processamento de Dados: Análise e processamento de dados em várias etapas.
  • Sistema de Colaboração Criativa: Vários papéis de IA colaboram para concluir tarefas criativas.

Padrões de Fluxo de Trabalho

  • Fluxo Determinístico: Etapas de fluxo de trabalho predefinidas.
  • Loop Iterativo: Tarefas que precisam de otimização iterativa múltipla.
  • Ramificação Condicional: Seleciona diferentes caminhos de processamento com base nas condições.
  • Processamento Paralelo: Vários agentes processam diferentes tarefas simultaneamente.

Ambiente de Desenvolvimento

Requisitos de Desenvolvimento

  • Python 3.8+
  • Requer a configuração da variável de ambiente OPENAI_API_KEY.
  • Suporta métodos de chamada assíncronos e síncronos.

Cadeia de Ferramentas de Desenvolvimento

# Instalar o gerenciador de pacotes uv
uv --version

# Instalar dependências
make sync

# Executar testes
make tests

# Verificação de tipo
make mypy

# Verificação de conformidade de código
make lint

Vantagens do Projeto

1. Design Conciso

  • Níveis de abstração mínimos.
  • Conceitos essenciais claros e inequívocos.
  • Fácil de entender e usar.

2. Pronto para Produção

  • Construído com base na experiência real da OpenAI.
  • Design de API estável e confiável.
  • Mecanismo de tratamento de erros completo.

3. Altamente Flexível

  • Suporta modelagem de relacionamento de agente complexa.
  • Pode expressar vários padrões de fluxo de trabalho.
  • Poderosa capacidade de personalização.

Resumo

O OpenAI Agents Python é um framework de desenvolvimento multi-agente de nível profissional que torna a colaboração complexa de IA simples e fácil de usar. Através de seus mecanismos essenciais de agente, transferência, proteção e rastreamento, os desenvolvedores podem construir rapidamente sistemas de aplicações de IA poderosos. Seja uma tarefa simples de agente único ou um cenário complexo de colaboração multi-agente, este framework pode fornecer uma solução elegante.