Executando verificação de segurança...
4

Opa, Filipe, ótimo texto e bem relevante. Confesso que esbarrei nessa dúvida quando tava criando o clientai.

É realmente importante pensar na origem do termo, mas acho que no contexto de LLMs algumas nuances têm que ser abordadas. Este texto do Yoav Goldberg foi o que me deu mais clareza, além de levar a conversa pra outro nível de abstração (o que seriam sistemas multi-agentes). Aqui nesse paper do Barandiaran et al já dá pra ver várias definições diferentes (embora próximas), com requisitos mínimos pra o mínimo que configura um agente (inclusive a própria) definição deles, que é mais restritiva.

A definição do Barandiaran et al diz que pra ser um agente:

  1. a system must define its own individuality,
  2. it must be the active source of activity in its environment (interactional asymmetry)
  3. it must regulate this activity in relation to certain norms (normativity)

A primeira essencialmente separa o que é agente e o que é ambiente, temos que um agente precisa ser justamente algo que é possível diferenciar do seu ambiente, ter "individualidade". Já começa com algo arbitrário, o que a gente escolhe pra definir como individualidade não é trivial. Fazer parte ou não do ambiente em um contexto de llm pode ser tanta coisa. A gente pode pensar que se tá dentro de uma abstração arbitrária com um estado próprio (uma classe com um "contexto", por exemplo), é diferente do ambiente, ou a gente pode falar que se tiver rodando em outro processador, o resto é ambiente, as duas (e todas as outras) são igualmente válidas.

A próxima parte seria as ações. O que define uma ação de um agente? No paper tem uma discussão bem interessante sobre isso, mas essencialmente se resume a "quem é a fonte de energia pro que tá acontecendo em uma interação". Mesmo um chatbot pode ser pensado como um agente nesse caso, basta pensarmos nas ferramentas ou em fontes de dados externas como o ambiente que o chatbot interage. Essas coisas existem separado do que é o chatbot, a energia nessa troca é feita pelo agente. Tudo bem, a pessoa interagindo que deu o "pontapé" inicial no agente, mas ele definiu a ferramenta que deveria ser usada, a informação que deveria procurar. Ele gastou a energia interagindo com esse ambiente, e a decisão foi autônoma.

Por fim, a normatividade diz que o agente está tomando as ações por um motivo, ele tem um objetivo, por exemplo. Como considerar que essa normatividade faz parte do agente ou é algo externo é outra coisa arbitrária, se parar pra pensar. Um system prompt certamente encaixaria nisso se pensarmos nele como parte do agente. Podemos dizer que o prompt interagindo com o chatbot que tem acesso a ferramentas é justamente onde nós passamos esse objetivo, já que esse prompt é salvo no contexto (memória de curto prazo) do chatbot, então passa a fazer parte dele.

Pegando a definição que você usou: "agente é uma abstração para descrever entidades que percebem um ambiente por sensores, processam essas informações, tomam uma decisão e agem sobre o ambiente usando seus atuadores" - que é a definição do livro do Norvig, Russell, ainda cabe em um chatbot que tem ferramentas e acesso a informações externas.

Essas definições não são suficientemente concretas, não tem uma coisa formal que realmente define o que é ou não um agente.

No texto do Yoav Goldberg ele diz que o que define um agente em um contexto de LLMs é:

  1. Um prompt que define um comportamento
  2. Um conjunto de ferramentas que podem ser usadas
  3. Habilidade de executar um processo com múltiplos passos por meio de prompts repetidos e mantendo memória/estado entre as diferentes chamadas

A gente carrega muito contexto em Inteligência Artificial, mas muita coisa foi desenvolvida em paralelo e muito ainda não é totalmente formalizado. Não existe o conceito de agente, existem vários conceitos de agente, cada um dependendo de outras definições igualmente arbitrárias. Acho que o problema tá justamente aí, ainda falta especificidade, falta formalização. O que a gente tem ainda é baseado em outras coisas muito abstratas.

Carregando publicação patrocinada...