Agente open source contra o 1C Napar: RAG híbrido com DeepSeek vence na prática

Existe uma crença comum: um modelo do fornecedor, com acesso total ao próprio material, é sempre melhor. A prática mostra o contrário. Em perguntas difíceis de desenvolvedores 1C, o que vence não é a especialização estreita, mas a qualidade da indexação: busca híbrida, parsing de metadados, fontes relevantes.

Processado por IA de Habr AI; editado por Hamidun News
Agente open source contra o 1C Napar: RAG híbrido com DeepSeek vence na prática
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo

O agente foi montado em LangGraph (Deep Agents) com busca full-text via FTS do PostgreSQL e busca vetorial via pgvector + HNSW. Os resultados são combinados por Reciprocal Rank Fusion. Um parser de metadados se orienta entre 236 mil arquivos e 193 mil diretórios de configurações padrão do 1C. Para busca na internet, usam a API do Yandex em vez dos mecanismos de busca embutidos nos chats.

  • Timeouts de bloqueios gerenciados: o agente propôs um filtro para eventos TLOCK (>1 seg), TTIMEOUT e TDEADLOCK, além de analisar as ações da conexão bloqueadora; o Napar ofereceu uma configuração básica sem detalhes
  • Conexão de um catálogo ao BSP: o agente apontou os tipos definidos, a assinatura EscreverVersãoDoObjeto e um handler do gerenciador; o Napar propôs uma alternativa via histórico de dados nativo da plataforma
  • Bloqueio do cancelamento de lançamento: o agente entregou código pronto com uma consulta a um registro de acumulação e alertou sobre a necessidade de um bloqueio gerenciado

A conclusão óbvia seria: o fornecedor tem acesso total aos seus materiais e contexto ilimitado, então seu modelo deveria ser sempre melhor. Mas não é bem assim. Na prática, a diferença de qualidade entre um modelo especializado e um modelo de nuvem comum frequentemente não justifica o custo do fine-tuning, desde que o modelo esteja apoiado em boa indexação e nas fontes de conhecimento certas.

A Habr reuniu perguntas reais de desenvolvedores 1C e comparou um agente open source com o assistente comercial Napar. Os resultados foram surpreendentes.

Arquitetura: RAG híbrido no LangGraph

Os modelos escolhidos eram de ponta: deepseek-v4-flash, gpt-6.1-sol, glm-5.3-flash. Todos lidam com ferramentas de forma equivalente e têm janelas de contexto suficientes. O que se mostrou decisivo não foi o modelo, mas o ambiente ao redor dele.

O framework é o LangGraph (Deep Agents), com planejamento, delegação para subagentes e controle de contexto via sumarização do histórico.

Para o conhecimento, implementaram um RAG híbrido. O ramo full-text usa FTS do PostgreSQL com dicionário em russo; o ramo vetorial usa pgvector com índice HNSW. Eles são combinados via Reciprocal Rank Fusion, que eleva os candidatos mais bem classificados de cada lista para o topo do resultado final.

Para o código-fonte das configurações padrão, construíram um índice rápido de 236 mil arquivos e 193 mil diretórios. Também adicionaram um parser de metadados que coleta objetos, atributos e as relações entre eles — ajudando o agente a se orientar nos módulos.

Para a internet, usam a API do Yandex em vez da busca embutida nos chats. Isso traz resultados mais relevantes para conteúdo voltado à Rússia. O agente agrega e sumariza tudo o que encontra.

Três testes com tarefas reais

1. Um log tecnológico para timeouts de bloqueios gerenciados.

O agente produziu uma configuração com filtro para esperas longas (eventos TLOCK acima de 1 segundo, TTIMEOUT, TDEADLOCK), analisou o campo WaitConnections para localizar a conexão bloqueadora e sugeriu rastrear suas ações: consultas longas, chamadas a serviços externos, processamento prolongado dentro de uma transação.

O Napar também entregou uma configuração e mencionou o WaitConnections, mas se concentrou em reunir material para uma investigação, sem analisar o lado bloqueador.

2. Conexão de um catálogo não padrão ao subsistema de versionamento do BSP.

O agente: adicionar o tipo aos tipos definidos DadosVersionados e DadosVersionadosObjeto, implementar no gerenciador do catálogo um handler AoDefinirConfiguraçõesDeVersionamentoDeObjetos, e chamar a inicialização a partir do evento AoCriarNoServidor do formulário. A assinatura EscreverVersãoDoObjeto já escuta o evento necessário. Ele apresentou o código e apontou que, para catálogos, é usada exatamente essa assinatura, não EscreverVersãoDoDocumento.

O Napar propôs outro mecanismo: a propriedade Histórico de dados do catálogo e uma tarefa agendada chamando HistóricoDeDados.AtualizarHistórico(). É válido, mas trata-se de uma alternativa, não de uma conexão ao BSP padrão.

3. Bloqueio do cancelamento de lançamento quando lotes já foram baixados.

O agente forneceu um handler AoProcessarCancelamentoDeLançamento com uma consulta ao registro MercadoriasPorLotes, um filtro sobre movimentos de saída, e uma verificação via ResultadoDaConsulta.EstáVazio(). Também incluiu um alerta importante: para proteger contra baixas simultâneas, é necessário um bloqueio gerenciado (ausente no exemplo).

O Napar apresentou um esquema, sem se aprofundar nas diferentes variantes.

Conclusão

Um modelo aberto combinado com indexação de qualidade — RAG híbrido, parsing de metadados, escolha correta de fontes — frequentemente entrega resultados não piores que um modelo especializado estreito. É mais vantajoso investir em infraestrutura de busca do que em fine-tuning. O 1C Napar resolve bem as perguntas padrão, mas dá respostas mais superficiais nas complexas.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Arquitetura: RAG híbrido no LangGraph?

Os modelos escolhidos eram de ponta: deepseek-v4-flash, gpt-6.1-sol, glm-5.3-flash. Todos lidam com ferramentas de forma equivalente e têm janelas de contexto suficientes. O que se mostrou decisivo não foi o modelo, mas o ambiente ao redor dele. O framework é o LangGraph (Deep Agents), com planejamento, delegação para subagentes e controle de contexto via sumarização do histórico. Para o conhecimento, implementaram um RAG híbrido. O ramo full-text usa FTS do PostgreSQL com dicionário em russo; o ramo vetorial usa pgvector com índice HNSW. Eles são combinados via Reciprocal

O que se sabe sobre Três testes com tarefas reais?

1. Um log tecnológico para timeouts de bloqueios gerenciados. O agente produziu uma configuração com filtro para esperas longas (eventos TLOCK acima de 1 segundo, TTIMEOUT, TDEADLOCK), analisou o campo WaitConnections para localizar a conexão bloqueadora e sugeriu rastrear suas ações: consultas longas, chamadas a serviços externos, processamento prolongado dentro de uma transação. O Napar também entregou uma configuração e mencionou o WaitConnections, mas se concentrou em reunir material para uma investigação, sem analisar o lado bloqueador. 2. Conexão de um catálogo não pa

O que se sabe sobre Conclusão?

Um modelo aberto combinado com indexação de qualidade — RAG híbrido, parsing de metadados, escolha correta de fontes — frequentemente entrega resultados não piores que um modelo especializado estreito. É mais vantajoso investir em infraestrutura de busca do que em fine-tuning. O 1C Napar resolve bem as perguntas padrão, mas dá respostas mais superficiais nas complexas.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Autonomous AI Agents

Delegate Deep Research, Coding & Workflows to an AI Agent

Deploy autonomous multi-step execution with NomadNet Agent (agent.nomadnet.ai) — automated web research, data synthesis, code generation, and complex task orchestration.

Launch NomadNet Agent →NomadNet AI Platform
O que você acha?
Carregando comentários…