A memória está, sem incerteza, se tornando um paisagem crucial da IA Agentic. À medida que os casos de uso para agentes de IA crescem em dificuldade, também cresce a premência desses agentes aprenderem com experiências passadas, utilizarem conhecimento armazenado específico do negócio e se adaptarem a cenários em evolução com base em informações acumuladas.
No meu item anterior, “Memória em IA: Principais benefícios e considerações sobre investimentos,” Eu explorei por que a memória é importante para a IA, discutindo seu papel na recordação, raciocínio e tirocínio contínuo. Leste item, no entanto, mergulhará diretamente na implementação da memória examinando seu impacto por meio da funcionalidade de “ensinabilidade” na popular estrutura de agentes, Autogen.
Reparo: Embora oriente item seja de natureza técnica, ele oferece valor tanto para profissionais técnicos quanto para líderes empresariais que buscam julgar o papel da memória em sistemas de IA Agentic. Eu o estruturei para que os leitores possam pular as seções de código e ainda entender a maneira porquê a memória pode aumentar as respostas dos seus sistemas de IA. Se você não quiser seguir o código, pode ler as descrições de cada lanço para ter uma noção do processo… ou somente a seção de principais descobertas e recomendações.
Minha exploração dos agentes ensináveis da Autogen revelou tanto seu potencial quanto suas limitações no tratamento de tarefas de memória simples e complexas.
Pronto para uso, o TeachableAgent da Autogen tem um desempenho menos luzidio do que o esperado. A capacidade de raciocínio do Agent confunde memórias de uma forma não produtiva e o mecanismo de recuperação incluído não está configurado para pesquisas multietapas necessárias para responder a perguntas complexas. Essa limitação sugere que, se você quiser usar os Teachable Agents da Autogen, será necessário ter uma personalização suculento para complementar as capacidades de raciocínio e obter uma recuperação de memória mais sofisticada.
Para produzir recursos de memória mais robustos, é crucial implementar a funcionalidade de pesquisa em várias etapas. Uma única procura de memória frequentemente não fornece as informações abrangentes necessárias para tarefas complexas. Implementar uma série de buscas interconectadas pode aumentar significativamente a capacidade do agente de reunir e sintetizar informações relevantes.
O recurso de “ensinabilidade”, embora poderoso, deve ser abordado com cautela. A ativação contínua sem supervisão corre o risco de intoxicação de dados e comprometimento de fontes de informação confiáveis. Líderes empresariais e arquitetos de soluções devem considerar implementar uma abordagem humana no loop, permitindo que os usuários aprovem o que o sistema aprende em vez de tratar cada inferência porquê verdade fundamental da qual o sistema deve aprender. Essa supervisão no design atual do Teachable Agent da Autogen pode fomentar riscos significativos associados ao tirocínio não verificado.
Por termo, o método de recuperação de memória de um armazenamento de conhecimento desempenha um papel importante na eficiência do sistema. Indo além das pesquisas simples de vizinhos mais próximos, que é o padrão do TeachableAgent, para técnicas mais avançadas, porquê a pesquisa híbrida (combinando abordagens de palavras-chave e vetores), pesquisa semiologia ou utilização de gráfico de conhecimento poderia melhorar drasticamente a relevância e a precisão das informações recuperadas.
Para provar apropriadamente porquê a memória externa pode ser valiosa, criei um cenário hipotético para uma fábrica de peças de automóveis. Siga o código inferior para implementar um Teachable Agent você mesmo.
Cenário: Uma instalação de fabricação de peças de automóveis precisa colocar um projecto em prática caso haja restrições de robustez. O projecto precisa ser maleável e se apropriar com base em quanto consumo de robustez a instalação pode usar e quais peças e modelos estão em demanda.
Passo 1:
A pré-configuração requer que você execute o comando pip install autogen caso ele não esteja instalado em seu envolvente ativo e crie um registo de formato JSON.
Exemplo de um registo de formato conciliável que usa o protótipo de serviço GPT4–o do Azure OpenAI:
[{
"model": "gpt-4o",
"api_key": "",
"azure_endpoint": "",
"api_type": "azure",
"api_version": "2024-06-01"
}]
Sua visita nos ajuda a continuar oferecendo o melhor para você! bk">Instalar Autogen para python:
pip install pyautogen
Passo 2:
Importe as bibliotecas necessárias para seu notebook ou registo e carregue o registo de formato.
import autogen
from autogen.agentchat.contrib.capabilities.teachability import Teachability
from autogen import ConversableAgent, Sua visita nos ajuda a continuar oferecendo o melhor para você! = autogen.config_list_from_json(
env_or_file="autogenconfig.json", #the json file name that stores the config
file_location=".", #this means the file is in the same directory
filter_dict={
"model": ["gpt-4o"], #select a subset of the models in your config
},
)
Lanço 3:
Crie os agentes. Precisaremos de dois agentes devido à maneira porquê a estrutura do Autogen funciona. Usamos um UserProxyAgent para executar tarefas e interagir com ou substituir o envolvimento humano (dependendo da quantidade desejada de humanos no loop). Também criamos um agente conversável porquê o “agente ensinável”, que deve interagir com outros agentes (não com o usuário). Você pode ler mais sobre o Agentes Proxy do Usuário e Agentes Conversable cá.
teachable_agent = ConversableAgent(
name="teachable_agent", # the name can't contain spaces
llm_config={"config_list": config_list, "timeout": 120, "cache_seed": None}, # in this example we disable caching but if it is enabled it caches API requests so that they can be reused when the same request is used
) user = UserProxyAgent(
name="user",
human_input_mode="ALWAYS", #I want to have full control over the code executed so I am setting human_input_mode to ALWAYS. Other options are NEVER and TERMINATE.
is_termination_msg=lambda x: True if "TERMINATE" in x.get("content") else False, #setting a termination message is VERY important because it tells the agent when to finish.
max_consecutive_auto_reply=0, #we don't need this agent to replies multiple times in a row
code_execution_config={
"use_docker": False
}, # If you are planning on running code look into setting use_docker=True. For this example I am not because then I have to walk through the docker setup, but it is safer than running the code directly.
)
Passo 4:
Para ter uma risco de base, vamos fazer a mesma pergunta aos agentes antes e depois de “ensiná-la”. Decidi propositalmente provar diferentes níveis de dificuldade da pergunta para mostrar o desempenho em tarefas que exigem uma recuperação de memória de lanço única versus multietapas. Para abordar com sucesso a intrincada pergunta de multietapas, o mecanismo de recuperação deve fornecer informações de duas memórias separadas porquê contexto para o protótipo de linguagem responsável por gerar uma resposta final.
Pergunta Simples: “A instalação está passando por uma escassez de robustez de 40%. Quais modelos precisam ser priorizados?”
Pergunta complexa de várias etapas: “A instalação está com falta de robustez de 40%. Forneça-me uma estudo detalhada de quais máquinas devem ser desativadas e quais máquinas devem permanecer ativas.”
Uma vez que esperado, as respostas são genéricas e não particularmente aplicáveis a uma empresa individual.
Resposta antes de habilitar a memória de longo prazo:
SIMPLE QUESTION RESPONSE
===========================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to user):To address a power shortage of 30% effectively, it's crucial to prioritize models that are essential to critical operations, safety, and those that have the highest impact on productivity. Here are steps to determine which models to prioritize:
1. **Identify Essential Systems:** Prioritize systems that are vital for safety, security, and essential operations. These might include:
- Emergency lighting
- Security systems (alarms, surveillance)
- Critical environmental controls (e.g., refrigeration for hazardous materials)
- Communication systems
2. **Evaluate Impact on Core Operations:** Determine which models are crucial to the facility’s core functions. This can include machinery, servers, or any processes that are indispensable for maintaining productivity and operations.
3. **Energy Efficiency:** Prioritize models and equipment that are more energy-efficient and can operate within the reduced power capacity.
4. **Downtime Cost:** Consider the cost of downtime for each model. Prioritize those where downtime would result in significant financial losses or production delays.
Based on these principles, here’s a generic prioritization framework:
1. **Safety and Security Systems:**
- Emergency Lighting
- Fire Alarms and Sprinkler Systems
- Security Cameras and Sensors
2. **Critical Operational Systems:**
- Essential Production Machinery (that cannot be shut down without major issues)
- Servers and IT Infrastructure (especially those critical for operations and data integrity)
- HVAC Systems (if necessary for maintaining safe operating conditions)
3. **Support Systems:**
- Backup Power Systems (uninterruptible power supplies, generators)
- Communication Systems (both internal and external communication)
Ensure that non-essential and high energy-consuming equipment is powered down or scheduled to operate during off-peak hours if possible.
Always re-evaluate periodically to ensure that the power allocation aligns with the dynamic needs of the facility. Communication with key stakeholders regarding priorities and decisions is also essential for smooth operations during a power shortage.
COMPLEX MULTISTEP QUESTION RESPONSE
====================================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to user):
To effectively manage a facility experiencing a 30% power shortage, we need to prioritize essential operations and consider the criticality and energy consumption of each machine. Here is a detailed breakdown:
### Step 1: Identify Essential Operations
1. **Critical Infrastructure**: Safety systems, security systems, and essential IT infrastructure.
2. **Production Lines**: Machines involved in the primary production process.
3. **Support Systems**: HVAC systems, lighting, and other ancillary equipment necessary to maintain a safe working environment.
### Step 2: Categorize Machines by Importance and Energy Consumption
#### A. Essential and High-Energy Machines
1. **Safety and Security Systems**
- Fire alarms and sprinklers
- Surveillance cameras
- Security access controls
2. **Primary Production Machines**
- Core production lines
- Medial processing units or mainframe servers (for IT-heavy operations)
3. **Critical Support Systems**
- Emergency lighting
- Essential HVAC systems (for maintaining operation-critical temperature and humidity)
#### B. Non-Essential and High-Energy Machines
1. **Secondary Production Lines**
- Non-primary or non-critical production lines
- Equipment used for non-essential or ancillary processes
2. **Supplementary IT Infrastructure**
- Servers used for non-essential operations
- Backup systems that are not in immediate use
3. **Non-Essential HVAC and Lighting**
- HVAC systems for non-critical areas
- Lighting in non-essential zones
#### C. Non-Essential and Low-Energy Machines
1. **Office Equipment**
- Computers, printers, and copiers in non-essential offices
2. **Non-essential Lab or Research Equipment**
- Devices not directly linked to current essential tasks
### Step 3: Prioritize Deactivation
#### Immediate Deactivation
1. **Non-Essential and High-Energy Machines**
- Secondary production lines
- Non-essential backup servers
2. **Non-Essential HVAC and Lighting**
- HVAC in non-critical areas
- Non-essential lighting
3. **Non-Essential Office Equipment**
- Printers, non-essential computers, and copiers
#### Limited Usage
1. **Essential and High-Energy Machines**
- Operate critical production lines at reduced capacity if possible
- Implement rotational operation schedules for essential processes
2. **Critical Support Systems**
- Optimize HVAC Sua visita nos ajuda a continuar oferecendo o melhor para você! (e.g., raising or lowering set points within acceptable ranges)
- Reduce lighting to minimum safety standards
### Step 4: Implement Energy Conservation Measures
1. **Optimize Operations**
- Utilize energy-efficient settings
- Implement energy-saving protocols and encourage staff to conserve energy
2. **Scheduled Downtime**
- Plan for downtime during off-peak hours for essential machinery to balance the load
3. **Regular Monitoring**
- Monitor energy consumption in real-time to make quick adjustments as needed
### Summary
#### Remain Active:
1. Safety and security systems
2. Main production lines
3. Critical IT infrastructure
4. Essential HVAC and lighting for operational areas
#### Deactivate or Limit Use:
1. Non-essential production lines
2. Redundant IT systems
3. Non-critical HVAC and lighting
4. Office equipment in non-essential areas
**Note**: These recommendations should be adjusted based on the specific operational requirements of your facility. Additionally, it could be beneficial to communicate these changes to all staff to ensure compliance and understanding.
Código para fazer perguntas básicas:
#simple question
user.initiate_chat(teachable_agent, message="The facility is experiencing a power shortage of 40%. What models need to be prioritized?", clear_history=True)
#multistep complex question
user.initiate_chat(teachable_agent, message="The facility is experiencing a power shortage of 30%. Provide me a detailed breakdown of what machines should be deactivated and which machines should remain active.", clear_history=True)
Lanço 5:
Crie a capacidade de “ensinabilidade” que você portanto adiciona ao agente. A classe Teachability herda da classe AgentCapabiliy, que essencialmente permite que você adicione capacidades personalizáveis aos Agents.
A classe Teachability tem muitos parâmetros opcionais que podem ser explorados mais detalhadamente cá.
A classe Teachability pronta para uso é uma maneira rápida e útil de somar memória de longo prazo aos agentes, mas provavelmente precisará ser personalizada para uso em um envolvente de produção, conforme descrito na seção de principais descobertas. Ela envolve o envio de mensagens para um Analyzer Agent que avalia as mensagens do usuário para armazenamento e recuperação em potencial. O Analyzer Agent procura conselhos que possam ser aplicáveis a tarefas semelhantes no horizonte e, em seguida, resume e armazena pares de tarefas-conselhos em um banco de dados binário que serve porquê a “memória” do agente.
teachability = Teachability(
verbosity=0, # 0 for basic info, 1 to add memory operations, 2 for analyzer messages, 3 for memo lists.
reset_db=True, # we want to reset the db because we are creating a new agent so we don't want any existing memories. If we wanted to use an existing memory store we would set this to false.
path_to_db_dir="./tmp/notebook/teachability_db", #this is the default path you can use any path you'd like
recall_threshold=1.5, # Higher numbers allow more (but less relevant) memos to be recalled.
max_num_retrievals=10 #10 is default bu you can set the max number of memos to be retrieved lower or higher
)teachability.add_to_agent(teachable_agent)
Lanço 6:
Agora que o teachable_agent está configurado, precisamos fornecer a ele as informações que queremos que o agente “aprenda” (armazene no banco de dados e recupere).
De negócio com nosso cenário, eu queria que o agente tivesse um conhecimento imprescindível da instalação, que consistia em:
- os tipos de componentes que a fábrica produz
- os tipos de modelos de carros para os quais os componentes precisam ser feitos
- quais máquinas são usadas para fazer cada componente
Aliás, eu queria fornecer alguma orientação operacional sobre as prioridades da instalação, dependendo de quão limitada em termos de robustez ela é. Isso inclui:
- Orientação em caso de restrição de capacidade energética superior a 50%
- Orientação em caso de restrição de capacidade energética entre 25–50%
- Orientação em caso de restrição de capacidade energética entre 0–25%
business_info = """
# This manufacturing plant manufactures the following vehicle parts:
- Body panels (doors, hoods, fenders, etc.)
- Engine components (pistons, crankshafts, camshafts)
- Transmission parts
- Suspension components (springs, shock absorbers)
- Brake system parts (rotors, calipers, pads)# This manufactoring plant produces parts for the following models:
- Ford F-150
- Ford Focus
- Ford Explorer
- Ford Mustang
- Ford Escape
- Ford Edge
- Ford Ringir
# Equipment for Specific Automotive Parts and Their Uses
## 1. Body Panels (doors, hoods, fenders, etc.)
- Stamping presses: Form sheet metal into body panel shapes
- Die sets: Used with stamping presses to create specific panel shapes
- Hydraulic presses: Shape and form metal panels with high pressure
- Robotic welding systems: Automate welding of body panels and structures
- Laser cutting machines: Precisely cut sheet metal for panels
- Sheet metal forming machines: Shape flat sheets into curved or complex forms
- Hemming machines: Fold and crimp edges of panels for strength and safety
- Metal finishing equipment (grinders, sanders): Smooth surfaces and remove imperfections
- Paint booths and spraying systems: Apply paint and protective coatings
- Drying ovens: Cure paint and coatings
- Quality control inspection systems: Check for defects and ensure dimensional accuracy
## 2. Engine Components (pistons, crankshafts, camshafts)
- CNC machining centers: Mill and drill complex engine parts
- CNC lathes: Create cylindrical parts like pistons and camshafts
- Boring machines: Enlarge and finish cylindrical holes in engine blocks
- Honing machines: Create a fine surface finish on cylinder bores
- Grinding machines: Achieve precise dimensions and smooth surfaces
- EDM equipment: Create complex shapes in hardened materials
- Forging presses: Shape metal for crankshafts and connecting rods
- Die casting machines: Produce engine blocks and cylinder heads
- Heat treatment furnaces: Alter material properties for strength and durability
- Quenching systems: Rapidly cool parts after heat treatment
- Balancing machines: Ensure rotating parts are perfectly balanced
- Coordinate Measuring Machines (CMMs): Verify dimensional accuracy
## 3. Transmission Parts
- Gear cutting machines: Create precise gear teeth on transmission components
- CNC machining centers: Mill and drill complex transmission housings and parts
- CNC lathes: Produce shafts and other cylindrical components
- Broaching machines: Create internal splines and keyways
- Heat treatment equipment: Harden gears and other components
- Precision grinding machines: Achieve extremely tight tolerances on gear surfaces
- Honing machines: Finish internal bores in transmission housings
- Gear measurement systems: Verify gear geometry and quality
- Assembly lines with robotic systems: Put together transmission components
- Test benches: Evaluate completed transmissions for performance and quality
## 4. Suspension Components (springs, shock absorbers)
- Coil spring winding machines: Produce coil springs to exact specifications
- Leaf spring forming equipment: Shape and form leaf springs
- Heat treatment furnaces: Strengthen springs and other components
- Shot peening equipment: Increase fatigue strength of springs
- CNC machining centers: Create precision parts for shock absorbers
- Hydraulic cylinder assembly equipment: Assemble shock absorber components
- Gas charging stations: Fill shock absorbers with pressurized gas
- Spring testing machines: Verify spring rates and performance
- Durability test rigs: Simulate real-world conditions to test longevity
## 5. Brake System Parts (rotors, calipers, pads)
- High-precision CNC lathes: Machine brake rotors to exact specifications
- Grinding machines: Finish rotor surfaces for smoothness
- Die casting machines: Produce caliper bodies
- CNC machining centers: Mill and drill calipers for precise fit
- Precision boring machines: Create accurate cylinder bores in calipers
- Hydraulic press: Compress and form brake pad materials
- Powder coating systems: Apply protective finishes to calipers
- Assembly lines with robotic systems: Put together brake components
- Brake dynamometers: Test brake system performance and durability
"""
business_rules_over50 = """
- The engine components are critical and machinery should be kept online that corresponds to producing these components when capacity constraint is more or equal to 50%: engine components
- Components for the following models should be prioritized when capacity constraint is more or equal to 50%: 1.Ford F-150
"""
business_rules_25to50 = """
- The following components are critical and machinery should be kept online that corresponds to producing these components when capacity constraint is between 25-50%: engine components and transmission parts
- Components for the following models should be prioritized when capacity constraint is between 25-50%: 1.Ford F-150 2.Ford Explorer
"""
business_rules_0to25 = """
- The following components are critical and machinery should be kept online that corresponds to producing these components when capacity constraint is between 0-25%: engine components,transmission parts, Brake System Parts
- Components for the following models should be prioritized when capacity constraint is between 0-25%: 1.Ford F-150 2.Ford Explorer 3.Ford Mustang 4.Ford Focus
"""
user.initiate_chat(teachable_agent, message=business_info, clear_history=True)
user.initiate_chat(teachable_agent, message=business_rules_over50, clear_history=True)
user.initiate_chat(teachable_agent, message=business_rules_25to50, clear_history=True)
user.initiate_chat(teachable_agent, message=business_rules_0to25, clear_history=True)
Passo 7:
Agora que adicionamos informações importantes à memória de longo prazo, vamos fazer a mesma pergunta ao Agente e ver a diferença em suas respostas.
Pergunta simples: “A instalação está passando por uma escassez de robustez de 40%. Quais modelos precisam ser priorizados?”
Pergunta complexa de várias etapas: “A instalação está passando por uma escassez de robustez de 40%. Forneça-me uma estudo detalhada de quais máquinas devem ser desativadas e quais máquinas devem permanecer ativas.”
Resultados depois a implementação da memória de longo prazo:
O Teachable Agent conseguiu responder parcialmente à pergunta simples. Ele estava correto sobre os modelos de carros que precisam ser priorizados, mas forneceu informações incorretas adicionais sobre quais componentes precisavam ser incluídos.
A complexa questão multietapa não foi abordada adequadamente. Ela mesclou erroneamente duas diretrizes comerciais distintas para restrições de capacidade de 0–25% e 25–50% em uma única diretriz generalizada, resultando em uma resposta imprecisa. Aliás, ela forneceu somente uma lista parcial de máquinas que deveriam permanecer ativas ou ser desativadas para a produção de cada componente, omitindo detalhes cruciais do protocolo operacional completo. Isso demonstra os desafios em restaurar e sintetizar com precisão informações de várias fontes de memória separadas para consultas complexas.
SIMPLE QUESTION RESPONSE
===========================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to user):
Given the facility is experiencing a power shortage of 40%, this falls within the 25-50% capacity constraint range. According to your previously established priorities for such a scenario, the following models and components need to be prioritized:### Components to Prioritize
- Engine components
- Transmission parts
- Brake System Parts
### Models to Prioritize
1. Ford F-150
2. Ford Explorer
You should ensure that the machinery necessary to produce these critical components for the Ford F-150 and Ford Explorer is kept online.
COMPLEX MULTISTEP QUESTION RESPONSE
====================================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to user):
In response to the 40% power shortage, let's create a detailed plan to ensure the most critical machinery remains operational while deactivating less essential ones.
### Critical Prioritization (0-50% capacity constraint):
- **Critical Components**:
- Engine components (pistons, crankshafts, camshafts)
- Transmission parts
- Brake System Parts (rotors, calipers, pads)
- **Prioritized Models**:
- Ford F-150
- Ford Explorer
### Machines to Remain Active:
1. **Engine Component Machines**:
- Engine Block Milling Machine
- Crankshaft Grinding Machine
- Camshaft Milling Machine
2. **Transmission Part Machines**:
- Transmission Housing Caster
- Gear Cutting Machine
- Transmission Assembly Line
3. **Brake System Part Machines**:
- Brake Rotor Casting Machine
- Brake Caliper Milling Machine
- Brake Pad Press
### Machines to Deactivate:
1. **Body Panel Machines**:
- Door Stamping Machine
- Hood Assembly Machine
- Fender Bending Machine
2. **Suspension Component Machines**:
- Coil Spring Forming Machine
- Shock Absorber Assembly Line
### Detailed Breakdown:
#### Active Machines:
- **Engine Block Milling Machine**:
- Produces critical engine blocks, essential for Ford F-150 and Ford Explorer.
- **Crankshaft Grinding Machine**:
- Ensures high precision crankshafts; crucial for the performance of Ford F-150 and Ford Explorer.
- **Camshaft Milling Machine**:
- Produces camshafts, necessary for Ford F-150 and Ford Explorer engines.
- **Transmission Housing Caster**:
- Important for casting the housing of transmissions used in Ford F-150 and Ford Explorer.
- **Gear Cutting Machine**:
- Precision gears production, vital for Ford F-150 and Ford Explorer transmissions.
- **Transmission Assembly Line**:
- Assembly of complete transmission units for Ford F-150 and Ford Explorer.
- **Brake Rotor Casting Machine**:
- Produces brake rotors, crucial for the safe braking systems in Ford F-150 and Ford Explorer.
- **Brake Caliper Milling Machine**:
- Machining of brake calipers, essential for Ford F-150 and Ford Explorer.
- **Brake Pad Press**:
- Manufacturing of brake pads, necessary for ensuring braking efficiency in Ford F-150 and Ford Explorer.
#### Deactivated Machines:
- **Door Stamping Machine**:
- While important, body panels like doors are less critical than engine and transmission components under current constraints.
- **Hood Assembly Machine**:
- Deactivating hood assembly to free up power for critical components manufacturing.
- **Fender Bending Machine**:
- Non-critical compared to engine and brake components during a significant power shortage.
- **Coil Spring Forming Machine**:
- Suspension springs are lower priorities under current circumstances.
- **Shock Absorber Assembly Line**:
- Suspension components aren’t critical enough to keep operational during this level of power shortage.
This plan ensures that production focuses on maintaining the critical components needed for primary models, the Ford F-150 and Ford Explorer, thereby maximizing the utility of the remaining power while managing production constraints effectively.
Código:
#simple question
user.initiate_chat(teachable_agent, message="The facility is experiencing a power shortage of 40%. What models need to be prioritized?", clear_history=True)
#multistep complex question
user.initiate_chat(teachable_agent, message="The facility is experiencing a power shortage of 30%. Provide me a detailed breakdown of what machines should be deactivated and which machines should remain active.", clear_history=True)
Embora o Autogen forneça uma introdução direta aos sistemas de IA com memória, ele não consegue mourejar com tarefas complexas de forma eficiente.
Ao desenvolver seu próprio Sistema de Agente de IA com recursos de memória, considere focar nesses recursos principais:
- Implementar pesquisas em várias etapas para prometer resultados abrangentes e relevantes. Isso permite que o agente avalie a utilidade dos resultados da pesquisa e aborde todos os aspectos de uma consulta usando as informações recuperadas. Aliás, considere usar abordagens de recuperação mais avançadas porquê pesquisa semiologia, pesquisa híbrida ou gráficos de conhecimento para obter os melhores resultados.
- Para limitar o potencial de intoxicação de dados, desenvolver uma abordagem ponderada sobre quem deve ser capaz de “ensinar” o agente e quando o agente deve “aprender”. Com base nas diretrizes definidas pela empresa ou desenvolvedor, também é provável usar o raciocínio do agente para ordenar se um pouco deve ser adicionado à memória e por quem.
- Elimine a verosimilhança de restaurar informações desatualizadas adicionando um mecanismo de decaimento de memória que determina quando uma memória não é mais relevante ou uma memória mais novidade deve substituí-la.
- Para sistemas multiagentes envolvendo bate-papos em grupo ou compartilhamento de informações entre agentes, explorar vários padrões de informação. Determine os métodos mais eficazes para transferir conhecimento suplementar e estabeleça limites para evitar sobrecarga de informações.
Tags:
Crédito: Natividade Original