<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The YTS blog</title>
    <link>https://ytsventures.com/blog</link>
    <atom:link href="https://ytsventures.com/blog/feed.xml" rel="self" type="application/rss+xml" />
    <description>Practical guides on AI software engineers, coding agents and reviewing AI-written code.</description>
    <language>en</language>
    <lastBuildDate>Sun, 11 Oct 2026 09:00:00 GMT</lastBuildDate>
    <item>
      <title>What is an AI software engineer? How it works, and where it breaks</title>
      <link>https://ytsventures.com/blog/what-is-an-ai-software-engineer</link>
      <guid isPermaLink="true">https://ytsventures.com/blog/what-is-an-ai-software-engineer</guid>
      <pubDate>Sun, 11 Oct 2026 09:00:00 GMT</pubDate>
      <dc:creator>YTS Engineering Team</dc:creator>
      <category>AI engineering</category>
      <description>An AI software engineer takes a whole ticket, plans it, writes and tests the code in its own environment and opens a pull request. Here's how it works.</description>
      <content:encoded><![CDATA[<p>An <strong>AI software engineer</strong> is an AI agent that takes a whole piece of software work, usually a ticket, and returns a finished change. It reads the codebase, plans the change, edits the files, runs the build and tests in its own environment, fixes what breaks and opens a pull request. A person reviews it and decides whether it merges.</p>
<p>That&#39;s the short answer. The longer one matters more, because the label gets stuck on everything from a chat window to a fully autonomous bot. If you&#39;re deciding whether to bring one onto your team, you need to know what actually happens between &quot;here&#39;s the ticket&quot; and &quot;here&#39;s the PR&quot;, and where it goes wrong.</p>
<h2 id="the-one-line-definition">The one-line definition</h2>
<p>A useful test: <strong>what is the unit of work?</strong></p>
<ul>
<li>An autocomplete tool works on the <strong>next few lines</strong>.</li>
<li>A chat assistant works on <strong>one question</strong>.</li>
<li>An AI software engineer works on <strong>one task</strong>, end to end, and is judged on whether the result passes tests and review.</li>
</ul>
<p>Everything else follows from that. Because it owns a task, it needs its own workspace, a way to run your code, and a way to hand the result back without touching production. That hand-back is almost always a pull request, because the pull request is where software teams already do their quality control.</p>
<h2 id="how-an-ai-software-engineer-works-step-by-step">How an AI software engineer works, step by step</h2>
<p>Most serious systems run the same loop. Here&#39;s what it looks like when YTS picks up a ticket.</p>
<h3 id="1-read-the-ticket-and-the-codebase">1. Read the ticket and the codebase</h3>
<p>It starts by reading the ticket, then the parts of the repository that matter: the files the ticket mentions, the code around them, the tests that cover them, the README and the build config. A human engineer does the same thing on day one of a new task. The difference is speed, not method.</p>
<h3 id="2-write-a-plan">2. Write a plan</h3>
<p>Before touching code it writes down what it intends to change and why. This is the cheapest place to catch a misunderstanding. If the plan is wrong, you fix one paragraph, not three hundred lines of diff.</p>
<h3 id="3-make-the-change-in-its-own-environment">3. Make the change in its own environment</h3>
<p>The agent edits files in an isolated copy of your project, not on your machine and never on a shared branch. It can install dependencies, run scripts and open a browser to check a page, the same way a developer would.</p>
<h3 id="4-run-the-build-and-the-tests-then-fix-what-fails">4. Run the build and the tests, then fix what fails</h3>
<p>This is the step that separates an engineer from a code generator. It runs your test suite and the build, reads the failures and iterates until they pass. If there are no tests for the change, a good agent writes them.</p>
<h3 id="5-open-a-pull-request">5. Open a pull request</h3>
<p>The output is a normal pull request: a branch, a description of what changed and why, and evidence such as test results. Your team reviews it like any other PR. Nothing reaches your main branch until a person merges it.</p>
<h3 id="6-leave-a-record">6. Leave a record</h3>
<p>Every step above should be visible. YTS logs each plan, file change, test run and review on a timed record, and the <a href="/#tracking">live tracking board</a> shows which agent is on which ticket right now. When a PR looks odd, you can see exactly how it got there.</p>
<h2 id="what-it-is-not">What it is not</h2>
<p>It is not autocomplete, and it isn&#39;t a chatbot with a bigger context window. We wrote a full comparison in <a href="/blog/ai-coding-agent-vs-ai-coding-assistant">AI coding agent vs AI coding assistant</a>, but the short version is this: an assistant helps a developer write code faster, while an agent does the task and hands back a result for review.</p>
<p>It&#39;s also not a replacement for code review. That isn&#39;t a philosophical position. It&#39;s what the data says.</p>
<h2 id="what-the-2025-and-2026-data-actually-says">What the 2025 and 2026 data actually says</h2>
<p>Adoption is nearly universal now. Trust is not.</p>
<ul>
<li><strong>84%</strong> of developers use or plan to use AI tools in their development process, up from 76% the year before (<a href="https://survey.stackoverflow.co/2025/ai" rel="noopener" target="_blank">Stack Overflow 2025 Developer Survey<span class="sr-only"> (opens in a new tab)</span></a>).</li>
<li><strong>46%</strong> actively distrust the accuracy of those tools, while 33% trust it. Only 3.1% say they &quot;highly trust&quot; it (same survey).</li>
<li>The top frustration, named by <strong>66%</strong>, is AI output that is &quot;almost right, but not quite&quot;. That&#39;s exactly the kind of bug that slips through a quick skim.</li>
<li><strong>90%</strong> of respondents in Google&#39;s 2025 DORA research use AI at work. DORA also found AI adoption still has a negative relationship with software delivery stability (<a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report" rel="noopener" target="_blank">Google Cloud, 2025<span class="sr-only"> (opens in a new tab)</span></a>).</li>
</ul>
<p>Agents specifically are still early. In the same Stack Overflow survey, 52% of developers either don&#39;t use agents or stick to simpler AI tools, and 14.1% use agents at work daily. GitHub reports its Copilot coding agent created more than 1 million pull requests between May and September 2025 (<a href="https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/" rel="noopener" target="_blank">Octoverse 2025<span class="sr-only"> (opens in a new tab)</span></a>). So the PR-shaped workflow is real and growing fast.</p>
<p>There&#39;s one finding every buyer should know. In a July 2025 randomized trial, METR found experienced open-source developers took <strong>19% longer</strong> to finish tasks when using AI tools, while still believing AI had sped them up by about 20% (<a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/" rel="noopener" target="_blank">METR, 2025<span class="sr-only"> (opens in a new tab)</span></a>). METR has since said the tools moved on and its newer data gives an unreliable signal (<a href="https://metr.org/blog/2026-02-24-uplift-update/" rel="noopener" target="_blank">METR, 2026<span class="sr-only"> (opens in a new tab)</span></a>). The lesson still holds. <strong>Feeling faster is not a measurement.</strong> Count merged PRs and post-merge defects instead.</p>
<h2 id="where-an-ai-software-engineer-does-well">Where an AI software engineer does well</h2>
<p>These tickets tend to go well:</p>
<ul>
<li><strong>Bugs with a clear reproduction.</strong> &quot;Clicking Save with an empty title throws a 500&quot; is a perfect ticket.</li>
<li><strong>Small features with a clear finish line.</strong> A new field, a new endpoint, a new filter.</li>
<li><strong>Tests.</strong> Adding coverage to code that has none is tedious for people and ideal for agents.</li>
<li><strong>Upgrades and migrations.</strong> Bumping a framework version, replacing a deprecated API, moving config formats.</li>
<li><strong>Refactors with a fixed target.</strong> Rename, extract, split a file, without changing behaviour.</li>
</ul>
<p>The common thread is that each one has a checkable &quot;done&quot;. If the tests can say yes or no, the agent can loop until yes.</p>
<h2 id="where-it-struggles">Where it struggles</h2>
<ul>
<li><strong>Vague tickets.</strong> &quot;Make onboarding better&quot; has no finish line, so the agent invents one.</li>
<li><strong>Missing context.</strong> Business rules that live only in someone&#39;s head. Tribal knowledge about why a weird check exists.</li>
<li><strong>No tests, no build script.</strong> If your project can&#39;t be built and tested from the command line, the agent can&#39;t verify its own work.</li>
<li><strong>Judgment calls.</strong> Product trade-offs, security posture, what to cut. These belong to people.</li>
<li><strong>Security-sensitive code.</strong> In <a href="https://www.veracode.com/blog/genai-code-security-report/" rel="noopener" target="_blank">Veracode&#39;s 2025 testing<span class="sr-only"> (opens in a new tab)</span></a>, 45% of AI-generated code samples introduced an OWASP Top 10 vulnerability. Anything near auth, payments or user data needs a careful human review.</li>
</ul>
<h2 id="benchmarks-useful-but-read-them-carefully">Benchmarks: useful, but read them carefully</h2>
<p>You&#39;ll see agents ranked on <strong>SWE-bench Verified</strong>, a set of 500 real GitHub issues that humans checked for fair grading (<a href="https://www.swebench.com/verified.html" rel="noopener" target="_blank">SWE-bench<span class="sr-only"> (opens in a new tab)</span></a>). It&#39;s a fair signal of raw ability on open-source Python repos. It is not a measure of how an agent does in <em>your</em> codebase, with <em>your</em> conventions and <em>your</em> missing docs. Run a two-week pilot on your own backlog before trusting any leaderboard.</p>
<h2 id="how-teams-actually-use-one">How teams actually use one</h2>
<p>The teams that get the most out of an AI software engineer treat it like a very fast new hire:</p>
<ol>
<li><strong>Write tickets a newcomer could finish.</strong> Goal, acceptance criteria, the files involved, how to test it.</li>
<li><strong>Keep tests green and runnable.</strong> Your test suite is the agent&#39;s eyes.</li>
<li><strong>Start with the boring backlog.</strong> Bugs, tests, upgrades. Earn trust before handing over features.</li>
<li><strong>Review every PR like a teammate&#39;s.</strong> We wrote a <a href="/blog/how-to-review-ai-generated-pull-requests">checklist for reviewing AI-generated pull requests</a> you can use from day one.</li>
<li><strong>Measure outcomes.</strong> Time from ticket to merge, review rounds, bugs after merge.</li>
</ol>
<p>If your team doesn&#39;t have review capacity, that&#39;s the real bottleneck, not the agent. It&#39;s why YTS offers <a href="/#review">YTS Review</a>, where a senior engineer from our team reviews every PR before it reaches you.</p>
<h2 id="the-bottom-line">The bottom line</h2>
<p>An AI software engineer is worth having when three things are true. The work is well scoped. Your code can be built and tested automatically. And a person still owns the merge. Get those right and it clears the tickets that sit in &quot;next sprint&quot; for months.</p>
<p>YTS is built that way. It plans, codes and tests in its own environment, and it <a href="/#security">never merges on its own</a>. You can <a href="/">see how it works</a> or watch it pick up a ticket on the live board.</p>
]]></content:encoded>
    </item>
    <item>
      <title>How to review AI-generated pull requests: a 12-point checklist</title>
      <link>https://ytsventures.com/blog/how-to-review-ai-generated-pull-requests</link>
      <guid isPermaLink="true">https://ytsventures.com/blog/how-to-review-ai-generated-pull-requests</guid>
      <pubDate>Sun, 11 Oct 2026 09:00:00 GMT</pubDate>
      <dc:creator>YTS Engineering Team</dc:creator>
      <category>Code review</category>
      <description>AI-written PRs fail in specific, predictable ways. Use this 12-point review checklist to catch wrong assumptions, fake tests and security gaps before merge.</description>
      <content:encoded><![CDATA[<p>To review an AI-generated pull request well, <strong>check intent and evidence before style</strong>. Start with the plan and the ticket, read the tests before the code, look hard at anything touching auth, data or money, and run the change yourself. AI-written code usually looks tidy. The bugs hide in assumptions, weak tests and missing checks, not in formatting.</p>
<p>Here&#39;s the checklist, and why each item is on it.</p>
<h2 id="why-ai-pull-requests-need-a-different-eye">Why AI pull requests need a different eye</h2>
<p>The standard doesn&#39;t change. The failure patterns do.</p>
<ul>
<li>In CodeRabbit&#39;s December 2025 analysis of 470 open-source pull requests, AI co-authored PRs had <strong>about 1.7x more issues</strong> than human-only PRs (10.83 vs 6.45 per PR). Logic and correctness issues were <strong>75% more common</strong> (<a href="https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report" rel="noopener" target="_blank">CodeRabbit, 2025<span class="sr-only"> (opens in a new tab)</span></a>). CodeRabbit sells code review and notes it can&#39;t be certain every &quot;human&quot; PR was human-written, so treat the exact ratio with care. The direction is consistent with other research.</li>
<li>In Veracode&#39;s 2025 testing, <strong>45%</strong> of AI-generated code samples failed security tests and introduced an <a href="https://owasp.org/www-project-top-ten/" rel="noopener" target="_blank">OWASP Top 10<span class="sr-only"> (opens in a new tab)</span></a> vulnerability. Java was worst at a 72% failure rate (<a href="https://www.veracode.com/blog/genai-code-security-report/" rel="noopener" target="_blank">Veracode, 2025<span class="sr-only"> (opens in a new tab)</span></a>).</li>
<li><strong>66%</strong> of developers say their top frustration with AI is output that is &quot;almost right, but not quite&quot; (<a href="https://survey.stackoverflow.co/2025/ai" rel="noopener" target="_blank">Stack Overflow, 2025<span class="sr-only"> (opens in a new tab)</span></a>).</li>
<li>GitClear&#39;s 2025 research found that in 2024, copy-pasted lines outnumbered moved (refactored) lines for the first time (<a href="https://www.devclass.com/ai-ml/2025/02/20/ai-is-eroding-code-quality-states-new-in-depth-report/1626250" rel="noopener" target="_blank">DevClass coverage<span class="sr-only"> (opens in a new tab)</span></a>). Duplication is quiet debt that a quick review misses.</li>
</ul>
<p>Put simply, AI code fails confidently. It compiles, it&#39;s well named, the tests are green, and it&#39;s still wrong. Your review has to be built for that.</p>
<h2 id="the-12-point-checklist">The 12-point checklist</h2>
<h3 id="before-you-read-the-diff">Before you read the diff</h3>
<p><strong>1. Does the PR solve the ticket that was asked?</strong>
Re-read the ticket, then the PR description. Agents sometimes solve a nearby problem very well. Check the acceptance criteria one by one.</p>
<p><strong>2. Is the plan sound?</strong>
If the agent wrote a plan (good ones do), read it first. A wrong approach is cheaper to reject here than after reading 400 lines. YTS attaches its plan to every ticket&#39;s <a href="/#tracking">timed record</a> for exactly this reason.</p>
<p><strong>3. Is the PR small enough to review properly?</strong>
If it touches unrelated files or runs to thousands of lines, send it back and split the ticket. Nobody can verify a giant diff, human or machine.</p>
<h3 id="read-the-tests-before-the-code">Read the tests before the code</h3>
<p><strong>4. Do the tests actually test the change?</strong>
Look for tests that assert something trivially true, mock the very thing they claim to test, or only cover the happy path. Green tests that prove nothing are the most common way a bad AI PR gets merged.</p>
<p><strong>5. Were existing tests changed or deleted?</strong>
Any edit to an existing assertion needs a reason in the PR description. &quot;Updated the test to match the new output&quot; can mean &quot;hid the bug&quot;.</p>
<p><strong>6. Are edge cases covered?</strong>
Empty input, nulls, large values, time zones, concurrency, permissions. Ask: what would break this in production on a bad day?</p>
<h3 id="then-read-the-code">Then read the code</h3>
<p><strong>7. Does every API, package and function actually exist?</strong>
Check imports and calls against your real dependencies and their versions. Invented methods and outdated signatures look completely plausible in a diff.</p>
<p><strong>8. Does it follow your codebase&#39;s patterns, or invent new ones?</strong>
A second HTTP client, a new date library, a fresh helper that duplicates one you already have. Each is small. Together they&#39;re the duplication GitClear measured.</p>
<p><strong>9. Is error handling real?</strong>
Look for swallowed exceptions, catch-all blocks that log and continue, and retries without limits. AI code often handles errors in a way that hides them.</p>
<h3 id="security-and-data">Security and data</h3>
<p><strong>10. Is every input validated and every query safe?</strong>
Check for injection, missing output encoding (cross-site scripting was one of Veracode&#39;s worst categories), unsafe deserialization and path handling. Treat anything near auth, payments or personal data as high risk by default.</p>
<p><strong>11. Did it touch secrets, permissions or config?</strong>
New environment variables, widened permissions, logging that could print tokens or personal data, disabled checks &quot;to make the tests pass&quot;. All of these need an explicit yes from a person.</p>
<h3 id="before-you-approve">Before you approve</h3>
<p><strong>12. Did you run it?</strong>
Pull the branch and use the feature, or at least read the agent&#39;s test output and screenshots. Approving based on the diff alone is how &quot;almost right&quot; ships.</p>
<h2 id="how-to-make-ai-pull-requests-easier-to-review">How to make AI pull requests easier to review</h2>
<p>The best review is the one you barely need. Most of that work happens before the PR exists.</p>
<ul>
<li><strong>Write tickets with acceptance criteria.</strong> The clearer the finish line, the less the agent guesses.</li>
<li><strong>Keep tests fast and runnable from the command line.</strong> The agent uses them to check itself.</li>
<li><strong>Require a plan and a summary on every PR.</strong> What changed, why, how it was tested.</li>
<li><strong>Keep the agent PR-only.</strong> It should never be able to merge. YTS <a href="/#security">never merges on its own</a>.</li>
<li><strong>Use AI review as a first pass, not the last.</strong> Automated review catches patterns. A person who knows the product catches wrong intent.</li>
</ul>
<p>Google&#39;s <a href="https://google.github.io/eng-practices/review/reviewer/" rel="noopener" target="_blank">code review guidance<span class="sr-only"> (opens in a new tab)</span></a> still applies in full: the reviewer&#39;s job is to keep the codebase healthier over time, whoever wrote the change.</p>
<h2 id="when-you-dont-have-time-to-review">When you don&#39;t have time to review</h2>
<p>This is the honest bottleneck. An agent can open PRs faster than a small team can review them, and <a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report" rel="noopener" target="_blank">DORA&#39;s 2025 research<span class="sr-only"> (opens in a new tab)</span></a> found AI adoption still has a negative relationship with delivery stability. More output without more review is how that happens.</p>
<p>If review capacity is your constraint, you have three options. Slow the agent down to your review speed. Keep its work to low-risk tickets. Or add reviewers. YTS offers the third as <a href="/#review">YTS Review</a>, where a senior engineer from our team reviews every PR YTS opens before it reaches you.</p>
<h2 id="copy-this-checklist">Copy this checklist</h2>
<ol>
<li>Solves the ticket as asked</li>
<li>Plan is sound</li>
<li>Small enough to review</li>
<li>Tests test the change</li>
<li>No unexplained test edits</li>
<li>Edge cases covered</li>
<li>Every API and package is real</li>
<li>Follows existing patterns, no duplication</li>
<li>Errors are handled, not hidden</li>
<li>Inputs validated, queries safe</li>
<li>No secret, permission or config surprises</li>
<li>You ran it</li>
</ol>
<p>New to agents? Start with <a href="/blog/what-is-an-ai-software-engineer">what an AI software engineer actually is</a> and <a href="/blog/ai-coding-agent-vs-ai-coding-assistant">how agents differ from assistants</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>AI coding agent vs AI coding assistant: what's the real difference?</title>
      <link>https://ytsventures.com/blog/ai-coding-agent-vs-ai-coding-assistant</link>
      <guid isPermaLink="true">https://ytsventures.com/blog/ai-coding-agent-vs-ai-coding-assistant</guid>
      <pubDate>Sun, 11 Oct 2026 09:00:00 GMT</pubDate>
      <dc:creator>YTS Engineering Team</dc:creator>
      <category>AI engineering</category>
      <description>A coding assistant helps you write code faster. A coding agent takes the whole task and hands back a pull request. When to use each, with 2025 data.</description>
      <content:encoded><![CDATA[<p>The difference between an AI coding agent and an AI coding assistant comes down to <strong>who holds the task</strong>. An assistant helps you while you work: it suggests the next lines or answers a question, and you drive every step. An agent takes the whole task, works on it by itself in its own environment, runs the tests and hands back a finished change, usually a pull request.</p>
<p>Same underlying models, very different jobs. Mixing them up leads to the wrong expectations, the wrong guardrails and a lot of disappointed teams.</p>
<h2 id="the-quick-comparison">The quick comparison</h2>
<div class="yb-table" role="region" aria-label="Table" tabindex="0"><table><thead><tr><th scope="col"></th><th scope="col">AI coding assistant</th><th scope="col">AI coding agent</th></tr></thead><tbody><tr><td>Unit of work</td><td>The next lines, or one question</td><td>A whole task or ticket</td></tr><tr><td>Where it runs</td><td>In your editor or chat</td><td>In its own isolated environment</td></tr><tr><td>Who drives</td><td>You, every step</td><td>The agent, until review</td></tr><tr><td>Runs your tests</td><td>Rarely, and only if you ask</td><td>Yes, as part of the loop</td></tr><tr><td>Output</td><td>Suggestions you accept or reject</td><td>A branch and a pull request</td></tr><tr><td>Your time spent</td><td>While you code</td><td>When you write the ticket and review</td></tr><tr><td>Main risk</td><td>Accepting a subtle mistake as you type</td><td>A plausible PR that hides a wrong assumption</td></tr><tr><td>Best for</td><td>Work you&#39;re already doing</td><td>Backlog work you&#39;d otherwise defer</td></tr></tbody></table></div>
<h2 id="what-a-coding-assistant-does">What a coding assistant does</h2>
<p>Assistants live where you already work. Inline completion predicts the next few lines. Chat explains an error, drafts a function or writes a regex. Some assistants can edit several files when you ask.</p>
<p>The key point is that <strong>you stay in the loop the whole time</strong>. You decide what to accept, you run the tests, you commit. That keeps risk low and makes assistants easy to adopt, which is why they&#39;re everywhere. In the <a href="https://survey.stackoverflow.co/2025/ai" rel="noopener" target="_blank">Stack Overflow 2025 Developer Survey<span class="sr-only"> (opens in a new tab)</span></a>, 84% of developers said they use or plan to use AI tools, and 50.6% of professional developers use them daily.</p>
<p>The catch is that your attention is the bottleneck. An assistant makes you type faster. It doesn&#39;t give you more hours.</p>
<h2 id="what-a-coding-agent-does">What a coding agent does</h2>
<p>An agent works like a teammate you hand a ticket to. A typical loop:</p>
<ol>
<li>Read the ticket and the relevant code.</li>
<li>Write a plan.</li>
<li>Edit files in its own workspace.</li>
<li>Run the build and tests, read the failures, fix them.</li>
<li>Open a pull request with a summary and test evidence.</li>
</ol>
<p>You&#39;re involved at two points: writing the ticket and reviewing the result. In between, the agent works without you, which is the whole point. Three tickets can move while you&#39;re in a meeting.</p>
<p>This is a younger category. In the same survey, 52% of developers either don&#39;t use agents or stick to simpler AI tools, and 14.1% use agents at work daily. But the pull-request workflow is growing fast. GitHub says its Copilot coding agent created more than 1 million pull requests between May and September 2025 (<a href="https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/" rel="noopener" target="_blank">Octoverse 2025<span class="sr-only"> (opens in a new tab)</span></a>).</p>
<p>We cover the full loop in <a href="/blog/what-is-an-ai-software-engineer">what is an AI software engineer</a>.</p>
<h2 id="the-difference-that-matters-most-where-the-risk-moves">The difference that matters most: where the risk moves</h2>
<p>With an assistant, mistakes get caught (or missed) one suggestion at a time, by the person typing. With an agent, mistakes arrive bundled in a pull request that looks finished.</p>
<p>That&#39;s why the top frustration in the 2025 survey matters so much here. <strong>66%</strong> of developers named AI output that is &quot;almost right, but not quite&quot;. An almost-right suggestion in your editor is easy to spot. An almost-right PR with green tests is not, unless your review process is built for it.</p>
<p>Google&#39;s <a href="https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report" rel="noopener" target="_blank">2025 DORA research<span class="sr-only"> (opens in a new tab)</span></a> points the same way at team level. AI adoption now tracks with higher delivery throughput, but it still has a negative relationship with delivery stability, and 30% of respondents report little or no trust in AI-generated code. More output only helps if quality control keeps up.</p>
<h2 id="when-to-use-an-assistant">When to use an assistant</h2>
<ul>
<li>You&#39;re in the middle of the work and want to move faster.</li>
<li>The task needs constant judgment calls, like UI polish or a tricky design decision.</li>
<li>You&#39;re exploring: reading unfamiliar code, trying approaches, writing a spike.</li>
<li>There are no tests yet and you&#39;re the one who&#39;ll verify it.</li>
</ul>
<h2 id="when-to-use-an-agent">When to use an agent</h2>
<ul>
<li>The ticket has a clear finish line and acceptance criteria.</li>
<li>The project builds and tests from the command line.</li>
<li>It&#39;s work that keeps slipping: bug backlog, test coverage, upgrades, small features, migrations.</li>
<li>You&#39;d rather review a PR than write it.</li>
</ul>
<p>A simple rule: <strong>if you&#39;d hand it to a capable new hire with a clear ticket, hand it to an agent.</strong> If you&#39;d want to sit next to them while they do it, use an assistant and do it yourself.</p>
<h2 id="the-guardrails-agents-need-that-assistants-dont">The guardrails agents need (that assistants don&#39;t)</h2>
<p>Because an agent acts on its own, the safety model has to be different:</p>
<ul>
<li><strong>Isolated environment.</strong> It works in its own copy of the project, never on your laptop or a shared branch.</li>
<li><strong>Pull-request-only access.</strong> It can propose changes. It can&#39;t merge them. YTS is built so it <a href="/#security">never merges on its own</a>.</li>
<li><strong>Runnable tests.</strong> Tests are how the agent checks its own work and how you check it too.</li>
<li><strong>A visible trail.</strong> You should be able to see every plan, edit and test run. YTS shows this on a <a href="/#tracking">live tracking board</a> with a timed record per ticket.</li>
<li><strong>A human reviewer who owns the merge.</strong> Use a review checklist built for AI code, like our <a href="/blog/how-to-review-ai-generated-pull-requests">guide to reviewing AI-generated pull requests</a>.</li>
</ul>
<h2 id="a-word-on-measuring-it">A word on measuring it</h2>
<p>Don&#39;t judge either tool by feel. In METR&#39;s July 2025 randomized trial, experienced open-source developers were 19% slower with AI tools while believing they were about 20% faster (<a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/" rel="noopener" target="_blank">METR, 2025<span class="sr-only"> (opens in a new tab)</span></a>). The tools have improved since and METR itself says that result is now dated, but the perception gap is the lesson. Track time from ticket to merged PR, review rounds and bugs found after merge.</p>
<h2 id="the-bottom-line">The bottom line</h2>
<p>Assistants make the developer faster. Agents take the task. Most strong teams use both: an assistant in the editor for the work they&#39;re doing, and an agent for the tickets that never get picked up.</p>
<p>YTS is the agent half. Give it the ticket and get back a tested pull request your team reviews. <a href="/">See how YTS works</a>.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
