Agentes normalmente são confundidos de forma com programas que agem conforme o modo humano de pensar, isto é um equivoco, pois geralmente muitos desses agentes aprendem de acordo com interações com o mundo externo, e a partir disso aprendem e passam a atender conforme aprenderam previamente.

Conforme Coen (1995) agentes de software agem e se envolvem em um ambiente e fazem transferência de informações. Porem a inteligência empregada na criação de agentes é diferente bem como onde são utilizados, por esse motivo outras definições podem ser usadas como Maes (1995) que diz que os agentes autônomos são sistemas que herdam a dinâmica de um determinado ambiente, sentem e agem de acordo esse ambiente executando tarefas para o qual foram projetados. Existem outras definições para agentes de software, mas quando esse sistema dispõe de algum tipo de inteligência artificial são denominados agentes inteligentes de software, caso o agente opere de forma previsível em relação ao ambiente é chamado agente de software, nesse trabalho será tratado sobre os agentes de software, que se aproximam da primeira definição dada por Coen, onde esses agentes executam tarefas programadas através de acordo com a necessidade de resposta.

O uso desses agentes esta ligado ao tipo de aplicação que se deseja criar, no geral todos os agentes são criados para serem pequeno e atender determinado fim. Quando se programa esse tipo de sistema, são delegadas tarefas a fim de que ele as execute, sejam tarefas de comunicação, coleta de informações ou até mesmo analise de padrões de usuário. Mas Wooldridge e Jennings (1995) indicam algumas características básicas que podem ser encontrados nos agentes sendo elas:

a) Autônomos: operam sem controle direto do ser humano, ou sem depender de outros agentes.

b) Comunicação: interagem com humanos e outros agentes, se comunicando.

c) Reativos: agentes reagem de acordo com estimulo de onde estão inseridos.

d) Pró-ativos: tomam decisões próprias com base em analises próprias para alcançar as metas definidas.

Os agentes de software são utilizados para simplesmente reagir a um estimulo dado pelo ambiente, como por exemplo, o agente coleta informações de impressão de determinado usuário todas as vezes que o mesmo envia impressões através de um servidor de impressão e as armazena para envio, para que essas informações possam ser computadas. Geralmente não empregado nenhum tipo de inteligência artificial, pois as tarefas ao qual são projetados para atender são previsíveis e não irão demandar decisões por parte do mesmo. Por esse motivo tornam-se de fácil criação, porem atendem as necessidades desde que sejam preparados, ou seja, codificados para reconhecer o cenário em que devem agir.

Podemos também agrupar os agentes de acordo com suas funcionalidades, tendo cada agrupamento seu nível de dificuldade de implementação, podendo ou não conter inteligência artificial, como o estudo tratara de agentes de software será abordado o que mais se encaixa com a proposta do presente estudo.

Para que a comunicação seja possível, é necessário o uso de um ACL, (Agent Communication Language). Para que a informação possa ser transmitida é necessário que seja de fácil utilização para o meio em que se deseja utilizar o agente. Para comunicação através da internet podemos utilizar os padrões XML e UCL.

Os dois são padrões livres, ou seja, não precisam de licenças e ambos possuem fácil utilização para web. Por ser implementada em cima do XML, a UCL possui um padrão parecido, com a diferença de ter seus dados facilmente traduzidos para serem compreendidos em alto nível por humanos.

Autor:  Wagner dos Santos Almeida

Referências

Russell, S.; Nörvig, P. Artificial Intelligence: A Modern Approach – The Intelligent Agent Book. Prentice Hall, Inc. New Jersey, USA, 1995. ISBN 0-13-103805-2

Montesco, Carlos Alberto Estombelo. UCL – Uma Linguagem de Comunicação para Agentes de Software. Disponível em: outubro de 2001. <http://java.icmc.usp.br/old/research/master/Carlos_Montesco/tese.pdf>