Discurso aleatório sobre onde estamos com os agentes de IA:
Alguns não os chamam de agentes, mas "agentes de fluxo de trabalho" com fluxos determinísticos estão em toda parte e funcionam. qualquer pessoa pode criar agentes de fluxo de trabalho simples, mesmo começando com ferramentas sem código, como Zapier e n8n. Agentes de fluxo de trabalho complexos exigem muito mais pensamento para construir de forma confiável e eficiente. um fluxo de trabalho complexo para um caso de uso comum e valioso, com integrações relevantes incorporadas, pode ser autônomo como um negócio e também um ótimo GTM para expandir posteriormente para outros fluxos de trabalho ou trabalhos mais autônomos.
Agentes mais dinâmicos / autônomos estão começando a funcionar e são úteis para pesquisa (especialmente se baseados na web) e codificação. menos confiável quando você começa a adicionar mais fontes de dados (por exemplo, APIs). Os agentes somente leitura parecem seguros e fáceis de testar, mas permitir que agentes autônomos entrem em ação (gravem) é assustador. (ideia aleatória sobre isso: seria legal se ferramentas como um CRM permitissem que você "bifurcasse" um espelho de desenvolvimento e executasse experimentos de automação que você pode reverter ou mesclar novamente.)
Os agentes dinâmicos funcionam bem quando podem (1) criar e acompanhar um bom plano e (2) executar tarefas corretamente, enquanto (3) encontram o contexto certo para alimentar cada etapa (planejamento e cada tarefa). Finalmente, ele precisa (4) refletir ao longo do caminho (com ou sem intervenção humana) para que possa ajustar o plano adequadamente e também melhorar a maneira como executa tarefas com falha ou mau desempenho.
Planejamento de tarefas: recursos de raciocínio do LLM Funcionam bem para listas de tarefas simples que não requerem contexto privado (como pesquisa profunda, apenas uma série de pesquisas na web enquanto resume). Se você deseja pesquisar muitas entidades, a pesquisa profunda não funciona tão bem porque o gerenciamento da lista de tarefas é relativamente básico. As ferramentas de IA baseadas em planilhas funcionam melhor para pesquisar muitas entidades porque você está efetivamente descarregando o gerenciamento de tarefas para a planilha, já que passar longas listas de tarefas entre os prompts não funciona aqui. O gerenciamento de tarefas em agentes de codificação funciona com problemas simples, código simples ou quando você está começando do zero. Depois de entrar em projetos pré-existentes mais complexos, eles são menos confiáveis - e os desenvolvedores aumentam a confiabilidade documentando como seu código funciona e é organizado (arquivos .md), o que permite ao agente criar listas de tarefas mais bem informadas. O código complexo requer mais documentos e, eventualmente, extrai dinamicamente apenas o contexto relevante desses documentos. Muitas pessoas / empresas têm fortes opiniões não documentadas sobre a ordem / abordagem / ferramentas corretas para lidar com um projeto, e precisamos de mais abordagens para documentar isso antecipadamente e em tempo real. Outra razão pela qual os agentes de codificação e pesquisa baseados na web funcionam bem é que todos eles usam o mesmo conjunto de ferramentas, portanto, não há necessidade de "aprender" a usar essas ferramentas (mais sobre isso a seguir).
Execução de tarefas: as tarefas geralmente são chamadas de API (exigindo autenticação e compreensão de como usar a API e a estrutura de dados subjacente - que pode ser exclusiva como em um CRM ou banco de dados com tabelas/colunas personalizadas), raciocínio LLM (por exemplo, resumir), uma combinação e até mesmo agentes de fluxo de trabalho*. Um agente de pesquisa é realmente apenas pesquisa na web e resumo em um loop. os agentes de codificação são CRUD em sua base de código e talvez pesquisem na web APIs de aprendizado. auth e acesso básico à API parecem resolvidos (MCPs se encaixam aqui), mas eu gostaria de ver mais sobre o contexto específico da ferramenta (pergunte ao usuário, mas também analise na conexão inicial, analise os dados existentes para entender como a ferramenta é usada, como os dados são estruturados, para quais cenários / projetos usamos a ferramenta.), erros / reflexão / feedback precisam se transformar em aprendizados organizados que são realimentados como contexto quando relevante. As mesmas ferramentas podem ser usadas para diferentes propósitos e de maneiras diferentes entre as organizações e precisamos capturar / documentar isso de alguma forma para executar bem as tarefas.
Contexto: Imagine ser um novo funcionário de uma empresa. Você aprende muito durante a integração (e quanto melhor a integração, mais eficaz você é desde o início), e depois há o aprendizado no trabalho que se divide em aprender com a experiência da organização ("é assim que fazemos as coisas") e aprender com a própria experiência - o primeiro mais predominante em grandes organizações. O gerenciamento de contexto é semelhante. há camadas de contexto como meta (usuário/empresa), específico/projeto/departamento, específico da tarefa, específico da ferramenta, etc. evoluímos de prompts de sistema simples para estratégias RAG híbridas (vetor, palavra-chave, gráfico), mas além de ter os dados/contexto, precisamos de orientação sobre quando e como recuperar o contexto, que vemos nas primeiras versões de hoje - mas muito espaço para melhorias. Este não é apenas um problema técnico, mas também um problema de negócios - pois você basicamente precisa criar um documento de integração que cubra todos os cenários esperados. À medida que os projetos se tornam mais complicados, é preciso mais consideração para podar corretamente o contexto para que apenas as informações relevantes sejam incluídas no prompt, minimizando o contexto irrelevante.
reflexão: temos ferramentas de monitoramento de agentes que cobrem os custos de LLM/api, observação, mas atribuir sucesso/falha é um desafio - uma área em que os agentes de codificação têm uma vantagem sobre os outros é uma maneira determinística de perceber falhas (por meio do teste do código). Para muitas outras tarefas agenticas, ainda estamos descobrindo a maneira certa de coletar informações humanas para melhorar a produção futura. Afaik, a reflexão hoje é humana no circuito, onde o feedback está sendo amplamente alimentado aos desenvolvedores humanos para melhorar o agente, mas o desbloqueio vem quando descobrimos como transformar a reflexão em autoaperfeiçoamento - onde o agente obtém insights de falhas na geração da lista de tarefas e na execução de tarefas para fazer melhor da próxima vez. Basicamente, a reflexão precisa se transformar em um contexto bem organizado que pode ser puxado para prompts quando e somente quando relevante. isso evolui para peças de ajuste fino do agente e, em seguida, ambientes RL agenciais - ainda parece muito cedo aqui
*Anteriormente, mencionei a entrega de tarefas aos agentes de fluxo de trabalho, que começam a fazer sentido quando seu agente se beneficiaria de não ter agentes de fluxo de trabalho como ferramentas (em vez de descobrir uma lista de tarefas conhecida a cada vez) ou quando seu sistema é complicado o suficiente para que agentes especializados com contexto e ferramentas especializados tenham um desempenho melhor. Ou se você estiver aproveitando agentes criados por outras PPL (um padrão que comecei a ver aqui são os endpoints de API de linguagem natural para facilitar a colaboração do agente).
se tivéssemos a qualidade do modelo de hoje com janela de conteúdo infinita (sem degradação na qualidade), computação infinita, armazenamento infinito, acesso ao navegador e um método de pagamento, um único loop LLM provavelmente é suficiente para fazer muito o ponto do ponto inútil acima (nada é infinito) é que a orquestração do agente é em grande parte sobre o gerenciamento de limitações, arquitetando maneiras de descarregar o trabalho do LLM por meio de estrutura e código.
Os agentes em produção vêm em vários sabores: como ferramentas internas, como um produto autônomo que combina várias ferramentas e incorporados como um recurso a uma ferramenta principal. eles podem ser genéricos ou especializados. os agentes de chat, voz e plano de fundo parecem ser a interface de interface do usuário mais comum para acionar fluxos agentes.
O que mais estou perdendo?
27,45K