An Interface Design Test for Collaborative Agents

An "agent" is a participant in a collaboration that autonomously solves a given aspect of a problem in the context of a system. An agent can be implement by a deterministic software module, by a person (human-in-the-loop), or by an AI component (AI-in-the-loop). Some implementations may employ multiple of these at once or as fallback options. 

I propose the following design test for the interfaces of collaborating agents, inspired by the Turing Test:

If you communicate through an I/O interface with an agent, and you cannot distinguish by the form of the I/O interface or its data flow shape or behavior or even its temporal behavior whether the agent is implemented by deterministic code, by AI-in-the-loop, by Human-in-the-loop, or by a federation of collaborating agents, then your interface design is correct.

The motivation of this test is that you will generally understand the problem you are trying to solve and you will understand what inputs you can provide and what outputs you expect, but you may not know what implementation choice ends up being the best for a problem once you consider cost and performance and accuracy and user satisfaction over time. Problems might not yet be solvable using AI but they will be in the future, or you might think that AI is the best choice now, but you may have to fall back to other options for some reason.

One of the consequences from this test is that the interface must flow structured data and not an unstructured "natural language interface", which would require an LLM or a similar processor to break down the input for a deterministic implementation. Each agent must have a clear and well-defined input and output interface. Natural language input must be broken down to match that interface.

Categories:

Updated:

Share on Twitter, Reddit, Facebook or LinkedIn