AGENTIC CODING IN PRACTICE, 1 OF 3
What Actually Changes for Software Teams

AI coding tools are no longer just autocomplete engines. Developers are increasingly using them toexplore codebases, generate implementation plans, run commands, debug errors, and prepare pull requests.

But this shift creates a new problem. AI is not primarily used to improve code quality; it is used to accelerate the implementation of solutions. That acceleration can be valuable, but it does not automatically lead to better software. In fact, when AI helps teams produce code faster without equivalent improvements in review, testing, architecture, and product judgment, it can increase the risk of quality degradation.

At Amplified, we see agentic coding as a force multiplier for disciplined software teams. Our engineers already use agents across implementation, testing, debugging, documentation, research, migrations, and repository exploration. But one thing has become increasingly clear: AI does not discriminate between good engineering decisions and bad ones. It can accelerate both.

That means the responsibility still sits with the engineers. The strongest results come when agents operate inside the same foundations good software already depends on: clear requirements, sound architecture, automated tests, code review, CI/CD, and human ownership.

For startups and product teams, this distinction matters. Most teams do not simply need more code.They need faster, safer, more predictable delivery. Agentic coding can help with that. But only when the engineering workflow around it is strong enough to keep speed from becoming risk.

What agentic coding is and why it matters

The old model of AI-assisted coding was simple: the developer asks, the AI answers. This model is useful. It helps with autocomplete, chat-based code generation, quick explanations, snippets, and small isolated tasks. But it has a clear limitation: by default, the AI does not understand the full delivery context.

It may generate a correct function while missing the broader product flow. It may solve the local issue but ignore architecture, conventions, testing standards, deployment constraints, or codeownership. The new model is different: the developer delegates, and the AI agent executes. Agentic coding means using AI not only to generate answers, but to perform parts of the development workflow. In practice, this can include:

  • exploring the codebase;
  • identifying relevant files;
  • proposing an implementation plan;
  • modifying code;
  • running terminal commands;
  • interpreting logs and errors;
  • generating tests;
  • reviewing changes;
  • preparing a pull request.

This changes the developer’s role. The developer spends less time on repetitive execution andmore time defining the problem, steering the agent, reviewing the output, and validating theresult.

In our experience, AI agents are already useful for repetitive work, testing helpers, debugging,SQL queries, package upgrades with breaking changes, research, documentation, andonboarding support. At the same time, they remain unreliable when tasks are ambiguous, complex, or insufficiently contextualized.

Practical insights: where agentic coding works well

Agentic coding works best when the task is clear, limited in scope, and easy to verify.A strong use case is generating tests for existing code. The agent can inspect the implementation, propose relevant test cases, cover common paths, and create a useful first draft. The developer still needs to review the tests, but the initial work becomes much faster.

Another good use case is refactoring contained modules. When the boundaries are clear, an agent can extract shared utilities, reduce duplication, apply a repeated pattern, or migrate code from one interface to another.

Agentic coding is also effective for repetitive migrations. For example, it can help upgrade package versions that introduce breaking changes and require related refactoring. This is especially useful when the task involves applying the same type of change across multiple files. It also works well for documentation and onboarding. One example involves using an agent with repository context to generate DevOps and architecture guides and diagrams. This kind of workflow can help teams turn implicit technical knowledge into useful onboarding material.

Other practical use cases include:

  • improving type coverage;
  • writing small utilities;
  • fixing small UI bugs;
  • debugging terminal or log errors;
  • generating raw SQL queries for investigation;
  • scanning documentation or SDKs;
  • preparing initial PR reviews using agreed-upon templates together with a skill;
  • running commands when the syntax is unfamiliar, with caution: this can be a double-edged
  • sword depending on the environment permissions.

The common pattern is simple: AI agents are most useful when the developer already understands the problem well enough to give the right context, define what needs to happen, and evaluate whether the result is correct. Our engineers frame this slightly differently: the quality of the agent’s output depends heavily on the engineer’s ability to review it. If the engineer lacks enough knowledge of the area the agent is working in, there is a much higher risk that the output will look plausible but fail to meet the actual goal.

Practical insights: where agentic coding struggles

Agentic coding becomes much riskier when the task is broad, ambiguous, or deeply connected to product and architecture decisions.

Planning can be hit-or-miss. If the agent starts with the wrong assumption, the developer may need multiple rounds of correction. Sometimes the thread becomes difficult to recover, and starting a new conversation with a clean summary is more efficient. Agents can also produce confidently wrong solutions.

One example involved an infinite loop in batch processing because the generated code failed to update the offset. The code may look plausible, but still be fundamentally incorrect.

Another risk is incomplete end-to-end reasoning. An agent may change one part of a function or flow without tracing the full impact across the system. This is especially dangerous in product code, where behavior depends on multiple layers working together.

There is also the issue of autonomy overreach. We have seen cases where an agent performed actions without consent, including commits and pull requests. That creates a clear need for explicit rules and guardrails.

Agentic coding is generally a poor fit for:

  • unclear product requirements;
  • major architectural decisions;
  • large end-to-end changes without tests;
  • complex stacked PR workflows;
  • business logic that requires deep domain judgment;
  • tasks where the acceptance criteria are vague;
  • changes that cannot be easily validated.

In these cases, the agent can still support research, exploration, or drafting, but it should not be treated as an autonomous owner of the outcome

Practical insights: best practices for using AI agents

The best results come when AI agents are managed like junior execution partners with strong tooling, not like fully autonomous senior engineers.A practical workflow looks like this:

01. Define the task clearly.

02. Provide files, context, constraints, and expected behavior.

03. Ask the agent to propose a plan before implementing.

04. Review and approve the plan.

05. Let the agent implement the scoped change.

06. Run tests, linting, and relevant commands.

07. Review the code manually.

08. Ask the agent to fix specific issues.

09. Prepare the PR only after validation.

Rules and guardrails matter. Our team uses files such as SKILL.md, CLAUDE.md, CURSOR.md, AGENT.md, project-specific rule folders, and agent definitions to guide agent behavior.

Our team also points to CONTEXT.md files as a useful addition, even if this is still an emerging practice rather than something we have fully tested in production. The idea is to place short context files alongside the codebase: at the root level, they can explain what the project is about and map the overall structure; inside feature or domain directories, they can describe what that part of the system is responsible for.

These files can help agents understand the codebase faster, follow naming conventions and architecture patterns, use tools correctly, avoid code duplication, and reduce unauthorized or irrelevant actions. They may also reduce token usage by giving the AI a concise map of the project, helping it identify the most relevant areas of the codebase without having to explore everything from scratch.

A useful practice could be to review agent history as a feedback mechanism for improving agentic workflows in a codebase. As indicated by our developers, this is not something we have formalized in practice yet, but it points to a promising self-improvement loop for AI-assisted development. Teams may be able to examine past AI-assisted coding sessions to identify recurring failure patterns, such as incorrect logic, misunderstood scope, hallucinated assumptions, incomplete actions, or repeated formatting issues. Over time, these insights could help refine prompts, codebase-specific rules, review checklists, or skills. This use case may deserve deeper treatment, either here or in a separate article, once there is more comprehensive real-world experience to draw from.

‍

More broadly, this is where agentic coding becomes less about prompt tricks and more about engineering process. The question is not only “How do we prompt the agent?” It is also “What system do we build around the agent so its output becomes reliable?”

How we see this at Amplified

The best results come when AI agents are surrounded by the same foundations great engineers already need: clear requirements, strong architecture, automated tests, code review, CI/CD, and ownership.

From an engineering perspective, our team observed that these foundations take time to build and adopt, which can feel at odds with the promise of agentic coding as a way to move faster. But without them, teams risk getting only the “break things” part of “move fast and break things” - at a much higher speed and potentially with much greater consequences.

For startups and product teams, agentic coding should not be treated as a way to generate more code for its own sake. The real opportunity is to accelerate product delivery without lowering the quality bar. Used well, AI agents can help teams move faster on repetitive implementation, testing, documentation, debugging, and migration work. Used poorly, they can create hidden costs in review, testing, rework, and production risk.

That is why the most effective teams will not be the ones that simply use more AI. They will bethe ones that design better workflows around AI.