An agent-computer interface (ACI) is an interface designed for a language model agent to work through, as opposed to one designed for a human. The term is introduced in SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering, whose framing argument is that LM agents represent a new category of end users with their own needs and abilities, and that — just as humans benefit from powerful software applications such as integrated development environments when doing complex work — those agents would benefit from interfaces built specifically for the software they use.
Usage
The paper that introduces the term applies it to SWE-Agent’s own custom interface layer, and names the capabilities that layer is responsible for: creating and editing code files, navigating entire repositories, and executing tests and other programs. The authors state that this custom ACI significantly enhances an agent’s ability to do those things.
The term also names a design variable rather than only a component. The paper’s stated purpose is to investigate how interface design affects the performance of language model agents, and it reports as a contribution its insight into how the design of the ACI can affect agents’ behavior and performance — that is, ACI design is presented as something that can be varied and that changes outcomes, not as a fixed part of an agent’s architecture.
The SWE-agent project’s own documentation (for version 0.7) describes its ACI as simple, LM-centric commands and feedback formats that make it easier for a language model to browse a repository and to view, edit and execute code files, and it draws the analogy to prompting explicitly: just as language models need good prompt engineering, good ACI design leads to much better results when using agents. It lists four features the team found immensely helpful while designing the interface:
- a linter that runs whenever an edit command is issued and rejects the edit if the resulting code is not syntactically correct;
- a purpose-built file viewer in place of plain
cat, which the team found works best showing 100 lines per turn, paired with a file editor that has commands for scrolling and for searching within the file; - a directory-wide search command that succinctly lists only the files with at least one match, because showing the model more context about each match proved too confusing for it;
- an explicit message — “Your command ran successfully and did not produce any output.” — returned when a command’s output is empty.
The same documentation points to Interactive Agent Tools as a later extension of the interface.
Related Terms
- SWE-Agent — the system whose custom ACI the term was introduced to describe