# Agents.jl: A performant and feature-full agent based modelling software of minimal code complexity

arXiv: https://arxiv.org/abs/2101.10072 · HTML: https://mlsanity.com/paper/2101.10072/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 25 Jan 2021.

## Built on by (most cited first, 4 of 4)

- [On the limits of agency in agent-based models](https://mlsanity.com/paper/2409.10568/) (2024)
- [Specification of MiniDemographicABM.jl: A simplified agent-based demographic model of the UK](https://mlsanity.com/paper/2307.16548/) (2023)
- [Formal specification terminology for demographic agent-based models of fixed-step single-clocked simulations](https://mlsanity.com/paper/2308.13081/) (2023)
- [GAMMS: Graph based Adversarial Multiagent Modeling Simulator](https://mlsanity.com/paper/2602.05105/) (2026)

## Abstract (arXiv)

Agent based modelling is a simulation method in which autonomous agents interact with their environment and one another, given a predefined set of rules. It is an integral method for modelling and simulating complex systems, such as socio-economic problems. Since agent based models are not described by simple and concise mathematical equations, code that generates them is typically complicated, large, and slow. Here we present Agents.jl, a Julia-based software that provides an ABM analysis platform with minimal code complexity. We compare our software with some of the most popular ABM software in other programming languages. We find that Agents.jl is not only the most performant, but also the least complicated software, providing the same (and sometimes more) features as the competitors with less input required from the user. Agents.jl also integrates excellently with the entire Julia ecosystem, including interactive applications, differential equations, parameter optimization, and more. This removes any ``extensions library'' requirement from Agents.jl, which is paramount in many other tools.
