Recent advances in artificial intelligence (AI) have produced highly capable
and controllable systems. This creates unprecedented opportunities for
structured reasoning as well as collaboration among multiple AI systems and
humans. To fully realize this potential, it is essential to develop a
principled way of designing and studying such structured interactions. For this
purpose, we introduce the conceptual framework of Flows: a systematic approach
to modeling complex interactions. Flows are self-contained building blocks of
computation, with an isolated state, communicating through a standardized
message-based interface. This modular design allows Flows to be recursively
composed into arbitrarily nested interactions, with a substantial reduction of
complexity. Crucially, any interaction can be implemented using this framework,
including prior work on AI--AI and human--AI interactions, prompt engineering
schemes, and tool augmentation. We demonstrate the potential of Flows on the
task of competitive coding, a challenging task on which even GPT-4 struggles.
Our results suggest that structured reasoning and collaboration substantially
improve generalization, with AI-only Flows adding +21 and human--AI Flows
adding +54 absolute points in terms of solve rate. To support rapid and
rigorous research, we introduce the aiFlows library. The library comes with a
repository of Flows that can be easily used, extended, and composed into novel,
more complex Flows.
The aiFlows library is available at https://github.com/epfl-dlab/aiflows.
Data and Flows for reproducing our experiments are available at
https://github.com/epfl-dlab/cc_flows