check out the Agent-based Systems Patterns.
Components of an Agent-Based System (ABS)
- Multiple Agents: The heart of the system is a collection of autonomous agents, each with the internal components described above. Agents may have different goals, knowledge, and abilities.
- Environment: The shared space (real or simulated) where agents exist and interact. It has its own dynamics and may be influenced by the actions of the agents.
- Interaction Protocols: Well-defined rules and mechanisms governing how agents communicate, negotiate, and potentially compete or cooperate.
- Emergent Behavior: A key feature of ABS is that complex system-wide behaviors arise from the interactions of individual agents rather than a top-down control mechanism.
Now, what goes on inside autonomous agents?
Internal Components of an Agent
- Sensors: These allow an agent to perceive its environment. Types of sensors can be:
- Physical: Cameras, microphones, thermometers, etc.
- Virtual: Ability to query databases or APIs to gather information.
- Goals: The objectives the agent seeks to achieve – they drive its actions. Goals can be simple and fixed, or dynamic and evolving.
- Knowledge Base: The agent’s understanding of the world, including domain knowledge, rules, and its own previous experiences.
- Reasoning Engine: The ‘brain’ of the agent. This is where the agent processes perceptions, makes decisions based on its knowledge, and formulates actions. Reasoning engines can range from simple rule-based systems to sophisticated machine learning models, including LLMs.
- Actuators: The means by which an agent can perform actions and affect its environment. These can be:
- Physical: Motors, robotic arms, speakers, etc.
- Virtual: Sending messages, making API calls, or updating databases.
