<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 김현중</title>
    <description>The latest articles on DEV Community by 김현중 (@hyunjoong).</description>
    <link>https://dev.to/hyunjoong</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4215133%2Ff97c94df-3765-491b-b24d-4cc3f1d7dcf5.jpg</url>
      <title>DEV Community: 김현중</title>
      <link>https://dev.to/hyunjoong</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hyunjoong"/>
    <language>en</language>
    <item>
      <title>One Year with AI Coding Agents: How I Build Products with AI</title>
      <dc:creator>김현중</dc:creator>
      <pubDate>Thu, 29 Oct 2026 11:35:14 +0000</pubDate>
      <link>https://dev.to/hyunjoong/one-year-with-ai-coding-agents-how-i-build-products-with-ai-1d7g</link>
      <guid>https://dev.to/hyunjoong/one-year-with-ai-coding-agents-how-i-build-products-with-ai-1d7g</guid>
      <description>&lt;p&gt;Over the past year, I've used Claude Code and Codex to build products. The agents have been capable at writing code and getting features to work. But deciding whether those features fit the product's direction and circumstances has remained my responsibility.&lt;/p&gt;

&lt;p&gt;As development sped up, new questions emerged. How much should I trust an agent when it reports that a feature works? When I can't realistically read every line of the growing codebase, what should I focus on in review?&lt;/p&gt;

&lt;p&gt;My conclusion after a year is that &lt;strong&gt;people need to own the product's structure and design intent, while agents implement within that direction&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Newer models are much better at understanding intent
&lt;/h2&gt;

&lt;p&gt;With earlier models, I often saw work I hadn't asked for. I would request a fix to one feature, only to find that the agent had also changed something else.&lt;/p&gt;

&lt;p&gt;In my experience, Astra 6 and Opus 5.5 understood the context and intent of requests better than earlier models. With faster models such as Luna and Haiku, and with Gemini, I found it more reliable to spell out the task and its boundaries explicitly.&lt;/p&gt;

&lt;p&gt;This is my own experience, not a general ranking. Performance varies with the model version, the task, and the context provided. Even as models improve, it remains useful to be clear about &lt;strong&gt;what should change, why, and where the scope ends&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. A working feature is not necessarily the intended feature
&lt;/h2&gt;

&lt;p&gt;Understanding a request and implementing it in a way that fits the product are different challenges. Agents are good at making features work and passing tests, but they can implement a solution without sufficiently considering business goals, the service's current scale, or future growth.&lt;/p&gt;

&lt;p&gt;Even after an agent reported that development and code review were complete, I found problems by examining data flow, memory use, potential database transaction conflicts, and architecture. They tended to fall into four categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Duplicate code and unnecessary implementation&lt;/strong&gt;: The agent adds a separate implementation to make the feature work when an existing interface could have solved the problem more simply.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost and performance overlooked&lt;/strong&gt;: Instead of reusing data already in memory, the agent loads it again on a subsequent run. This can increase costs and latency, and eventually lead to out-of-memory failures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code and documentation drifting apart&lt;/strong&gt;: The agent relies on outdated documentation or faulty existing code and builds something different from the original intent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tests that don't provide useful verification&lt;/strong&gt;: The agent focuses on coverage numbers and writes tests that fail to check the feature's actual behavior or important failure cases.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Passing tests and an agent's completion report are useful signals. On their own, they don't establish that the design is appropriate or that the right problem has been solved. Someone still needs to use the product and examine important data flows and the effects of the change.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Keep ownership of the product
&lt;/h2&gt;

&lt;p&gt;As AI coding agents increase development speed, reviewing every generated line becomes harder. Even a side project can accumulate enough commits that keeping up with changes takes significant time.&lt;/p&gt;

&lt;p&gt;That doesn't mean handing over judgment. In my experience, agents implement details well when given a clear overall structure and direction. Our job is to look beyond the volume of code and ask whether &lt;strong&gt;the product's structure and features are evolving in the intended direction&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I think a useful approach is to express code structure and feature behavior in diagrams and plain language, then use those as the basis for review.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Architecture review&lt;/strong&gt;: Use diagrams derived from the code to inspect the overall structure. Check whether service and domain boundaries make sense, and look for duplication or excessive abstraction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feature design review&lt;/strong&gt;: Document a new feature's flow and sequence, dependencies between services, and domain boundaries. Before diving into the code, review how the feature is supposed to work and why it was designed that way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Diagrams and documents don't replace code review. They provide a starting point for understanding the larger context and finding code that deserves closer attention. They also need to be checked against the implementation.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. A practical way to understand and design your product
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://specify.app" rel="noopener noreferrer"&gt;Specify&lt;/a&gt; can help visualize a product's architecture from its codebase and produce development notes and flow diagrams for individual features. These views make it easier to see how data moves and is processed, and how features connect, before following the code line by line.&lt;/p&gt;

&lt;p&gt;For a new feature, I use the following sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understand the current structure&lt;/strong&gt;: Review the existing architecture and related features, and identify services and data that can be reused.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design the feature&lt;/strong&gt;: Write a PRD that identifies the domain where the feature belongs and how it will use existing services and data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Request implementation&lt;/strong&gt;: Give the coding agent the reviewed direction and constraints, then ask it to implement the feature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review the result&lt;/strong&gt;: Use the feature, compare the data flow and changed structure against the design intent, and inspect important code and tests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record decisions&lt;/strong&gt;: Keep the design intent and key decisions in development notes for future work.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As agents make it faster to build features, deciding what to build and how the product should evolve becomes more important. Understanding the current structure and owning the design makes it possible to use the agent's implementation speed in service of the product's direction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What problems have you found in code written by an AI coding agent? Even a small example is welcome—share your experience in the comments.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>architecture</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
