Como Construir Agentes de IA Avançados para Cibersegurança com CAI Usando Ferramentas, Guardrails, Handoffs e Workflows Multiagente
Neste tutorial, construímos e exploramos o CAI Cybersecurity AI Framework passo a passo no Colab usando um modelo compatível com OpenAI. Começamos configurando o ambiente, carregando com segurança a chave de API e criando um agente base. Gradualmente, avançamos para recursos mais avançados, como ferramentas de função personalizadas, handoffs multiagente, orquestração de agentes, entrada […] A postagem Como construir Cy avançada
Neste tutorial, construímos e exploramos o CAI Cybersecurity AI Framework passo a passo no Colab usando um modelo compatível com OpenAI. Começamos configurando o ambiente, carregando com segurança a chave de API e criando um agente base. Gradualmente, avançamos para recursos mais avançados, como ferramentas de função personalizadas, handoffs multiagente, orquestração de agentes, guardrails de entrada, ferramentas dinâmicas, pipelines estilo CTF, tratamento de contexto em múltiplas turnos e respostas em streaming. À medida que trabalhamos em cada seção, vemos como o CAI transforma funções Python simples e definições de agente em um fluxo de trabalho de cibersegurança flexível que pode raciocinar, delegar, validar e responder de forma estruturada. Copiar Código Copiado Usar um navegador diferente import subprocess, sys, os subprocess.check_call([ sys.executable, "-m", "pip", "install", "-q", "cai-framework", "python-dotenv" ]) OPENAI_API_KEY = None try: from google.colab import userdata OPENAI_API_KEY = userdata.get("OPENAI_API_KEY") if OPENAI_API_KEY: print(" Chave de API carregada dos Segredos do Colab.") exceto (ImportError, ModuleNotFoundError, Exception): pass if not OPENAI_API_KEY: import getpass OPENAI_API_KEY = getpass.getpass(" Digite sua chave de API OpenAI (ou OpenRouter): ") print(" Chave de API definida a partir da entrada do terminal.") os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY os.environ["PROMPT_TOOLKIT_NO_CPR"] = "1" MODEL = os.environ.get("CAI_MODEL", "openai/gpt-4o-mini") print(f" CAI instalado. Modelo: {MODEL}") import json, textwrap from typing import Any from openai import AsyncOpenAI from cai.sdk.agents import ( Agent, Runner, OpenAIChatCompletionsModel, function_tool, handoff, RunContextWrapper, FunctionTool, InputGuardrail, GuardrailFunctionOutput, RunResult, ) def show(result: RunResult, label: str = "Resultado"): """Imprime de forma bonita a saída final de uma execução do CAI.""" print(f"
{label}") print("─" * 60) out = result.final_output print(textwrap.fill(out, width=80) if isinstance(out, str) else out) print("─" * 60) def model(model_id: str | None = None): """Constrói um OpenAIChatCompletionsModel conectado à nossa chave de ambiente.""" return OpenAIChatCompletionsModel( model=model_id or MODEL, openai_client=AsyncOpenAI(), ) print(" Importações principais prontas.") hello_agent = Agent( name="Consultor de Cibersegurança", instructions=( "Você é um especialista em cibersegurança. Forneça respostas concisas e precisas " "sobre segurança de rede, vulnerabilidades e práticas de defesa. " "Se uma pergunta estiver fora do escopo de cibersegurança, redirecione educadamente." ), model=model(), ) r = a
