Reminiscence is undoubtedly turning into a vital facet of Agentic AI. Because the use circumstances for AI Brokers develop in complexity, so does the necessity for these brokers to study from previous experiences, make the most of saved business-specific data, and adapt to evolving situations primarily based on gathered data.
In my earlier article, “Memory in AI: Key Benefits and Investment Considerations,” I explored why reminiscence is pivotal for AI, discussing its function in recall, reasoning, and steady studying. This piece, nevertheless, will dive immediately into the implementation of reminiscence by analyzing its influence by the “teachability” performance within the standard agent framework, Autogen.
Be aware: Whereas this text is technical in nature, it affords worth for each technical professionals and enterprise leaders trying to consider the function of reminiscence in Agentic AI methods. I’ve structured it in order that readers can skip over the code sections and nonetheless grasp the best way reminiscence can increase the responses of your AI methods. In the event you don’t want to comply with the code, chances are you’ll learn the descriptions of every step to get a way of the method… or simply the important thing findings and proposals part.
My exploration of Autogen’s Teachable Brokers revealed each their potential and limitations in dealing with each easy and sophisticated reminiscence duties.
Out of the field, Autogen’s TeachableAgent performs much less brilliantly than anticipated. The Agen’ts reasoning skill conflates recollections collectively in a non productive means and the included retrieval mechanism just isn’t arrange for multi-step searches mandatory for answering advanced questions. This limitation means that if you need to make use of Autogen’s Teachable Brokers, there must be substantial customization to each complement reasoning capabilities and obtain extra subtle reminiscence retrieval.
To construct extra strong reminiscence capabilities, it’s essential to implement multi-step search performance. A single reminiscence search usually falls in need of offering the great data wanted for advanced duties. Implementing a collection of interconnected searches might considerably improve the agent’s skill to collect and synthesize related data.
The “teachability” characteristic, whereas highly effective, must be approached with warning. Steady activation with out oversight dangers information poisoning and compromise of trusted data sources. Enterprise leaders and answer architects ought to think about implementing a human-in-the-loop method, permitting customers to approve what the system learns versus treating each inference as floor fact the system ought to study from. This oversight in Autogen’s present Teachable Agent design might trigger important dangers related to unchecked studying.
Lastly, the tactic of reminiscence retrieval from a data retailer performs a big function within the system’s effectiveness. Shifting past easy nearest neighbor searches, which is the TeachableAgent’s default, to extra superior strategies equivalent to hybrid search (combining key phrase and vector approaches), semantic search, or data graph utilization might dramatically enhance the relevance and accuracy of retrieved data.
To appropriately show how exterior reminiscence will be precious, I created a fictitious situation for a automotive components manufacturing plant. Comply with the code beneath to implement a Teachable Agent your self.
Situation: A automotive components manufacturing facility must put a plan in place in case there are power constraints. The plan must be versatile and adapt primarily based on how a lot energy consumption the ability can use and which components and fashions are in demand.
Step 1:
Pre- arrange requires you to pip set up autogen if you happen to don’t have it put in in your lively surroundings and create a config JSON file.
Instance of a appropriate config file which makes use of Azure OpenAI’s service mannequin GPT4–o:
[{
"model": "gpt-4o",
"api_key": "<YOUR API KEY>",
"azure_endpoint": "<YOUR ENDPOINT>",
"api_type": "azure",
"api_version": "2024-06-01"
}]
Set up Autogen for python:
pip set up pyautogen
Step 2:
Import the mandatory libraries to your pocket book or file and cargo the config file.
import autogen
from autogen.agentchat.contrib.capabilities.teachability import Teachability
from autogen import ConversableAgent, UserProxyAgentconfig_list = autogen.config_list_from_json(
env_or_file="autogenconfig.json", #the json file identify that shops the config
file_location=".", #this implies the file is in the identical listing
filter_dict={
"mannequin": ["gpt-4o"], #choose a subset of the fashions in your config
},
)
Step 3:
Create the Brokers. We are going to want two brokers due to the best way that Autogen’s framework works. We use a UserProxyAgent to execute duties and work together with or change human involvement (relying on the specified quantity of human within the loop). We additionally create a Conversable Agent because the “Teachable Agent” which is supposed to work together with different brokers (not the person). You’ll be able to learn extra concerning the UserProxyAgents and ConversableAgents right here.
teachable_agent = ConversableAgent(
identify="teachable_agent", # the identify cannot comprise areas
llm_config={"config_list": config_list, "timeout": 120, "cache_seed": None}, # on this instance we disable caching however whether it is enabled it caches API requests in order that they are often reused when the identical request is used
) person = UserProxyAgent(
identify="person",
human_input_mode="ALWAYS", #I wish to have full management over the code executed so I'm setting human_input_mode to ALWAYS. Different choices are NEVER and TERMINATE.
is_termination_msg=lambda x: True if "TERMINATE" in x.get("content material") else False, #setting a termination message is VERY necessary as a result of it tells the agent when to complete.
max_consecutive_auto_reply=0, #we do not want this agent to replies a number of occasions in a row
code_execution_config={
"use_docker": False
}, # If you're planning on operating code look into setting use_docker=True. For this instance I'm not as a result of then I've to stroll by the docker setup, however it's safer than operating the code immediately.
)
Step 4:
To have a baseline, let’s ask the identical query to the brokers earlier than and after we “educate” it. I purposely determined to show completely different ranges of query problem to point out efficiency on duties that require a single step vs multistep reminiscence retrieval. To efficiently tackle the intricate multi-step query, the retrieval mechanism should present data from two separate recollections as context to the language mannequin accountable for producing a ultimate response.
Easy Query: “The ability is experiencing an influence scarcity of 40%. What fashions must be prioritized?”
Advanced Multi Step Query: “The ability is experiencing an influence scarcity of 40%. Present me an in depth breakdown of what machines must be deactivated and which machines ought to stay lively.”
As anticipated the responses are generic and never significantly relevant to a person enterprise.
Response previous to enabling long run reminiscence:
SIMPLE QUESTION RESPONSE
===========================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to person):To deal with an influence scarcity of 30% successfully, it is essential to prioritize fashions which are important to essential operations, security, and those who have the best influence on productiveness. Listed here are steps to find out which fashions to prioritize:
1. **Establish Important Methods:** Prioritize methods which are important for security, safety, and important operations. These would possibly embody:
- Emergency lighting
- Safety methods (alarms, surveillance)
- Crucial environmental controls (e.g., refrigeration for hazardous supplies)
- Communication methods
2. **Consider Impression on Core Operations:** Decide which fashions are essential to the ability’s core capabilities. This will embody equipment, servers, or any processes which are indispensable for sustaining productiveness and operations.
3. **Vitality Effectivity:** Prioritize fashions and gear which are extra energy-efficient and might function throughout the lowered energy capability.
4. **Downtime Value:** Take into account the price of downtime for every mannequin. Prioritize these the place downtime would end in important monetary losses or manufacturing delays.
Primarily based on these rules, right here’s a generic prioritization framework:
1. **Security and Safety Methods:**
- Emergency Lighting
- Fireplace Alarms and Sprinkler Methods
- Safety Cameras and Sensors
2. **Crucial Operational Methods:**
- Important Manufacturing Equipment (that can't be shut down with out main points)
- Servers and IT Infrastructure (particularly these essential for operations and information integrity)
- HVAC Methods (if mandatory for sustaining secure working circumstances)
3. **Assist Methods:**
- Backup Energy Methods (uninterruptible energy provides, mills)
- Communication Methods (each inside and exterior communication)
Be sure that non-essential and excessive energy-consuming gear is powered down or scheduled to function throughout off-peak hours if doable.
At all times re-evaluate periodically to make sure that the facility allocation aligns with the dynamic wants of the ability. Communication with key stakeholders relating to priorities and selections can also be important for clean operations throughout an influence scarcity.
COMPLEX MULTISTEP QUESTION RESPONSE
====================================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to person):
To successfully handle a facility experiencing a 30% energy scarcity, we have to prioritize important operations and think about the criticality and power consumption of every machine. Here's a detailed breakdown:
### Step 1: Establish Important Operations
1. **Crucial Infrastructure**: Security methods, safety methods, and important IT infrastructure.
2. **Manufacturing Traces**: Machines concerned within the main manufacturing course of.
3. **Assist Methods**: HVAC methods, lighting, and different ancillary gear mandatory to keep up a secure working surroundings.
### Step 2: Categorize Machines by Significance and Vitality Consumption
#### A. Important and Excessive-Vitality Machines
1. **Security and Safety Methods**
- Fireplace alarms and sprinklers
- Surveillance cameras
- Safety entry controls
2. **Main Manufacturing Machines**
- Core manufacturing traces
- Central processing items or mainframe servers (for IT-heavy operations)
3. **Crucial Assist Methods**
- Emergency lighting
- Important HVAC methods (for sustaining operation-critical temperature and humidity)
#### B. Non-Important and Excessive-Vitality Machines
1. **Secondary Manufacturing Traces**
- Non-primary or non-critical manufacturing traces
- Tools used for non-essential or ancillary processes
2. **Supplementary IT Infrastructure**
- Servers used for non-essential operations
- Backup methods that aren't in quick use
3. **Non-Important HVAC and Lighting**
- HVAC methods for non-critical areas
- Lighting in non-essential zones
#### C. Non-Important and Low-Vitality Machines
1. **Workplace Tools**
- Computer systems, printers, and copiers in non-essential workplaces
2. **Non-essential Lab or Analysis Tools**
- Gadgets circuitously linked to present important duties
### Step 3: Prioritize Deactivation
#### Rapid Deactivation
1. **Non-Important and Excessive-Vitality Machines**
- Secondary manufacturing traces
- Non-essential backup servers
2. **Non-Important HVAC and Lighting**
- HVAC in non-critical areas
- Non-essential lighting
3. **Non-Important Workplace Tools**
- Printers, non-essential computer systems, and copiers
#### Restricted Utilization
1. **Important and Excessive-Vitality Machines**
- Function essential manufacturing traces at lowered capability if doable
- Implement rotational operation schedules for important processes
2. **Crucial Assist Methods**
- Optimize HVAC settings (e.g., elevating or decreasing set factors inside acceptable ranges)
- Cut back lighting to minimal security requirements
### Step 4: Implement Vitality Conservation Measures
1. **Optimize Operations**
- Make the most of energy-efficient settings
- Implement energy-saving protocols and encourage workers to preserve power
2. **Scheduled Downtime**
- Plan for downtime throughout off-peak hours for important equipment to steadiness the load
3. **Common Monitoring**
- Monitor power consumption in real-time to make fast changes as wanted
### Abstract
#### Stay Lively:
1. Security and safety methods
2. Principal manufacturing traces
3. Crucial IT infrastructure
4. Important HVAC and lighting for operational areas
#### Deactivate or Restrict Use:
1. Non-essential manufacturing traces
2. Redundant IT methods
3. Non-critical HVAC and lighting
4. Workplace gear in non-essential areas
**Be aware**: These suggestions must be adjusted primarily based on the particular operational necessities of your facility. Moreover, it might be helpful to speak these adjustments to all workers to make sure compliance and understanding.
Code to ask baseline questions:
#easy query
person.initiate_chat(teachable_agent, message="The ability is experiencing an influence scarcity of 40%. What fashions must be prioritized?", clear_history=True)
#multistep advanced query
person.initiate_chat(teachable_agent, message="The ability is experiencing an influence scarcity of 30%. Present me an in depth breakdown of what machines must be deactivated and which machines ought to stay lively.", clear_history=True)
Step 5:
Create the “teachability” functionality that you just then add to the agent. The Teachability class inherits from the AgentCapabiliy class, which primarily permits you to add customizable capabilities to the Brokers.
The Teachability class has many non-compulsory parameters that may be additional explored here.
The out of the field Teachability class is a fast and handy means of including long run reminiscence to the brokers, however will doubtless must be custom-made to be used in a manufacturing setting, as outlined in the important thing findings part. It includes sending messages to an Analyzer Agent that evaluates the person messages for potential storage and retrieval. The Analyzer Agent seems for recommendation that might be relevant to comparable duties sooner or later after which summarizes and shops task-advice pairs in a binary database serving because the agent’s “reminiscence”.
teachability = Teachability(
verbosity=0, # 0 for fundamental information, 1 so as to add reminiscence operations, 2 for analyzer messages, 3 for memo lists.
reset_db=True, # we wish to reset the db as a result of we're creating a brand new agent so we do not need any current recollections. If we needed to make use of an current reminiscence retailer we might set this to false.
path_to_db_dir="./tmp/pocket book/teachability_db", #that is the default path you should use any path you need
recall_threshold=1.5, # Greater numbers permit extra (however much less related) memos to be recalled.
max_num_retrievals=10 #10 is default bu you possibly can set the max variety of memos to be retrieved decrease or increased
)teachability.add_to_agent(teachable_agent)
Step 6:
Now that the teachable_agent is configured, we have to present it the knowledge that we wish the agent to “study” (retailer within the database and retrieve from).
In step with our situation, I needed the agent to have fundamental understanding of the ability which consisted of:
- the sorts of elements the manufacturing plant produces
- the sorts of automotive fashions the elements must be made for
- which machines are used to make every element
Moreover, I needed to offer some operational steering on the priorities of the ability relying on how energy constrained it’s. This consists of:
- Steering in case of power capability constraint of greater than 50%
- Steering in case of power capability constraint between 25–50%
- Steering in case of power capability constraint between 0–25%
business_info = """
# This manufacturing plant manufactures the next automobile components:
- Physique panels (doorways, hoods, fenders, and so on.)
- Engine elements (pistons, crankshafts, camshafts)
- Transmission components
- Suspension elements (springs, shock absorbers)
- Brake system components (rotors, calipers, pads)# This manufactoring plant produces components for the next fashions:
- Ford F-150
- Ford Focus
- Ford Explorer
- Ford Mustang
- Ford Escape
- Ford Edge
- Ford Ranger
# Tools for Particular Automotive Elements and Their Makes use of
## 1. Physique Panels (doorways, hoods, fenders, and so on.)
- Stamping presses: Kind sheet metallic into physique panel shapes
- Die units: Used with stamping presses to create particular panel shapes
- Hydraulic presses: Form and kind metallic panels with excessive stress
- Robotic welding methods: Automate welding of physique panels and constructions
- Laser slicing machines: Exactly lower sheet metallic for panels
- Sheet metallic forming machines: Form flat sheets into curved or advanced kinds
- Hemming machines: Fold and crimp edges of panels for energy and security
- Steel ending gear (grinders, sanders): Clean surfaces and take away imperfections
- Paint cubicles and spraying methods: Apply paint and protecting coatings
- Drying ovens: Remedy paint and coatings
- High quality management inspection methods: Test for defects and guarantee dimensional accuracy
## 2. Engine Elements (pistons, crankshafts, camshafts)
- CNC machining facilities: Mill and drill advanced engine components
- CNC lathes: Create cylindrical components like pistons and camshafts
- Boring machines: Enlarge and end cylindrical holes in engine blocks
- Honing machines: Create a advantageous floor end on cylinder bores
- Grinding machines: Obtain exact dimensions and clean surfaces
- EDM gear: Create advanced shapes in hardened supplies
- Forging presses: Form metallic for crankshafts and connecting rods
- Die casting machines: Produce engine blocks and cylinder heads
- Warmth remedy furnaces: Alter materials properties for energy and sturdiness
- Quenching methods: Quickly cool components after warmth remedy
- Balancing machines: Guarantee rotating components are completely balanced
- Coordinate Measuring Machines (CMMs): Confirm dimensional accuracy
## 3. Transmission Elements
- Gear slicing machines: Create exact gear enamel on transmission elements
- CNC machining facilities: Mill and drill advanced transmission housings and components
- CNC lathes: Produce shafts and different cylindrical elements
- Broaching machines: Create inside splines and keyways
- Warmth remedy gear: Harden gears and different elements
- Precision grinding machines: Obtain extraordinarily tight tolerances on gear surfaces
- Honing machines: End inside bores in transmission housings
- Gear measurement methods: Confirm gear geometry and high quality
- Meeting traces with robotic methods: Put collectively transmission elements
- Take a look at benches: Consider accomplished transmissions for efficiency and high quality
## 4. Suspension Elements (springs, shock absorbers)
- Coil spring winding machines: Produce coil springs to actual specs
- Leaf spring forming gear: Form and kind leaf springs
- Warmth remedy furnaces: Strengthen springs and different elements
- Shot peening gear: Enhance fatigue energy of springs
- CNC machining facilities: Create precision components for shock absorbers
- Hydraulic cylinder meeting gear: Assemble shock absorber elements
- Fuel charging stations: Fill shock absorbers with pressurized gasoline
- Spring testing machines: Confirm spring charges and efficiency
- Sturdiness check rigs: Simulate real-world circumstances to check longevity
## 5. Brake System Elements (rotors, calipers, pads)
- Excessive-precision CNC lathes: Machine brake rotors to actual specs
- Grinding machines: End rotor surfaces for smoothness
- Die casting machines: Produce caliper our bodies
- CNC machining facilities: Mill and drill calipers for exact match
- Precision boring machines: Create correct cylinder bores in calipers
- Hydraulic press: Compress and kind brake pad supplies
- Powder coating methods: Apply protecting finishes to calipers
- Meeting traces with robotic methods: Put collectively brake elements
- Brake dynamometers: Take a look at brake system efficiency and sturdiness
"""
business_rules_over50 = """
- The engine elements are essential and equipment must be saved on-line that corresponds to producing these elements when capability constraint is extra or equal to 50%: engine elements
- Elements for the next fashions must be prioritized when capability constraint is extra or equal to 50%: 1.Ford F-150
"""
business_rules_25to50 = """
- The next elements are essential and equipment must be saved on-line that corresponds to producing these elements when capability constraint is between 25-50%: engine elements and transmission components
- Elements for the next fashions must be prioritized when capability constraint is between 25-50%: 1.Ford F-150 2.Ford Explorer
"""
business_rules_0to25 = """
- The next elements are essential and equipment must be saved on-line that corresponds to producing these elements when capability constraint is between 0-25%: engine elements,transmission components, Brake System Elements
- Elements for the next fashions must be prioritized when capability constraint is between 0-25%: 1.Ford F-150 2.Ford Explorer 3.Ford Mustang 4.Ford Focus
"""
person.initiate_chat(teachable_agent, message=business_info, clear_history=True)
person.initiate_chat(teachable_agent, message=business_rules_over50, clear_history=True)
person.initiate_chat(teachable_agent, message=business_rules_25to50, clear_history=True)
person.initiate_chat(teachable_agent, message=business_rules_0to25, clear_history=True)
Step 7:
Now that we’ve got added necessary data to long run reminiscence, let’s ask the Agent the identical query and see the distinction in its responses.
Easy Query: “The ability is experiencing an influence scarcity of 40%. What fashions must be prioritized?”
Advanced Multi Step Query: “The ability is experiencing an influence scarcity of 40%. Present me an in depth breakdown of what machines must be deactivated and which machines ought to stay lively.”
Outcomes after implementing long run reminiscence:
The Teachable Agent was capable of partially reply the easy query. It was appropriate on the automotive fashions that must be prioritized, but it surely supplied extra incorrect details about which elements wanted to be included.
The advanced multi-step query was not adequately addressed. It erroneously merged two distinct enterprise pointers for 0–25% and 25–50% capability constraints right into a single, generalized guideline, leading to an inaccurate response. Moreover, it solely supplied a partial record of machines that ought to stay lively or be deactivated for every element’s manufacturing, omitting essential particulars from the whole operational protocol. This demonstrates the challenges in precisely retrieving and synthesizing data from a number of, separate reminiscence sources for advanced queries.
SIMPLE QUESTION RESPONSE
===========================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to person):
Given the ability is experiencing an influence scarcity of 40%, this falls throughout the 25-50% capability constraint vary. In response to your beforehand established priorities for such a situation, the next fashions and elements must be prioritized:### Elements to Prioritize
- Engine elements
- Transmission components
- Brake System Elements
### Fashions to Prioritize
1. Ford F-150
2. Ford Explorer
It is best to make sure that the equipment mandatory to provide these essential elements for the Ford F-150 and Ford Explorer is saved on-line.
COMPLEX MULTISTEP QUESTION RESPONSE
====================================
>>>>>>>> USING AUTO REPLY...
teachable_agent (to person):
In response to the 40% energy scarcity, let's create an in depth plan to make sure essentially the most essential equipment stays operational whereas deactivating much less important ones.
### Crucial Prioritization (0-50% capability constraint):
- **Crucial Elements**:
- Engine elements (pistons, crankshafts, camshafts)
- Transmission components
- Brake System Elements (rotors, calipers, pads)
- **Prioritized Fashions**:
- Ford F-150
- Ford Explorer
### Machines to Stay Lively:
1. **Engine Part Machines**:
- Engine Block Milling Machine
- Crankshaft Grinding Machine
- Camshaft Milling Machine
2. **Transmission Half Machines**:
- Transmission Housing Caster
- Gear Reducing Machine
- Transmission Meeting Line
3. **Brake System Half Machines**:
- Brake Rotor Casting Machine
- Brake Caliper Milling Machine
- Brake Pad Press
### Machines to Deactivate:
1. **Physique Panel Machines**:
- Door Stamping Machine
- Hood Meeting Machine
- Fender Bending Machine
2. **Suspension Part Machines**:
- Coil Spring Forming Machine
- Shock Absorber Meeting Line
### Detailed Breakdown:
#### Lively Machines:
- **Engine Block Milling Machine**:
- Produces essential engine blocks, important for Ford F-150 and Ford Explorer.
- **Crankshaft Grinding Machine**:
- Ensures excessive precision crankshafts; essential for the efficiency of Ford F-150 and Ford Explorer.
- **Camshaft Milling Machine**:
- Produces camshafts, mandatory for Ford F-150 and Ford Explorer engines.
- **Transmission Housing Caster**:
- Necessary for casting the housing of transmissions utilized in Ford F-150 and Ford Explorer.
- **Gear Reducing Machine**:
- Precision gears manufacturing, important for Ford F-150 and Ford Explorer transmissions.
- **Transmission Meeting Line**:
- Meeting of full transmission items for Ford F-150 and Ford Explorer.
- **Brake Rotor Casting Machine**:
- Produces brake rotors, essential for the secure braking methods in Ford F-150 and Ford Explorer.
- **Brake Caliper Milling Machine**:
- Machining of brake calipers, important for Ford F-150 and Ford Explorer.
- **Brake Pad Press**:
- Manufacturing of brake pads, mandatory for guaranteeing braking effectivity in Ford F-150 and Ford Explorer.
#### Deactivated Machines:
- **Door Stamping Machine**:
- Whereas necessary, physique panels like doorways are much less essential than engine and transmission elements underneath present constraints.
- **Hood Meeting Machine**:
- Deactivating hood meeting to liberate energy for essential elements manufacturing.
- **Fender Bending Machine**:
- Non-critical in comparison with engine and brake elements throughout a big energy scarcity.
- **Coil Spring Forming Machine**:
- Suspension springs are decrease priorities underneath present circumstances.
- **Shock Absorber Meeting Line**:
- Suspension elements aren’t essential sufficient to maintain operational throughout this degree of energy scarcity.
This plan ensures that manufacturing focuses on sustaining the essential elements wanted for main fashions, the Ford F-150 and Ford Explorer, thereby maximizing the utility of the remaining energy whereas managing manufacturing constraints successfully.
Code:
#easy query
person.initiate_chat(teachable_agent, message="The ability is experiencing an influence scarcity of 40%. What fashions must be prioritized?", clear_history=True)
#multistep advanced query
person.initiate_chat(teachable_agent, message="The ability is experiencing an influence scarcity of 30%. Present me an in depth breakdown of what machines must be deactivated and which machines ought to stay lively.", clear_history=True)
Whereas Autogen gives a simple introduction to AI methods with reminiscence, it falls quick in dealing with advanced duties successfully.
When growing your personal AI Agent System with reminiscence capabilities, think about specializing in these key capabilities:
- Implement multi-step searches to make sure complete and related outcomes. This enables the agent to evaluate the usefulness of search outcomes and tackle all facets of a question utilizing the retrieved data. Moreover, think about using extra superior retrieval approaches equivalent to semantic search, hybrid search, or data graphs for the very best outcomes.
- To restrict the potential for information poisoning, develop a considerate method to who ought to be capable to “educate” the agent and when the agent ought to “studying”. Primarily based on pointers set by the enterprise or developer, one may use agent reasoning to find out if one thing must be added to reminiscence and by whom.
- Take away the probability of retrieving old-fashioned data by including a reminiscence decaying mechanism that determines when a reminiscence is not related or a more recent reminiscence ought to change it.
- For multi-agent methods involving group chats or inter-agent data sharing, discover numerous communication patterns. Decide the simplest strategies for transferring supplemental data and set up limits to stop data overload.