AI Agents in Development: Key Differences from Human Developers and Their Impact
An LLM-based agent generates architectural documentation for a legacy Java system with 17 undocumented modules. The output: detailed dependency diagrams, interface descriptions, and component annotations. The document mimics a spec from a mature team. But in spots with historical workarounds—like a proxy layer instead of message queues—the agent presents it as standard architecture, inventing nonexistent logic without caveats.
A human developer would pause to ask the original author for clarification. The agent works only with visible code, filling in explanations without noting assumptions. The more accurate the average output, the harder it is to spot errors.
Five Fundamental Differences Between Agents and Developers
No Project Memory
Agents handle tasks in isolation, without accumulated context. In a field accounting project (offline foreman reports), sync conflicts resolve in favor of the server due to past dupes bugs. A developer recalls the migration with a unique index. The agent needs that history fed into context docs.
For cadastral utilities (GKN/EGRN), jointly parsing formats took a week: field differences, required attributes. Without it, the agent produces sensible but unusable code.
Solution: Maintain context files with architectural decisions and domain knowledge.
Literal Spec Compliance
Task: Dialog for version selection on sync conflict. Agent writes a React component for one field. In production, it breaks on multi-field conflicts (date, volume, comment)—other changes get lost.
A developer clarifies ambiguities: single dialog or per-field, offline scenarios. The agent ignores real-world models.
// Example: Agent code for one field
const ConflictDialog = ({ field, localValue, serverValue }) => (
<Dialog>
<p>{field}: {localValue} vs {serverValue}</p>
<button>Local</button>
<button>Server</button>
</Dialog>
);
Quality Gateway in SENAR: Define goals, acceptance criteria, and negative scenarios upfront.
Error Multiplication
Generating 11 cadastral utilities, a coordinate formula error (several cm off, critical for surveying) repeated in three. Agent speed amplifies both wins and failures.
- Check multiple modules from a set, not just one.
- Pattern errors copy across all similar files.
Ignoring Long-Term Architecture
Task: Link search in Sortula. Agent does direct query from handler. Fine for a script, but a growing project needs a service layer for caching, ranking, A/B tests.
After adding an architecture section to context, the agent consistently uses the layer.
No Accountability for Downstream Effects
DB migration: Cascading delete on foreman wipes reports and photos. Tests miss it—they're schema-based. Agent forgets the task instantly.
Developers foresee bugs a month out. Responsibility on the lead: Manual migration reviews.
Three Implications for Engineering Processes
- Double-Check Points: Agents speed things up but demand validation at key stages—architecture, migrations, edge cases.
- Context as Foundation: Store architectural decisions, domain info, and history in the repo. SENAR standardizes this.
- Human Filter: Agents execute; humans strategize. Initiative and accountability stay human.
Key Takeaways
- Agents excel at static code analysis but invent invisible logic details without disclaimers.
- Literal execution demands detailed specs with edge cases.
- Errors multiply across module series—spot-checks are essential.
- Feed architectural decisions into context upfront.
- Full production responsibility lies with the lead developer.
— Editorial Team
No comments yet.