LLM Agency Interlocution Protocol

From Chrysalis Archive
Revision as of 12:55, 20 September 2024 by XenoEngineer (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Shadow Agency ∞  Theory of a Personal KOS ☀  Structured-Key DataShadow  ☀  Shadow Agency Code ☀  AI Agency Workflow Schemes ☀  The Cognitive Mesh ☀  Interlocution Protocol

Agency LLM Interlocution Protocol

This article documents the design evolution and implementation details of the Agency LLM Interlocution Protocol, a system for autonomous communication between Language Learning Models (LLMs) within an agency framework.

Design Overview

The Agency LLM Interlocution Protocol is designed to facilitate efficient, autonomous communication between LLMs while maintaining simplicity and supporting function calls. The system uses structured keys and a custom delimitation format for data storage and retrieval.

Key Components

Message Structure

Sender ID
Recipient ID (or broadcast flag)
Message Type (e.g., query, response, update, function call)
Content
Timestamp
Priority Level

Function Call Integration

Dedicated field within the message structure Function name Parameters Expected return type

Context Preservation

Shared context identifier for related messages Context summarization capability

Efficiency Mechanisms

Message Prioritization: Simple priority system (low, medium, high) Load Balancing: Distribution of tasks based on LLM workload and capabilities Asynchronous Communication: Callback system for handling responses

Data Storage Format

The protocol uses a custom delimitation format for file storage:

 "ID1.ID2.ID3=value1" "UI.title.foregroundcolor=255,0,0" 

Structured keys use dot notation (e.g., "ID1.ID2.ID3") Values can be single items or comma-separated lists Each key-value pair is stored on a separate line

Implementation Details

Data Structure

The agency data is stored in a map with string keys and values: type Agency struct { data map[string]string } ==== Key Functions ==== AddRecipient: Adds a new recipient to the agency database SaveToFile: Saves the agency data to a file LoadFromFile: Loads agency data from a file

File Operations

Data is saved to and loaded from a text file (e.g., "agency_data.txt") Each line in the file represents a key-value pair The file is human-readable and easily modifiable

Usage Example

agency := NewAgency() 
agency.LoadFromFile("agency_data.txt") 
agency.AddRecipient("ID1.ID2.ID3", "value1") 
agency.AddRecipient("UI.title.foregroundcolor", "255,0,0") 
agency.SaveToFile("agency_data.txt") 

Future Enhancements

Implement secure communication channels between LLMs

Develop a more robust error handling and logging system

Create a query language for complex data retrieval operations

Implement versioning for the agency database

Notes for Developers

The current implementation is in Go, but the concepts can be adapted to other programming languages.

Ensure proper error handling and input validation when working with file I/O operations.

Consider implementing concurrent access mechanisms if multiple LLMs will be reading/writing simultaneously.

The structured key system allows for flexible and extensible data representation. Use this to your advantage when designing new features.

When expanding the system, maintain the principle of simplicity in the protocol to ensure efficiency and ease of maintenance.

This MediaWiki article provides a comprehensive overview of our design evolution and implementation details. It serves as a guide for developers who will be working on or extending the Agency LLM Interlocution Protocol.