Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: ✨ **Os Bastidores da Criação de Agentes Inteligentes: Complexidade, Recursos de Software e Hardware** ✨

_Créditos das imagens: ChatGPT ✨ **Os Bastidores da Criação de Agentes Inteligentes: Complexidade, Recursos de Software e Hardware** ✨ A inteligência artificial é hoje o coração de muitas inovações, seja em assistentes de voz, chatbots, sistemas de recomendação ou automação industrial. Mas, afinal, o que está por trás da implementação de um bom agente de IA? A partir de uma análise do projeto open source [naldodj-hb-ai-agents](https://github.com/naldodj/naldodj-hb-ai-agents), que engloba diversos exemplos de agentes escritos na linguagem Harbour, vamos explorar as camadas de complexidade e os requisitos necessários para construir soluções eficientes com IA. --- ## 🔄 Muito além do modelo: o ecossistema de um agente de IA Para quem imagina que basta conectar um grande modelo de linguagem (LLM) a uma interface e pronto, a verdade é outra. Um agente inteligente robusto requer a integração de múltiplas camadas de software e suporte a hardware adequado, além de estruturas para testes, ...

BlackTDN :: Alterando o dicionário :: ON FLIGHT

 

images

 

Alguém aí arriscaria trocar a asa de um avião em pleno voô?
Pelo menos alguém em sua sã consciência nao faria isso.. e os loucos?

 

Realizando uma comparação ao fato acima, eis a porta aberta para alterações no dicionario em tempo de execução através do antigo e 'usual' campo formulas.

 

Participando de um projeto.. updates para lá, updates para cá.. então surge a necessidade de se fazer uma alteração na SX3, mas o acesso ao CFG é restrito ao pessoal da TI. Então testamos essa alteração usando o campo formulas, e para a surpresa de todos, foi possível alterar uma propriedade do dicionário, tornando um campo anteriormente como [V]isual para [A]lterável.

A sequencia de operações a ser seguida é:

  • Posiciona na tabela SX3 para o campo a ser alterado.
    MSGINFO(POSICIONE('SX3',2,'A1_NOME','X3_VISUAL'))

FORM1

  • Realiza o lock da tabela e exibe se conseguiu ou não.
    MSGINFO(CVALTOCHAR(RECLOCK('SX3')))

FORM2

  • Define o novo valor ao campo da X3
    SX3->X3_VISUAL := 'A' (importante usar o alias da tabela)

FORM3

  • Libera o lock realizado.
    DBUNLOCKALL()

FORM4

  • Veja que o campo que antes era V-Visual passou a ser A-Alterado.
    MSGINFO(POSICIONE('SX3',2,'A1_NOME','X3_VISUAL'))

FORM5

* A operação apresentada é bem sucedida para alterações que não são transportadas para o banco de dados.

** No projeto não adotamos essa solução para alteração! Foi um pensamento louco que acabou revelando essa falha, espero que a detentora do Produto tome as devidas providências em tempo.

[]’s,
OBona,

Comentários

  1. Eu fiz parte dessa manobra e vi ela funcionando. Muito bom! Não é à toa que essa cara, oBona, é considerado um dos MAIORES THE WORLD CHAMPIONS!!! Valeu Bona por mais uma força! Abs.

    ResponderExcluir
  2. A totvs já tomou providencias para esse tipo de situação, existe um parametro que desabilita execuções via "fórmulas", gambiarra das mais toscas, como de costume.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas