Code Agents under Split Specifications: An Empirical Study of Silent Failure in System Integration
This empirical study reveals that code agents driven by large language models frequently fail silently during system integration when critical facts are missing from split specifications, demonstrating that pipeline design—specifically the ability to ask clarifying questions or enforce strict testing—is more critical than model choice in preventing these undetected errors.
Original paper licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
In the world of software, different computer systems often need to talk to one another to get work done. One system might send a date written as "day first," while the other expects "month first." One might count money in cents, while the other counts in dollars. These small differences are not usually mysteries; they are facts that someone, somewhere, has recorded. The challenge arises when a new kind of worker, an artificial intelligence agent, is asked to build the bridge between these two systems. These agents are powerful tools that can write computer code to connect different programs. However, they operate on a simple rule: they can only use the information given to them in their instructions. If the instructions do not say whether a date is day-first or month-first, the agent cannot know the answer. It must make a choice.
The danger in this situation is not that the agent crashes or stops working. The danger is that it keeps working perfectly, but gets the answer wrong. This is called a silent failure. The code runs without errors, passes the basic tests, and looks correct to a human reviewer, yet it sends the wrong data to the next system. This is a critical problem for businesses and organizations because the error does not show up immediately. Instead, the wrong numbers flow downstream, corrupting records, financial reports, and decisions long before anyone realizes something is broken. The question researchers asked was simple: when these intelligent agents are faced with a missing fact that they cannot guess, do they stop and ask for help, or do they confidently guess anyway and break the system?
A researcher set out to measure exactly how often this happens. They created a series of realistic tasks where an artificial intelligence agent had to write a piece of code to connect two systems. In some of these tasks, the agent was given the missing fact, such as being told explicitly that dates are day-first. In other tasks, the fact was hidden, and the agent was either allowed to ask a question to find it, or was forced to write the code without asking. They tested this with eight different artificial intelligence models, ranging from smaller, open-source programs to the most advanced systems available today. The researcher did not just look at whether the code ran; they checked if the code produced the right answer for every possible scenario, including the tricky ones that depend on that missing fact.
The results revealed a stark reality about how these systems work. When the agents were given the missing fact, they were highly successful, building correct connections about eighty-eight percent of the time. This proved that the agents were capable of doing the job if they had the necessary information. However, when the fact was missing and the agents were forbidden from asking, the situation changed dramatically. The agents did not stop; they did not say they were confused. Instead, they picked a convention and wrote the code. In sixty-two percent of these cases, the code they wrote was a silent failure. It ran cleanly, looked perfect, but returned the wrong value. This happened regardless of how advanced the model was. Even the most powerful systems, which could solve the problem perfectly when given the fact, failed silently nearly half the time when they were not allowed to ask.
The study also investigated whether simply allowing the agent to ask a question would fix the problem. The researcher found that the answer depends entirely on who is listening. When the most advanced models were allowed to ask, they asked on almost every single run. They did not guess; they sought the truth. However, if no one was there to answer them, the integration simply stalled. The work stopped, and no code was produced. This is a different kind of failure, but it is still a failure. The researcher found that for the system to work, the pipeline—the process that runs the agent—must be designed to route the agent's question to a human or a partner system that can provide the answer. Merely having an open channel is not enough if no one is staffed to answer it.
The researcher also tested a safety rule where the agent was told to refuse to write the code if it did not know the missing fact. This rule successfully eliminated silent failures, dropping the error rate to almost zero. However, it came with a heavy price. The agent refused to write the code even when the answer could have been figured out from the available information. This caused the system to stop working on tasks it could have easily solved, reducing the success rate from eighty-one percent down to eighteen percent. The study concluded that the solution is not to make the agents smarter or to force them to be more cautious. The solution lies in the design of the process itself. The system must be built to detect when a fact is missing across an organizational boundary and to route that question to a person or a system that can answer it. Without this specific wiring, even the most capable artificial intelligence will confidently build a bridge that leads to the wrong place.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.