LLMs in Production: Coding Assistants in 2025
Generative AI has moved from autocompletion to repository-level reasoning, shifting the bottleneck from syntax to system architecture.
By git11 Engineering · Sat Mar 14 2026 · 7 min read
Ninety-six percent of code written in 2025 starts with a prompt. The act of manually searching for a library in node_modules is officially dead. We have reached the point where the cost of generating code is effectively zero, while the cost of reviewing it has tripled.
Two years ago, we focused on LLM latency and context windows. Today, we focus on agentic execution and repository context. The tooling has shifted from predictive text to autonomous refactoring. If you are still using simple tab-completion, you are falling behind the industry standard.
The Three-Layer Stack
Modern AI coding involves three distinct layers of implementation. Most teams fail because they only implement the first layer. This creates a massive accumulation of unvetted technical debt in their src directories.
- Local Completion: Tools like
CursororZedusing local models for low-latency editing. 2.
External Context: Indexing the entire repository using vector embeddings to provide context to the LLM. 3. Autonomous Agents: Systems that can run npm test, read the stack trace, and fix the bug without human intervention.
We see the best results when these layers interact. A developer triggers a change in a React component. The agent identifies related changes needed in the Go backend. It updates the protobuf definitions and runs the integration tests automatically.
Context Injection over Fine-tuning
Fine-tuning models on private codebases is largely a waste of compute in 2025. RAG (Retrieval-Augmented Generation) has won the architectural war. It is cheaper and more effective to give a model a 200k token window than to fine-tune a weights file every week.
We use tools like bm25 and cosine similarity to pull relevant snippets into the prompt. If you are working on auth.py, the system pulls the relevant database.schema and session_handler.ts files automatically. This creates a "virtual" local context that mimics how a human brain holds system state.
Most latency issues stem from poor indexing strategies. Many teams try to index every line of code. Successful teams index at the function and class level. They treat the codebase like a graph of dependencies, not a flat list of strings.
The Rise of Small Models
Large models like Claude 3.5 Sonnet stay in the cloud for complex reasoning. However, 2025 is the year of the SLM (Small Language Model). We now see 7B and 14B parameter models running locally on developer workstations with zero lag.
- Apple’s unified memory architecture allows
MLXto run high-quantization models at 100 tokens per second. - Developers use
OllamaorLM Studioto keep sensitive logic inside the local network. - Local models handle boilerplate, while cloud models handle architectural migrations.
This hybrid approach fixes the privacy concerns that blocked enterprise adoption in 2023. You keep your proprietary algorithms local. You use the cloud for public API integrations and standard library logic.
Verifying Generated Code
The bottleneck is no longer writing code. It is the Code Review process. We are seeing a flood of pull requests that look correct but fail in edge cases. Static analysis tools must evolve to catch AI-generated hallucinations.
We recommend a strictly enforced CI/CD pipeline. Every AI-generated PR must pass a set of heuristic checks before a human looks at it. Manual review is too expensive for the volume of code we now produce.
- Run
eslintorruffto catch syntax errors. 2.
Enforce 90% code coverage on all new generated functions. 3. Use an "audit LLM" to check for security vulnerabilities in the new diff.
If the code fails any check, the agent should catch the error and try again. Humans should only step in when the agent reaches a cyclic failure. We call this the Human-in-the-loop bottleneck.
Repository-Level Awareness
Early tools were file-blind. They only knew the content of your current tab. In 2025, tools like git11 analyze the entire git history to understand how your team writes code. They learn your naming conventions and your architectural preferences.
- The tool knows that
services/must never import fromcontrollers/. - It understands that your team prefers
ZodoverJoifor validation. - It detects when a new PR contradicts a decision made in a commit from six months ago.
This is why graph-based indexing is superior to simple vector search. Code is not just text; it is a directed acyclic graph. Your AI assistant needs to understand the imports to provide accurate suggestions.
The Death of Boilerplate
Writing CRUD apps or boilerplate migration scripts is now fully automated. If you spend more than five minutes on a Dockerfile or a k8s manifest, you are wasting time. The LLM handles the syntax; you handle the orchestration.
We see a 40% reduction in time-to-market for new features in teams using full-context assistants. The friction between an idea and a deployed URL is thinning. Developers are becoming system architects who spend 80% of their day reading and 20% prompting.
This shift requires a new set of skills. You must learn to read code faster than you write it. You must become an expert at identifying subtle logic bugs in an ocean of perfect-looking syntax. Architecture is the only skill that remains resilient to automation.
Benchmarking Tool Performance
Not all assistants are equal. We measure performance across four key metrics. Before you commit to a tool, run it against your internal benchmark suite.
- Inference Latency: Time to first token must be under 200ms.
- Context Accuracy: Percentage of relevant files correctly pulled into the prompt.
- Hallucination Rate: Frequency of the LLM inventing non-existent library functions.
- Edit Success Rate: Percentage of generated diffs that apply to the file without merge conflicts.
Most open-source models currently sit at a 60% success rate on complex edits. Proprietary models are hitting 85%. That 25% gap is the difference between an assistant that helps and one that creates extra work.
The Agentic Future
We are moving toward a world where you describe a feature in a GitHub Issue and the agent creates the PR. Tools like OpenDevin and Sweep are early looks at this workflow. The agent checks out a branch, writes the code, and waits for your review.
This requires high trust in your test suite. If your tests are flaky, your AI agents will be useless. Successful companies in 2025 are investing heavily in Deterministic Testing Environments. You cannot automate an unstable system.
We recommend moving your tests to Playwright for frontend and Pytest or Go Test for backend. Ensure every test can run in a headless environment with clear, machine-readable output. The machine is your primary developer now.
Practical Implementation Steps
If you are leading an engineering team, don't wait for a perfect solution. Start building the infrastructure for AI-driven development today. The gap between AI-native teams and laggards is widening every month.
- Centralize your repository indexing using a tool like
Sourcegraphorgit11. 2.
Set up local inference servers for your sensitive IP. 3. Mandate that every function must be accompanied by a unit test before it is committed.
Stop debating whether AI will replace coders. It has already replaced the way we used to code. The developers who thrive in 2025 are those who treat their AI assistant as a junior engineer with infinite speed and zero common sense.
Successful engineering is now about building the guardrails that keep that speed from driving the project off a cliff.
Shift your engineering headcount from writing code to building automated verification systems.