Agents and Agencies

We want to explain complicated things as a combination of simpler things. You must be prepared to feel a certain sense of loss. When we break things down to their smallest parts, they may each seem as dry as dust at first, as though some essence has been lost.

Where does the “knowing-how-to-build” of a Builder agent reside? It is not in any part, so it is not enough to explain what each separate agent does. We must understand how parts are interrelated – how groups of agents can accomplish things.

Seen by itself, as an agent, Builder is just a simple process that turns other agents on and off. Seen from outside, as an agency, Builder does whatever all its sub-agents accomplish, using one another’s help:

<img title=“agents-and-agencies” alt=“agents-and-agencies” width=“100%” src=“" />

Builder seems to lead a double life. As agency, it seems to know its job. As agent, it cannot know anything at all.

And knowing how is not the same as knowing that. If while performing an activity expertly you find yourself consciously reflecting on what you are doing and the rules for doing it, chances are you will experience a severe degradation of performance – you fall victim to “knowing that” as it interrupts and replaces your “knowing how”.

Hermans 1 highlights three kinds of confusion when reading code: lack of knowledge, lack of information, and lack of processing power. These also reflect a gradual descent from know-how focus to know-that focus, from seeing agencies to tracing the wiring-together and actions of individual agents.

So it may be with a society of FAIR digital resources – agents may be distributed, and yet agency may be coherent.

Subscribe to get short notes like this on Machine-Centric Science delivered to your email.

  1. F. Hermans, The Programmer’s brain: what every programmer needs to know about cognition. Shelter Island, NY: Manning, 2021. ↩︎