ACI: Agent-Computer Interface
Tools are the contract between Agents and the world. Design Agent interfaces like you design human interfaces
THE QUESTION THIS PAGE ANSWERS
ANSWER FIRSTWhat is the key idea behind “ACI: Agent-Computer Interface”?
Tools are the contract between Agents and the world. Design Agent interfaces like you design human interfaces
Make the claim earn its place. Use this page as a decision aid, not a definition to memorize. Connect the idea to one real task, one observable result, and one failure that would change your mind.
Write one question you could answer with evidence after trying this idea.
A conclusion that sounds complete but leaves the key assumption untested.
In traditional software development, we invest heavily in designing user interfaces (HCI): where to place buttons, how to write copy, how interactions should respond. But when an Agent becomes the user of a system, the interface becomes the tool definition. The tool's name, parameters, and description are the Agent's user interface.
HCI Human → System
ACI Agent → System
getWeather("NYC") and the execution path is identical every time. Agent tools are non-deterministic: the model needs to understand when and how to use them — which depends entirely on the quality of the tool's design.
Give the model enough Token space to think clearly
Best practice: Write file_path first, then change_type, and finally content
Formats should match the model's training data
Best practice: Use standard unified diff format — the model has seen it countless times in training data
Avoid unnecessary formatting overhead
{"start_line": 15, "end_line": 23}Best practice: Use unique surrounding context strings to identify target locations
Poka-yoke (Mistake-proofing)
Best practice: Only accept absolute paths, eliminating ambiguity at the source
File Path: Relative Path vs. Absolute Path
Industry best practice recommends writing tool descriptions as if you are documenting for a smart but context-free junior developer. This developer knows nothing about the system but learns quickly — you need to tell them every prerequisite.
A good tool description should include
Tool Description Comparison
Why “Core Concept: Tools Are the Contract Between Agent and World” depends on the operation
“In traditional software development, we invest heavily in designing user interfaces (HCI): where to place buttons, how to write copy, how interactions should respond.” makes the structure concrete. The useful comparison is not which name sounds more advanced, but how the data is arranged and how far the most common operation has to travel.
Read a structure through access and change
“Industry best practice recommends writing tool descriptions as if you are documenting for a smart but context-free junior developer .” exposes a trade-off that is easy to miss: reading by position, looking up by key, adding at either end, inserting in the middle, and traversing relationships do not favor the same organization. A structure that is fast for one operation is not automatically fast for all of them.
Count scale and update frequency together
Use “Industry best practice recommends writing tool descriptions as if you are documenting for a smart but context-free junior developer .” as a boundary check. Write down the data size, the dominant operation, and the latency you can accept before deciding whether an AI-generated structure actually fits.
From “Core Concept: Tools Are the Contract Between Agent and World” to “HCI Human → System”
“Core Concept: Tools Are the Contract Between Agent and World” grounds the problem in “In traditional software development, we invest heavily in designing user interfaces (HCI): where to place buttons, how to write copy, how interactions should respond. But when an Agent becomes the user of a sys…”. “HCI Human → System” then moves it toward “Humans interact with systems through buttons, forms, and menus. The quality of UI design directly impacts user experience. User clicks "Check Weather" button → System calls getWeather("NYC") → Returns…”. Together, they show that the lesson is not just a conclusion to remember, but a claim with conditions.
Carry the judgment into the next situation
When you meet a new data structure, do not begin by memorizing its definition. Write down the most frequent operation, estimate scale and update behavior, and check whether the structure satisfies all three conditions.
- “Core Concept: Tools Are the Contract Between Agent and World”: In traditional software development, we invest heavily in designing user interfaces (HCI): where to place buttons, how to write copy, how interactions should respond. But when an Agent becomes the user of a sys…
- “HCI Human → System”: Humans interact with systems through buttons, forms, and menus. The quality of UI design directly impacts user experience. User clicks "Check Weather" button → System calls getWeather("NYC") → Returns…
- “The closing point”: Industry best practice recommends writing tool descriptions as if you are documenting for a smart but context-free junior developer . This developer knows nothing about the system but learns quickly — you need…
The final “The closing point” brings the discussion to “Industry best practice recommends writing tool descriptions as if you are documenting for a smart but context-free junior developer . This developer knows nothing about the system but learns quickly — you need…”. The useful thing to carry forward is knowing which judgments must be revisited when input, scale, or risk changes.
I turned one judgment from this article into a small experiment I could run today. Knowing what to observe next is more useful than simply remembering the conclusion.
After reading this, I first looked for the conditions behind the idea instead of copying the method into a project. That order made the later trade-offs much clearer.
When this judgment reaches real work, which constraint should be added first? I am curious which step matters most between reading and the first practical attempt.
No discussion on this article yet.