Melhorando Configurações de Roteadores com LLMs e Ferramentas de Verificação
Combinar IA e ferramentas de verificação melhora a precisão da configuração do roteador e reduz o trabalho manual.
― 7 min ler
Índice
- O Problema com os LLMs Atuais
- Como Funciona a Verificação
- O Papel da Contribuição Humana
- Conceito de Programação em Par
- A Abordagem da Programação de Prompt Verificada
- Medindo Sucesso com Alavancagem
- Explorando Políticas Locais vs. Globais
- O Processo de Verificação em Ação
- Erros Comuns e Resoluções
- Resultados dos Experimentos
- Conclusão
- Fonte original
Modelos de Linguagem Grande (LLMs), como o GPT-4, têm mostrado potencial em várias tarefas, mas quando se trata de criar configurações de roteadores corretas, eles enfrentam desafios. Este artigo analisa como esses modelos podem sintetizar configurações de roteadores precisas enquanto reduzem a necessidade de trabalho manual. A ideia principal é combinar LLMs com Ferramentas de Verificação para melhorar a qualidade das configurações geradas.
O Problema com os LLMs Atuais
Muitas tentativas de usar LLMs para criar configurações de roteadores não deram certo. Quando o GPT-4 é usado sozinho, ele produz rascunhos que muitas vezes contêm erros significativos. Esses erros podem estar relacionados à estrutura, sintaxe e significado das configurações. A solução está em um método chamado Programação de Prompt Verificada, que funciona usando o LLM em combinação com ferramentas de verificação que verificam erros e fornecem feedback específico.
Como Funciona a Verificação
A verificação é crucial para produzir configurações de qualidade. Para ser eficaz, precisa de uma especificação clara do que as configurações corretas devem ser e feedback acionável para guiar o LLM. O processo de verificação é demonstrado por dois cenários principais: traduzir configurações de roteadores da Cisco para a Juniper e implementar políticas específicas em vários roteadores.
Embora a participação humana ainda seja necessária, nossa pesquisa indica que a automação pode reduzir significativamente as tarefas manuais. Por exemplo, na tradução da Cisco para a Juniper, vimos uma melhoria de 10 vezes no número de prompts automatizados em comparação com os prompts manuais necessários.
O Papel da Contribuição Humana
Mesmo com a automação, a contribuição humana continua sendo essencial. A interação entre o LLM e as ferramentas de verificação requer um toque humano para garantir que as configurações finais estejam corretas. O processo de colaboração entre o humano, a IA e as ferramentas de verificação ajuda a reduzir erros e melhorar a eficiência geral na geração das configurações de roteadores.
Conceito de Programação em Par
Tradicionalmente, a programação em par envolve um humano checando o trabalho de uma IA, o que pode ser tedioso e demorado. Nossa abordagem, Programação de Prompt Verificada, apresenta uma dinâmica diferente. Nesse método, o humano e a IA trabalham juntos com um conjunto de ferramentas de verificação que verifica automaticamente a correção e fornece correções localizadas. Embora o sistema ainda possa exigir ajustes manuais, o objetivo é minimizar a carga de trabalho à medida que o LLM aprende a produzir melhores saídas ao longo do tempo.
A Abordagem da Programação de Prompt Verificada
Na Programação de Prompt Verificada, introduzimos um sistema de três componentes: a IA, o humano e um conjunto de ferramentas de verificação. O verificador checa as configurações em busca de erros e dá feedback que pode ser facilmente interpretado. À medida que a IA ajusta suas saídas com base nesse feedback, o processo se torna mais eficiente e reduz o número de correções manuais necessárias.
Quando a ferramenta de verificação encontra erros, ela fornece feedback de maneira simples. Esse feedback é traduzido em prompts que o LLM pode entender, permitindo que ele corrija seus erros. A interação entre o LLM e o verificador cria um ciclo que melhora continuamente a precisão das configurações.
Medindo Sucesso com Alavancagem
Para quantificar a melhoria na eficiência, introduzimos o conceito de alavancagem, que mede a proporção de prompts automatizados para prompts humanos. Em nossos testes, descobrimos que a automação poderia reduzir significativamente o número de intervenções humanas necessárias. Por exemplo, na tradução da Cisco para a Juniper, havia cerca de 20 prompts automatizados para cada 2 prompts humanos, resultando em uma alavancagem de 10x.
Essa medição é importante porque mostra o potencial de combinar LLMs com ferramentas de verificação. O objetivo é chegar a um ponto onde o LLM possa criar configurações precisas de forma independente, com mínima ajuda humana, levando a fluxos de trabalho mais eficientes.
Explorando Políticas Locais vs. Globais
Em nossa pesquisa, também analisamos como políticas locais podem ser implementadas de forma mais eficaz do que as globais. Inicialmente, tentamos definir uma política ampla sem trânsito para toda a rede. No entanto, o LLM teve dificuldade em produzir saídas consistentes. Ao dividir as tarefas em políticas localizadas para roteadores individuais, conseguimos melhores resultados. Essa abordagem modular permite uma verificação e correção mais claras das configurações de cada roteador.
Por exemplo, definimos qual deve ser o papel de cada roteador, o que facilitou a identificação de erros e garantiu que as configurações atendessem aos objetivos gerais desejados. A separação de políticas locais também ajuda a identificar erros específicos de cada roteador, tornando mais fácil corrigi-los.
O Processo de Verificação em Ação
Para ilustrar o processo de verificação, vamos considerar os passos envolvidos na tradução de uma configuração do formato Cisco para o Juniper. Primeiro, o GPT-4 gera uma configuração inicial com base no pedido de tradução. Essa saída é então enviada a um verificador de sintaxe, que verifica erros básicos na formação dos comandos.
Se algum problema de sintaxe for encontrado, o verificador fornece feedback sobre os erros que identificou. A IA então recebe esse feedback de maneira amigável, permitindo que faça as correções necessárias. Uma vez resolvidos os problemas de sintaxe, a saída passa para o próximo nível de verificação, que checa a correção semântica e o alinhamento estrutural com as políticas existentes.
Ao lidar com erros de maneira sistemática, evitamos que pequenos problemas ofusquem problemas mais complexos. Esse processo de verificação estruturado contribui diretamente para a precisão geral das configurações finais.
Erros Comuns e Resoluções
Durante a tradução, vários tipos de erros costumam ocorrer:
Erros de Sintaxe: Esses são erros diretos relacionados aos comandos usados e geralmente podem ser resolvidos rapidamente com correções do verificador de sintaxe.
Desajustes Estruturais: Esses surgem quando há discrepâncias entre a configuração original e a tradução. Por exemplo, se um vizinho de roteador específico não estiver incluído na nova configuração, isso significa um desajuste estrutural.
Diferenças de Atributos: Isso ocorre quando valores numéricos diferem entre configurações, como custos de link. Ferramentas como Campion ajudam a identificar essas inconsistências para que possam ser tratadas.
Ao categorizar esses erros, podemos aplicar prompts personalizados que visam diretamente os erros específicos cometidos pelo LLM. Isso torna o processo de retificação mais eficiente.
Resultados dos Experimentos
Em nossos experimentos, conseguimos traduzir uma configuração da Cisco para a Juniper enquanto identificamos e corrigimos vários erros. Muitos dos prompts automáticos gerados para correção de erros foram eficazes, mas algumas questões ainda exigiram intervenção humana para resolução.
No geral, o processo gerou uma quantidade significativa de alavancagem, demonstrando a eficácia de combinar um LLM com ferramentas de verificação. Essa combinação mostra potencial em sintetizar configurações precisas que podem ser confiáveis para operações de rede.
Conclusão
A colaboração entre modelos de linguagem grande e ferramentas de verificação oferece um caminho para criar configurações de roteadores corretas. Ao empregar a Programação de Prompt Verificada, podemos reduzir a quantidade de trabalho manual enquanto melhoramos a qualidade das saídas. Trabalhos futuros continuarão a refinar essa abordagem, explorando sua aplicação em cenários mais complexos. As lições aprendidas vão além das configurações de rede, fornecendo insights que podem ser aplicados a outros desafios de programação em todo o campo da tecnologia e engenharia.
Título: What do LLMs need to Synthesize Correct Router Configurations?
Resumo: We investigate whether Large Language Models (e.g., GPT-4) can synthesize correct router configurations with reduced manual effort. We find GPT-4 works very badly by itself, producing promising draft configurations but with egregious errors in topology, syntax, and semantics. Our strategy, that we call Verified Prompt Programming, is to combine GPT-4 with verifiers, and use localized feedback from the verifier to automatically correct errors. Verification requires a specification and actionable localized feedback to be effective. We show results for two use cases: translating from Cisco to Juniper configurations on a single router, and implementing no-transit policy on multiple routers. While human input is still required, if we define the leverage as the number of automated prompts to the number of human prompts, our experiments show a leverage of 10X for Juniper translation, and 6X for implementing no-transit policy, ending with verified configurations.
Autores: Rajdeep Mondal, Alan Tang, Ryan Beckett, Todd Millstein, George Varghese
Última atualização: 2023-07-10 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2307.04945
Fonte PDF: https://arxiv.org/pdf/2307.04945
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.