AI Engineer World's Fair 2026

AI-Generated Code Is Already Competing With Human Code — Daksh Gupta, Greptile

Slide chapters

24 slide and demo groups · Timestamps are approximate.

What is Greptile?

Greptile agents review pull requests using related code and sandbox tests. The example flags a removed await: the function can return success before the charge resolves, even if it fails.

Text in image
What is Greptile?

AI agents that review and test pull requests.

greptile
commented on api/billing/charges.ts

43  const customer = await db.customers.find(id);
44  - await stripe.charge(customer.token, amount);
44  + stripe.charge(customer.token, amount);
45  return { ok: true };

P1  Charge may fail silently

The await was removed from stripe.charge(), so the function returns { ok: true } before the charge resolves — including when it fails.

Fix in Cursor
Fix in Claude
Fix in Codex

greptile

Evolution of AI coding agents

The workflow moves from accepting autocomplete suggestions to reviewing multi-file edits, then to giving an agent a ticket and receiving a pull request.

Text in image
2021–2023
Autocomplete suggests a line; humans tap tab to accept it.

const total = items.reduce((a, b) => a + b.price, 0)

2024
Multi-file agents edit across a repo, with humans still doing review.

utils/format.ts
[illegible]
api/cart.ts
[illegible]
checkout.tsx
- <span>{total}</span>
+ <span>{fmt(total)}</span>

2025–today
End-to-end agents: human writes a ticket, AI ships the PR.

ENG-247
Format cart totals to 2 decimal places
Bug  P2

#1842
fix(cart): format totals to 2dp
+12 -4  3 files
Open

greptile

Identifying fully-vibed PRs is hard

Gupta introduces three signals for finding AI-generated PRs in Greptile’s review data, a task he found surprisingly difficult.

Text in image
Identifying fully-vibed PRs is hard

Three signals we used to find them.

greptile

GitHub author field

Gupta found fewer than 1% of PRs named Codex, Claude or Cursor as author. He expected a higher share of code to be fully AI-generated, so he looked for other signals.

Text in image
Signal 1
GitHub author field

100 PRs · 1 attributed to an agent
human-attributed
agent-attributed

greptile

PR description footer

Gupta uses AI attribution in PR footers as another signal of potentially AI-generated code. The example footer credits Claude Code and lists Claude as a co-author.

Text in image
Signal 2
PR description footer

feat: add idempotency keys to webhooks
opened 2 hours ago by alex-h

Adds idempotency keys to all outbound webhook deliveries so retries don’t double-fire downstream handlers.

Tested against the staging Stripe environment.

—

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>

Interface text:
greptile

Branch name prefix

Gupta uses agent-prefixed branch names as a signal that a PR was largely AI-generated. The example highlights Codex and Cursor prefixes.

Text in image
Signal 3
Branch name prefix

Branches
5 of 1,284
feature/payment-retry — 2 days ago
codex/add-rate-limit-middleware — 1 day ago
fix/login-redirect — 5 hours ago
cursor/refactor-billing-types — 3 hours ago
chore/bump-deps — 12 min ago

greptile

27.6% of PRs had strong evidence of full AI authorship

Gupta treats agent-written branch names or PR descriptions as signals of largely AI-generated PRs. Of the PRs Greptile reviewed in April, 27.6% had strong evidence of being fully vibed.

Text in image
27.6%

of PRs in April had strong evidence of being fully vibed

greptile

Share of PRs with evidence of full AI authorship

The share of merged PRs with evidence of full AI authorship rose from 0.86% in February 2025 to 27.6% in April 2026. Signals include bot authors, co-authored-by footers, and codex/ branch prefixes.

Text in image
[ FIG. 01 · SHARE OF PRs WITH EVIDENCE OF FULL AI AUTHORSHIP ]

Y-axis: % OF MERGED PRs
Y-axis ticks: 0%, 10%, 20%, 30%
Timeline: Feb 2025, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, Jan 2026, Feb, Mar, Apr
X-axis: MONTH

0.86%
27.6%

monthly share
PRs with bot author, co-authored-by footer, or codex/ branch prefix

greptile

Are these PRs any good?

Gupta turns to the quality of fully AI-generated pull requests, asking whether they are any good.

Text in image
Are these PRs any good?

greptile

What does it mean for a PR to be good?

Before judging AI-generated PRs, Gupta asks how to define a good pull request.

Text in image
what does it mean for a
PR to be good?

greptile

Revert rates

Gupta uses revert rates as a proxy for bad PRs, tracking GitHub branches named for the reverted PR. The example undoes a webhook change after production webhooks started double-firing.

Text in image
Method 1
Revert rates

A revert is a follow-up commit that undoes a merged PR — usually because it broke something in production.

Pull requests · #4821
merged
Revert "feat: add idempotency keys to webhooks"
opened by alex-h · 18 minutes after merge
branch revert-4807-feat/idempotency-keys
reverts #4807
Reverts the changes from #4807. Production webhooks started double-firing 12 minutes after deploy.

greptile

Revert rates by author

Codex had the lowest revert rate at 1.19 per 1,000 merged PRs; Devin had the highest at 3.50. Humans fell between the two at 2.72.

Text in image
Revert rates by author

Codex  1.19
Claude  1.80
human  2.72
Cursor BG  3.41
Devin  3.50

X-axis: REVERTS PER 1,000 MERGED PRs
X-axis ticks: 0, 1, 2, 3, 4

greptile

Revert rate by PR size

Gupta compares reverts per 1,000 merged PRs: versus human PRs, AI-generated PRs are 12% higher for one file, tied for 2–3 files, and 17% and 28% lower for 4–10 and 10+ files.

Text in image
Revert rate by PR size

Y-axis: REVERTS PER 1,000 MERGED PRs
Y-axis ticks: 0, 1, 2, 3, 4
X-axis: FILES CHANGED
Legend: human; AI-generated

1 file: human 2.99; AI-generated 3.36; +12%
2–3 files: human 2.99; AI-generated 3.02; tied
4–10 files: human 2.88; AI-generated 2.38; −17%
10+ files: human 3.57; AI-generated 2.57; −28%

greptile

Greptile comments

Greptile’s review comments provide a second signal of code quality. The examples contrast a P0 access-control issue with a P2 cosmetic date-formatting suggestion.

Text in image
Method 2
Greptile comments

 greptile
commented on auth/session.ts
P0 · CRITICAL
88  if (token === user.session_token) {
89      return grantAccess(user, "admin");
90  }

String comparison on session tokens is vulnerable to timing attacks, and any authenticated user is granted admin scope. This will leak privilege the moment it ships.

 greptile
commented on utils/format.ts
P2 · NIT
14  function formatDate(d) {
15      return d.toString();
16  }

Consider using toLocaleDateString so the rendered date respects the user's locale. Cosmetic only.

greptile

Greptile comments on AI-generated PRs

Three of four agents have fewer P0 comments than the human reference; two are below it for P1 and P2. Cursor BG is above the human reference in all three categories.

Text in image
Method 2
Greptile comments on AI-generated PRs

P0
Devin 0.038
Codex 0.041
Claude 0.078
Cursor BG 0.145
human · 0.099

P1
Devin 1.47
Codex 1.31
Claude 2.34
Cursor BG 2.83
human · 1.94

P2
Devin 2.64
Codex 2.81
Claude 3.75
Cursor BG 4.80
human · 2.88

greptile

Review rounds

Greptile reviews a pull request, the agent addresses comments and pushes changes, and the cycle repeats until merge. The speaker tracks these rounds as a measure of iteration.

Text in image
Method 3
Review rounds
A round is a push-and-re-review cycle.

Pull requests · #4832
merged
feat: add rate limit middleware
opened by coding-agent · 3 rounds before merge
coding-agent opened
greptile reviewed
coding-agent pushed
greptile reviewed
coding-agent pushed
merged

greptile

Number of review rounds

Mean review cycles to merge ranged from 2.11 for Devin to 2.46 for Cursor BG and Codex, with humans at 2.21. Gupta describes the differences as small.

Text in image
Method 3
Number of review rounds

Author:
Devin: 2.11
Claude: 2.19
human: 2.21
Cursor BG: 2.46
Codex: 2.46

Mean review cycles to merge
X-axis ticks: 2.0, 2.2, 2.4, 2.6

greptile

Are agent-generated PRs bad in different ways?

Gupta investigates whether agents fail differently from humans by scanning several million Greptile comments from recent months for terms such as SQL injection and N+1 query.

Text in image
Are agent-generated PRs bad in different ways than human-written PRs?

Greptile

Patterns of failure

Greptile’s review-comment term frequencies vary by agent. For N+1 queries, Cursor BG reaches 3.45× the human baseline, while Devin is at 0.45×.

Text in image
Patterns of failure

Claude | Codex | Devin | Cursor BG
sql injection: 1.50× | 1.25× | 0.70× | 1.70×
xss: 1.57× | 0.86× | 0.86× | 1.43×
auth bypass: 1.50× | 1.00× | 0.50× | 1.67×
IDOR / missing tenant check: 1.75× | 0.88× | 0.69× | 1.31×
secret in logs: 1.34× | 1.34× | 0.94× | 1.65×
n+1 query: 1.27× | 0.64× | 0.45× | 3.45×
regression: 1.25× | 1.34× | 0.89× | 2.37×
off-by-one: 1.64× | 0.55× | 0.64× | 2.27×
test missing: 0.96× | 1.13× | 0.93× | 2.37×
stale comment: 1.69× | 0.38× | 0.88× | 0.69×

greptile

Autonomous agents are good, actually

Despite his initial skepticism, Gupta says the evidence suggests end-to-end coding agents can probably contribute meaningfully in enterprise coding environments.

Text in image
Autonomous agents are good, actually

greptile

Code review needs to adapt for the agentic era

Gupta says the median Greptile user writes 50 pull requests a month, versus 500 at the 90th percentile, and asks how code validation can scale to match.

Text in image
Code review needs
to adapt for the
agentic era

greptile

Daksh Gupta

Greptile co-founder Daksh Gupta closes the talk and thanks the audience.

Text in image
Daksh Gupta

greptile

[redacted] · X [redacted]

25 / 25

The AI Code Reviewer

Greptile invites attendees to visit its booth. Gupta also offers a free trial and asks for feedback.

Text in image
greptile

The AI Code Reviewer.

Visit our booth or reach us at sales@greptile.com

AI Engineer World's Fair

AI Engineer World's Fair title in white on a black background.

Text in image
AI Engineer
World’s Fair

HTTPS://AI.ENGINEER

Read the talk

AI-Generated Code Is Already Competing With Human Code

Daksh Gupta examines Greptile’s enterprise pull-request data, finds similar quality signals for human and agent code, and explains why growing code volume changes what validation must accomplish.

From a talk by Daksh Gupta

At a glance

Ideas worth remembering

  • Agent authorship needs multiple signals. Author fields alone identified fewer than 1% of PRs; adding co-author footers and branch prefixes raised the estimate to roughly a quarter, with full autonomy still inferred.

  • Greptile’s observational comparisons found broadly similar human and agent results across reverts, PR-size analysis, flagged issue severity, and review rounds before merge.

  • Overall quality can conceal distinct failure patterns. Comment-based comparisons put Claude’s SQL-injection frequency at about 1.5× the human baseline and Devin’s authentication-bypass frequency at about half.

  • Validation should examine existing user behavior, future failure risk, and author intent. Greptile combines inspection of changed and related code with sandboxed browser interaction to support that work.

From completing a line to producing a pull request

An agent opening a hundred pull requests a day makes an impressive story. It also raises a practical question: can a company with real customers safely use those changes? Daksh Gupta, co-founder of Greptile, approaches that question with skepticism earned from programming before autonomous agents. Producing code quickly and producing code a business can merge are different accomplishments.

Greptile already sits between a proposed change and its acceptance. Its agents inspect changed files and related code to look for bugs. They can also install dependencies, start the application in a sandbox, mock inputs, and click through the running app. That position provides both code-review observations and a reason to care about whether the author is a person or an agent.

The shift in coding tools explains why the question has become urgent. Gupta traces a progression from tab completion, through multifile editing in 2024, to agents in 2025 that could take a task and create an entire pull request. Each step expands the unit of work delegated to software: first a continuation, then coordinated edits, then a proposed contribution ready for review. The remaining question is whether that contribution holds up in an existing enterprise codebase.

2:022:04
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:12 · section reference included

An author field misses much of the agent activity

Greptile reviews more than a million pull requests a month across thousands of companies, usually enterprises or businesses with established products and customers. Before comparing quality, Gupta had to divide that stream into likely agent-written and human-written changes. The first attempt—looking for agent names in GitHub author fields—identified fewer than 1% of pull requests.

Source frame: An author field misses much of the agent activityOpen full source frame
Source frame: An author field misses much of the agent activity

That result prompted a wider search for traces left by the tools:

  • Author fields: An agent named as the author provides a direct metadata signal.
  • Co-author footers: PR descriptions may credit Claude, Cursor, or another tool even when the author field does not.
  • Branch prefixes: Agent-created branch names provide another indication that a tool participated in producing the pull request.

Consider the classification change implied by the footer check. A PR whose author field names no agent would escape the first detector. If its description credits Claude, the expanded detector now has evidence of agent involvement. Nothing about the code has changed; the observable change is in how the PR is classified. Gupta takes an agent writing the description or branch name as a reasonable sign that it also wrote much of the implementation. That remains an inference: these signals do not establish full autonomy, and an unmarked PR need not be entirely human-written.

With the combined signals, roughly a quarter of reviewed PRs appeared largely or entirely AI-generated. Looking back over the preceding twelve months, Gupta found fewer than 1% showing such evidence early in that period. He describes the adoption curve as continuous: individual model releases did not stand out as obvious discontinuities. The striking observation is the spread of the workflow through companies, rather than a single release-day jump.

3:023:04
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:02 · section reference included

What would make an agent-written PR worse?

Authorship answers who likely produced a change. Quality requires a separate definition. Gupta starts with reverts: a change that a team subsequently undoes is a useful candidate for a bad PR. He tracks GitHub’s revert branch naming pattern, which includes the original PR number and name, to connect an undo operation to its source change.

Source frame: What would make an agent-written PR worse?Open full source frame
Source frame: What would make an agent-written PR worse?

The reported rates are about one revert per thousand Codex PRs, about 3.5 per thousand Devin PRs, and about 2.5 per thousand human PRs. Humans sit between the two agents rather than clearly outperforming both. These are observational comparisons using reverts and automated review findings as quality proxies; they do not establish equivalent task difficulty or general superiority.

One plausible explanation was task allocation. People might give agents small, well-scoped changes while retaining complicated work themselves. More complicated PRs expose more opportunities for failure, so a raw revert comparison could penalize humans for doing harder jobs. Gupta therefore examines PR size alongside reverts. He reports that the size comparison did not provide strong evidence that human PRs were better. This addresses the proposed size explanation, although size alone cannot capture everything that makes a task difficult.

The next signal is the severity of issues Greptile flags. P0, P1, and P2 are the severity labels used in the reported review findings; the talk does not define their thresholds. Counting findings in these categories asks whether similar revert rates conceal different amounts of problematic code caught before acceptance. Three of the four tested agents produced fewer flagged P0 issues than humans. Across the severity categories, Gupta again reports broadly comparable quality.

Finally, review rounds measure the work needed to make a proposal mergeable. In the workflow described here, an agent reads review comments, addresses them, and commits a revision to the same branch. A higher-quality starting point should, in principle, need fewer cycles. Tracking the rounds between opening and merging a PR produced another comparison with little reported difference between human and agent contributions.

5:135:19
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:13 · section reference included

Similar overall quality, different ways to fail

A similar total number of problems can hide a different mix of problems. Greptile makes about four comments per PR on average, giving Gupta several million comments across the preceding months. Searching that corpus for phrases such as SQL injection and N+1 query lets him compare specific failure categories across authors.

Source frame: Similar overall quality, different ways to failOpen full source frame
Source frame: Similar overall quality, different ways to fail

The comparison sets human frequency to 1× separately for each error category:

  • SQL injection: Claude’s reported relative frequency is about 1.5× the human baseline.
  • Authentication bypass: Devin’s reported relative frequency is about half the human baseline.

The ratios compare each agent with humans within a category. They do not say that SQL injection and authentication bypass occur equally often, or that one agent is uniformly safer. Because the analysis searches review-comment language, these are patterns in flagged findings rather than independently confirmed incident rates.

This changes the useful question from “Are agents bad at coding?” to which failures a particular tool tends to introduce. The aggregate comparisons weakened Gupta’s initial skepticism about enterprise use; the category comparisons preserve a reason to inspect the resulting code carefully. Agents can make meaningful contributions while retaining distinctive weaknesses.

8:248:26
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:24 · section reference included

More code turns validation into the bottleneck

Once agents can contribute useful code, the next constraint is the capacity to validate it. Gupta describes a large gap between typical Greptile users and the most prolific users, whose monthly output reaches hundreds or thousands of changes. Exact activity figures are uncertain because the recording and its description use different units and percentile figures. The operational concern is the same: manual review, testing, and external QA must keep pace with a much faster stream of proposed changes.

Greptile’s response starts with what must be established between a PR and a safe deployment. Gupta proposes three questions:

  • Present behavior: Does the change violate the application’s user contract—the behavior users should be able to rely on?
  • Future risk: Does the change make a later violation of that contract more likely?
  • Author intent: Does the implementation accomplish what its author meant to change?

The questions separate three ways a change can disappoint. It can break existing behavior now, leave behind a risk that becomes a failure later, or preserve existing behavior while failing to deliver the requested improvement. This gives validation a purpose beyond accumulating review comments: establish whether the proposed change is safe and whether it does the intended job.

9:549:55
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:54 · section reference included

Inspect the surrounding code, then try the running app

How can validation connect a changed file to what users actually experience? Greptile combines two avenues described across the talk. Code analysis follows the change into related files, extending inspection beyond the diff. Sandbox execution installs dependencies, starts the app, supplies mocked inputs, and lets browser agents interact with it. One avenue examines the implementation and its relationships; the other looks for failures in running behavior.

The flow below answers where a proposed change becomes evidence for a revision. Findings from code inspection and browser interaction become review comments. The coding agent can then address those comments and commit a new version to the PR branch. The observable change is a revised proposal, and further review determines whether more work is needed before merge.

Gupta expects this combination to discover many issues and increase confidence in merging. The talk supplies the approach rather than a measured coverage guarantee, and it does not spell out how each of the three validation questions is conclusively answered. Its closing adoption signal is that almost a fifth of the PRs Greptile reviews are merged without human review or human testing. Greptile wants that share to grow while maintaining code quality. The ambition is to make validation scale with code production, so generating a useful change does not simply move an unmanageable workload onto reviewers.

From proposed code to a revised pull request

Pull requestA proposed code change enters review.
Inspect code relationshipsvalidation — Agents examine changed files and related files for bugs.
Run the app in a sandboxvalidation — Install dependencies, start the app, mock inputs, and use browser agents.
Review findingsComments identify issues for the coding agent to address.
Commit a revisionThe agent addresses comments and updates the same PR branch.
MergeReview rounds continue until the PR is ready to merge.
Code inspection and sandbox interaction provide findings for the same review-and-revision loop. The loop can repeat before merge.
Read the diagram as text
  • Pull request. A proposed code change enters review.
  • Inspect code relationships. validation — Agents examine changed files and related files for bugs.
  • Run the app in a sandbox. validation — Install dependencies, start the app, mock inputs, and use browser agents.
  • Review findings. Comments identify issues for the coding agent to address.
  • Commit a revision. The agent addresses comments and updates the same PR branch.
  • Merge. Review rounds continue until the PR is ready to merge.
  • Pull request → Inspect code relationships: Read changed and related files.
  • Pull request → Run the app in a sandbox: Exercise running behavior.
  • Inspect code relationships → Review findings: Flag issues.
  • Run the app in a sandbox → Review findings: Discover failures.
  • Review findings → Commit a revision: Address feedback.
  • Commit a revision → Pull request: Another review round.
  • Pull request → Merge: When ready.
0:280:30
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:32 · section reference included

Resources

From the talk

  • GreptileReference

    The code-review product discussed in the talk; link supplied in the recording description.

  • The complete AI Engineer recording, with paragraph citations tied to its source timestamps.

  • Daksh GuptaReference

    The speaker website supplied in the recording description.

Read the complete timestamped transcript

24 slide groups. Extracted from the recording; expand builds to follow changes. Timestamps are approximate.

  1. 0:12

    How's everyone doing?

  2. 0:14

    Awesome. Uh, my name is Du. I'm one of

  3. 0:16

    the co-founders of a company called

  4. 0:18

    Gravile. And at Grapile, we're working

  5. What is Greptile?

    Greptile agents review pull requests using related code and sandbox tests. The example flags a removed await: the function can return success before the charge resolves, even if it fails.

    Text in image
    What is Greptile?
    
    AI agents that review and test pull requests.
    
    greptile
    commented on api/billing/charges.ts
    
    43  const customer = await db.customers.find(id);
    44  - await stripe.charge(customer.token, amount);
    44  + stripe.charge(customer.token, amount);
    45  return { ok: true };
    
    P1  Charge may fail silently
    
    The await was removed from stripe.charge(), so the function returns { ok: true } before the charge resolves — including when it fails.
    
    Fix in Cursor
    Fix in Claude
    Fix in Codex
    
    greptile
  6. 0:21

    on AI agents that validate poll requests

  7. 0:25

    with full context of the codebase. The

  8. 0:27

    way Graval does this is every time

  9. 0:28

    there's a pull request, we have a swarm

  10. 0:30

    of agents and they go and look at every

  11. 0:32

    file that's changed, every file that's

  12. 0:35

    related to the files that changed to

  13. 0:36

    figure out if there's bugs. And it also

  14. 0:38

    spins up your code in a sandbox,

  15. 0:40

    installs the dependencies, spins up

  16. 0:42

    local host, clicks around to try to

  17. 0:44

    break things, mocks inputs, and

  18. 0:47

    everything else to figure out if the

  19. 0:48

    code is broken. But I'm going to talk

  20. 0:50

    about something a little bit different,

  21. 0:52

    which is fully autonomous coding agents.

  22. 0:56

    So

  23. Evolution of AI coding agents

    The workflow moves from accepting autocomplete suggestions to reviewing multi-file edits, then to giving an agent a ticket and receiving a pull request.

    Text in image
    2021–2023
    Autocomplete suggests a line; humans tap tab to accept it.
    
    const total = items.reduce((a, b) => a + b.price, 0)
    
    2024
    Multi-file agents edit across a repo, with humans still doing review.
    
    utils/format.ts
    [illegible]
    api/cart.ts
    [illegible]
    checkout.tsx
    - <span>{total}</span>
    + <span>{fmt(total)}</span>
    
    2025–today
    End-to-end agents: human writes a ticket, AI ships the PR.
    
    ENG-247
    Format cart totals to 2 decimal places
    Bug  P2
    
    #1842
    fix(cart): format totals to 2dp
    +12 -4  3 files
    Open
    
    greptile
  24. 0:57

    I first moved to San Francisco three

  25. 0:59

    years ago to work on AI coding. And this

  26. 1:00

    is because GBT 3.5 which came out in

  27. 1:03

    2022 was the first model that seemed

  28. 1:06

    like it was really good at programming

  29. 1:08

    at the time. Code complete tab complete

  30. 1:11

    was like the main paradigm for coding.

  31. 1:13

    The most exciting thing that was

  32. 1:14

    happening was you had tab complete from

  33. 1:15

    cursor and you had co-pilots code

  34. Evolution of AI coding agents

    The workflow moves from accepting autocomplete suggestions to reviewing multi-file edits, then to giving an agent a ticket and receiving a pull request.

    Text in image
    2021–2023
    Autocomplete suggests a line; humans tap tab to accept it.
    
    const total = items.reduce((a, b) => a + b.price, 0)
    
    2024
    Multi-file agents edit across a repo, with humans still doing review.
    
    utils/format.ts
    [illegible]
    api/cart.ts
    [illegible]
    checkout.tsx
    - <span>{total}</span>
    + <span>{fmt(total)}</span>
    
    2025–today
    End-to-end agents: human writes a ticket, AI ships the PR.
    
    ENG-247
    Format cart totals to 2 decimal places
    Bug  P2
    
    #1842
    fix(cart): format totals to 2dp
    +12 -4  3 files
    Open
    
    greptile
  35. 1:17

    complete and that was like the way in

  36. 1:19

    which AI coding works. In 2024, for the

  37. 1:23

    first time, multifile editing started to

  38. 1:26

    work. Cursor was the first to do this

  39. 1:28

    and then a couple of other products

  40. 1:29

    followed. But now, for the first time,

  41. 1:31

    AI could simultaneously edit multiple

  42. 1:33

    files at once. But things got really

  43. 1:36

    interesting in 2025 because for the

  44. 1:37

    first time, we had autonomous agents.

  45. 1:39

    They could be given a task and they

  46. 1:40

    could go and fulfill the task and create

  47. 1:42

    entire pull requests all at once. And

  48. 1:43

    this came to a precipice in December of

  49. 1:45

    last year when coding agents became

  50. 1:48

    literally completely autonomous. And

  51. 1:50

    anyone that's working in AI coding knows

  52. 1:51

    that December when the new models came

  53. 1:52

    out was sort of this like watershed

  54. 1:54

    moment in the history of AI coding

  55. 1:56

    because these products for the first

  56. 1:57

    time were like truly autonomous in how

  57. 1:59

    they programmed. And all over Twitter

  58. 2:02

    were all these crazy stories of people

  59. 2:04

    that were having these agents spin off

  60. 2:05

    and open a 100 pull requests a day. They

  61. 2:08

    were experimenting with polyphasic sleep

  62. 2:10

    so they could stay awake to re-trigger

  63. 2:12

    their agents from time to time. And as

  64. 2:14

    someone that started programming before

  65. 2:17

    agents, I was very skeptical that real

  66. Evolution of AI coding agents

    The workflow moves from accepting autocomplete suggestions to reviewing multi-file edits, then to giving an agent a ticket and receiving a pull request.

    Text in image
    2021–2023
    Autocomplete suggests a line; humans tap tab to accept it.
    
    const total = items.reduce((a, b) => a + b.price, 0)
    
    2024
    Multi-file agents edit across a repo, with humans still doing review.
    
    utils/format.ts
    [illegible]
    api/cart.ts
    [illegible]
    checkout.tsx
    - <span>{total}</span>
    + <span>{fmt(total)}</span>
    
    2025–today
    End-to-end agents: human writes a ticket, AI ships the PR.
    
    ENG-247
    Format cart totals to 2 decimal places
    Bug  P2
    
    #1842
    fix(cart): format totals to 2dp
    +12 -4  3 files
    Open
    
    greptile
  67. 2:19

    companies could program this way. So I

  68. 2:21

    was really really curious, are these

  69. 2:23

    fully vi PRs really actually good? Is

  70. 2:25

    this something that's sort of a Twitter

  71. 2:27

    hype and you can have independent

  72. 2:28

    developers and and maybe like small

  73. 2:30

    startups with no real customers do this?

  74. 2:32

    But anyone with real customers with an

  75. 2:35

    actually commercially viable code base,

  76. 2:38

    could they still use these end-to-end

  77. 2:40

    coding agents?

  78. 2:42

    And at Grubile, we're fortunate to work

  79. 2:44

    with some very large companies. We work

  80. 2:46

    with Nvidia, with Coinbase, with Scale,

  81. 2:48

    with Data Dog, with American Express.

  82. 2:49

    And we got really excited to see if

  83. 2:53

    these coding agents were being used

  84. 2:55

    really at these large companies and if

  85. 2:56

    they were any good at doing real world

  86. 2:59

    coding.

  87. Identifying fully-vibed PRs is hard

    Gupta introduces three signals for finding AI-generated PRs in Greptile’s review data, a task he found surprisingly difficult.

    Text in image
    Identifying fully-vibed PRs is hard
    
    Three signals we used to find them.
    
    greptile
  88. 3:02

    So, as an amateur data scientist, I

  89. 3:04

    decided to go and dive into our data. We

  90. 3:06

    review more than a million poll requests

  91. 3:07

    a month and we tend to get a lot of

  92. 3:10

    interesting data on what's good and bad

  93. 3:11

    about these poll requests. We do this

  94. 3:12

    for thousands and thousands of companies

  95. 3:14

    and they're usually enterprises or at

  96. 3:16

    least companies with serious products

  97. Identifying fully-vibed PRs is hard

    Gupta introduces three signals for finding AI-generated PRs in Greptile’s review data, a task he found surprisingly difficult.

    Text in image
    Identifying fully-vibed PRs is hard
    
    Three signals we used to find them.
    
    greptile
  98. 3:18

    with real customers. And so we figured

  99. 3:20

    actually studying this data would yield

  100. 3:22

    some really interesting results. Was a

  101. 3:24

    surprisingly hard to figure out from all

  102. 3:25

    the poll requests that GR was reviewing

  103. 3:27

    which of the poll requests was actually

  104. 3:29

    generated by AI. Surprisingly difficult

  105. 3:31

    to do this. The first thing that I tried

  106. GitHub author field

    Gupta found fewer than 1% of PRs named Codex, Claude or Cursor as author. He expected a higher share of code to be fully AI-generated, so he looked for other signals.

    Text in image
    Signal 1
    GitHub author field
    
    100 PRs · 1 attributed to an agent
    human-attributed
    agent-attributed
    
    greptile
  107. 3:34

    was I started looking at the GitHub

  108. 3:35

    author field. GitHub every commit has an

  109. 3:39

    author field and so went through the

  110. 3:41

    authors and turns out that less than 1%

  111. 3:43

    of pull requests had codeex or clawed or

  112. 3:45

    cursor as the author. But it wasn't

  113. 3:48

    intuitive to me that only but 1% of all

  114. 3:50

    code was fully AI generated. It just

  115. 3:51

    seemed intuitive that that number would

  116. 3:52

    be much higher. So I started to look for

  117. 3:54

    other signals. Now thankfully Claude and

  118. PR description footer

    Gupta uses AI attribution in PR footers as another signal of potentially AI-generated code. The example footer credits Claude Code and lists Claude as a co-author.

    Text in image
    Signal 2
    PR description footer
    
    feat: add idempotency keys to webhooks
    opened 2 hours ago by alex-h
    
    Adds idempotency keys to all outbound webhook deliveries so retries don’t double-fire downstream handlers.
    
    Tested against the staging Stripe environment.
    
    —
    
    🤖 Generated with Claude Code
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    Interface text:
    greptile
  119. 3:58

    Codex and some other products leave a PR

  120. 4:00

    description in the footer. In the PR

  121. 4:02

    description, they put something along

  122. 4:03

    the lines of co-authored by claude or

  123. 4:04

    co-authored by cursor and so on. And

  124. 4:06

    this gave me a little bit more signal, a

  125. 4:08

    little bit more data on which PRs were

  126. 4:09

    ostensibly largely, if not completely AI

  127. Branch name prefix

    Gupta uses agent-prefixed branch names as a signal that a PR was largely AI-generated. The example highlights Codex and Cursor prefixes.

    Text in image
    Signal 3
    Branch name prefix
    
    Branches
    5 of 1,284
    feature/payment-retry — 2 days ago
    codex/add-rate-limit-middleware — 1 day ago
    fix/login-redirect — 5 hours ago
    cursor/refactor-billing-types — 3 hours ago
    chore/bump-deps — 12 min ago
    
    greptile
  128. 4:12

    generated. The third thing I looked at

  129. 4:14

    was branch name prefixes. If you use

  130. 4:16

    Codex, you know that Codex names as

  131. Branch name prefix

    Gupta uses agent-prefixed branch names as a signal that a PR was largely AI-generated. The example highlights Codex and Cursor prefixes.

    Text in image
    Signal 3
    Branch name prefix
    
    Branches
    5 of 1,284
    feature/payment-retry — 2 days ago
    codex/add-rate-limit-middleware — 1 day ago
    fix/login-redirect — 5 hours ago
    cursor/refactor-billing-types — 3 hours ago
    chore/bump-deps — 12 min ago
    
    greptile
  132. 4:17

    branches. And it seemed reasonable that

  133. 4:19

    if someone was using these coding agents

  134. 4:21

    in such a sense that they were writing

  135. 4:23

    the branch names or writing the PR

  136. 4:24

    descriptions that the PRs were largely

  137. 4:26

    AI generated. That seemed like a

  138. 4:27

    reasonable assumption to me. So now I

  139. 4:29

    had a good set of signals to indicate

  140. 4:30

    whether a poll request was in fact

  141. 4:32

    completely or largely AI generated or

  142. 27.6% of PRs had strong evidence of full AI authorship

    Gupta treats agent-written branch names or PR descriptions as signals of largely AI-generated PRs. Of the PRs Greptile reviewed in April, 27.6% had strong evidence of being fully vibed.

    Text in image
    27.6%
    
    of PRs in April had strong evidence of being fully vibed
    
    greptile
  143. 4:34

    not. And I came to the result that about

  144. 4:37

    a quarter of all the poll requests that

  145. 4:38

    Graal was reviewing in any given month

  146. 4:40

    were completely or at least largely

  147. 4:43

    generated by AI.

  148. Share of PRs with evidence of full AI authorship

    The share of merged PRs with evidence of full AI authorship rose from 0.86% in February 2025 to 27.6% in April 2026. Signals include bot authors, co-authored-by footers, and codex/ branch prefixes.

    Text in image
    [ FIG. 01 · SHARE OF PRs WITH EVIDENCE OF FULL AI AUTHORSHIP ]
    
    Y-axis: % OF MERGED PRs
    Y-axis ticks: 0%, 10%, 20%, 30%
    Timeline: Feb 2025, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, Jan 2026, Feb, Mar, Apr
    X-axis: MONTH
    
    0.86%
    27.6%
    
    monthly share
    PRs with bot author, co-authored-by footer, or codex/ branch prefix
    
    greptile
  149. 4:46

    Then I backtracked this data to the last

  150. 4:48

    12 months and it turns out that this

  151. 4:49

    number is growing really fast. In fact,

  152. 4:52

    early last year, fewer than 1% of pull

  153. 4:54

    requests had any evidence of being

  154. 4:55

    completely AI generated. So this number

  155. 4:57

    is going very very fast as model

  156. 4:59

    performance is getting better. What's

  157. 5:00

    also interesting is that you can't tell

  158. 5:03

    when new models came out on this chart.

  159. 5:05

    It seemed like the progress is very

  160. 5:06

    continuous. These things are just

  161. 5:08

    generally diffusing into the economy at

  162. 5:10

    a generally high pace.

  163. Are these PRs any good?

    Gupta turns to the quality of fully AI-generated pull requests, asking whether they are any good.

    Text in image
    Are these PRs any good?
    
    greptile
  164. 5:13

    So then came the next question.

  165. 5:14

    Everyone's vibe coding. Everyone's

  166. 5:16

    producing these PRs that are

  167. 5:17

    antiendentic. Not human plus AI but

  168. Are these PRs any good?

    Gupta turns to the quality of fully AI-generated pull requests, asking whether they are any good.

    Text in image
    Are these PRs any good?
    
    greptile
  169. 5:19

    literally AI. The question is are these

  170. 5:21

    PRs any good? First question, what does

  171. What does it mean for a PR to be good?

    Before judging AI-generated PRs, Gupta asks how to define a good pull request.

    Text in image
    what does it mean for a
    PR to be good?
    
    greptile
  172. 5:23

    it mean for PR to be good? That seemed

  173. 5:25

    like actually a very important question

  174. 5:26

    to answer before we got into judging

  175. 5:28

    these AI generated PRs. And so I took a

  176. Revert rates

    Gupta uses revert rates as a proxy for bad PRs, tracking GitHub branches named for the reverted PR. The example undoes a webhook change after production webhooks started double-firing.

    Text in image
    Method 1
    Revert rates
    
    A revert is a follow-up commit that undoes a merged PR — usually because it broke something in production.
    
    Pull requests · #4821
    merged
    Revert "feat: add idempotency keys to webhooks"
    opened by alex-h · 18 minutes after merge
    branch revert-4807-feat/idempotency-keys
    reverts #4807
    Reverts the changes from #4807. Production webhooks started double-firing 12 minutes after deploy.
    
    greptile
  177. 5:31

    few methods to try this. The first one I

  178. 5:32

    tried was revert rates. If a pull

  179. 5:34

    request reverted, it was probably pretty

  180. 5:36

    bad. And so that seemed like a pretty

  181. 5:40

    sincere sort of guess at what a bad PR

  182. 5:42

    could be. And so I started tracking,

  183. 5:44

    okay, which PRs were in fact reverted.

  184. 5:46

    GitHub conveniently names its branches

  185. 5:48

    with a revert dash PR number and PR

  186. 5:51

    name. And so I was able to track the

  187. 5:52

    rate at which these things were being

  188. Revert rates by author

    Codex had the lowest revert rate at 1.19 per 1,000 merged PRs; Devin had the highest at 3.50. Humans fell between the two at 2.72.

    Text in image
    Revert rates by author
    
    Codex  1.19
    Claude  1.80
    human  2.72
    Cursor BG  3.41
    Devin  3.50
    
    X-axis: REVERTS PER 1,000 MERGED PRs
    X-axis ticks: 0, 1, 2, 3, 4
    
    greptile
  189. 5:53

    reverted. And I found some interesting

  190. 5:55

    data. Codex PR is reverted about one out

  191. 5:58

    of every thousand poll requests. Devon

  192. 6:00

    once every three and a half times every

  193. 6:02

    thousand poll requests. Humans right in

  194. 6:04

    the middle at about two and a half. So

  195. 6:05

    there doesn't seem to be very big

  196. 6:07

    difference between the rate at which

  197. 6:08

    poll requests were reverted from people

  198. 6:09

    versus agents in my study. Now I was

  199. 6:12

    very skeptical of this and I figured

  200. 6:14

    okay this is probably because humans are

  201. 6:16

    making agents do the easier work the

  202. Revert rates by author

    Codex had the lowest revert rate at 1.19 per 1,000 merged PRs; Devin had the highest at 3.50. Humans fell between the two at 2.72.

    Text in image
    Revert rates by author
    
    Codex  1.19
    Claude  1.80
    human  2.72
    Cursor BG  3.41
    Devin  3.50
    
    X-axis: REVERTS PER 1,000 MERGED PRs
    X-axis ticks: 0, 1, 2, 3, 4
    
    greptile
  203. 6:17

    simpler well scoped pull requests and

  204. 6:20

    the more complex work was being done by

  205. 6:21

    humans and of course complex work had a

  206. 6:23

    higher propensity to be reverted because

  207. 6:24

    the poll requests were more complicated

  208. 6:26

    had larger surface areas risks and so

  209. 6:28

    on. So I decided to measure the average

  210. Revert rate by PR size

    Gupta compares reverts per 1,000 merged PRs: versus human PRs, AI-generated PRs are 12% higher for one file, tied for 2–3 files, and 17% and 28% lower for 4–10 and 10+ files.

    Text in image
    Revert rate by PR size
    
    Y-axis: REVERTS PER 1,000 MERGED PRs
    Y-axis ticks: 0, 1, 2, 3, 4
    X-axis: FILES CHANGED
    Legend: human; AI-generated
    
    1 file: human 2.99; AI-generated 3.36; +12%
    2–3 files: human 2.99; AI-generated 3.02; tied
    4–10 files: human 2.88; AI-generated 2.38; −17%
    10+ files: human 3.57; AI-generated 2.57; −28%
    
    greptile
  211. 6:30

    size of PR and whether the revert rates

  212. 6:33

    were sort of aligned for both of those

  213. 6:35

    and I found really interesting data.

  214. 6:36

    Turns out there's actually very little

  215. 6:38

    correlation, if any, between the size of

  216. 6:40

    PRs of humans were getting reverted

  217. 6:41

    versus size of PRs from agents that were

  218. 6:43

    being reverted. So this does not seem

  219. 6:45

    like actually very strong evidence that

  220. 6:47

    the human PRs are any better than the

  221. Greptile comments

    Greptile’s review comments provide a second signal of code quality. The examples contrast a P0 access-control issue with a P2 cosmetic date-formatting suggestion.

    Text in image
    Method 2
    Greptile comments
    
     greptile
    commented on auth/session.ts
    P0 · CRITICAL
    88  if (token === user.session_token) {
    89      return grantAccess(user, "admin");
    90  }
    
    String comparison on session tokens is vulnerable to timing attacks, and any authenticated user is granted admin scope. This will leak privilege the moment it ships.
    
     greptile
    commented on utils/format.ts
    P2 · NIT
    14  function formatDate(d) {
    15      return d.toString();
    16  }
    
    Consider using toLocaleDateString so the rendered date respects the user's locale. Cosmetic only.
    
    greptile
  222. 6:49

    agent PRs.

  223. 6:52

    The second set of signals I started

  224. 6:53

    looking at was Graile comments. Now, now

  225. 6:54

    Grapple is reviewing all these poll

  226. 6:56

    requests and Graile finds P 0's, P1's,

  227. 6:59

    P2s across all these changes and it

  228. 7:00

    seemed reasonable that if Grapile was

  229. 7:03

    finding more bugs in the code that the

  230. 7:05

    code was most likely worse. So then I

  231. 7:07

    started tracking the counts of P 0, P1's

  232. 7:10

    and P2s in all these changes. And

  233. Greptile comments on AI-generated PRs

    Three of four agents have fewer P0 comments than the human reference; two are below it for P1 and P2. Cursor BG is above the human reference in all three categories.

    Text in image
    Method 2
    Greptile comments on AI-generated PRs
    
    P0
    Devin 0.038
    Codex 0.041
    Claude 0.078
    Cursor BG 0.145
    human · 0.099
    
    P1
    Devin 1.47
    Codex 1.31
    Claude 2.34
    Cursor BG 2.83
    human · 1.94
    
    P2
    Devin 2.64
    Codex 2.81
    Claude 3.75
    Cursor BG 4.80
    human · 2.88
    
    greptile
  234. 7:12

    interestingly, once again, there was not

  235. 7:14

    that much of a difference. In fact,

  236. 7:16

    three out of the four agents that we

  237. 7:17

    tested performed better than humans in

  238. 7:20

    terms of the rate at which they were

  239. 7:21

    producing P 0. they were producing fewer

  240. 7:23

    P 0 than humans were. Similarly the case

  241. 7:26

    with P1's and P2s. Broadly speaking,

  242. 7:29

    human generated PRs were about equal in

  243. 7:32

    quality to agent generated PRs based on

  244. 7:33

    this data.

  245. Review rounds

    Greptile reviews a pull request, the agent addresses comments and pushes changes, and the cycle repeats until merge. The speaker tracks these rounds as a measure of iteration.

    Text in image
    Method 3
    Review rounds
    A round is a push-and-re-review cycle.
    
    Pull requests · #4832
    merged
    feat: add rate limit middleware
    opened by coding-agent · 3 rounds before merge
    coding-agent opened
    greptile reviewed
    coding-agent pushed
    greptile reviewed
    coding-agent pushed
    merged
    
    greptile
  246. 7:43

    have the agent go and look at those

  247. 7:46

    comments, address them, and make a new

  248. 7:47

    commit on the pull request branch. That

  249. 7:49

    is the most common way to use guptile.

  250. 7:51

    And so it seems reasonable that if the

  251. 7:52

    pull requests were higher quality, it

  252. 7:54

    would require fewer iterations before

  253. 7:56

    they would be merged. And so I started

  254. 7:57

    tracking the number of iterations, the

  255. 7:59

    number of review rounds between when the

  256. 8:01

    poll request was opened and when it was

  257. Number of review rounds

    Mean review cycles to merge ranged from 2.11 for Devin to 2.46 for Cursor BG and Codex, with humans at 2.21. Gupta describes the differences as small.

    Text in image
    Method 3
    Number of review rounds
    
    Author:
    Devin: 2.11
    Claude: 2.19
    human: 2.21
    Cursor BG: 2.46
    Codex: 2.46
    
    Mean review cycles to merge
    X-axis ticks: 2.0, 2.2, 2.4, 2.6
    
    greptile
  258. 8:02

    merged.

  259. 8:04

    Sure enough, very little difference.

  260. 8:06

    Devon's PRs 2.1, Codex PR is 2.45, four,

  261. 8:10

    five number of review cycles to merge

  262. 8:12

    and humans right in the middle. Once

  263. 8:14

    again, very little if any statistical

  264. 8:17

    difference between human generated and

  265. 8:18

    AI generated pull request in terms of

  266. 8:20

    how many iterations before they were

  267. 8:21

    ready to merge.

  268. Are agent-generated PRs bad in different ways?

    Gupta investigates whether agents fail differently from humans by scanning several million Greptile comments from recent months for terms such as SQL injection and N+1 query.

    Text in image
    Are agent-generated PRs bad in different ways than human-written PRs?
    
    Greptile
  269. 8:24

    So now that there wasn't any strong

  270. 8:26

    evidence that agent generated PRs were

  271. 8:28

    worse than human generated PRs, I got

  272. 8:30

    curious if there were qualitative

  273. 8:31

    differences. Maybe the types of ways in

  274. 8:33

    which agents failed were different from

  275. 8:34

    the types of ways that humans failed.

  276. 8:36

    And so then I looked at the corpus of

  277. 8:38

    reptiles comments. It makes on average

  278. 8:40

    about four comments per pull request. So

  279. 8:42

    we had this corpus of several million

  280. 8:44

    comments across the last several months.

  281. 8:46

    And so I started scanning them for

  282. 8:47

    specific phrases and words. For

  283. 8:49

    instance, SQL injection or N plus1

  284. 8:52

    query. And I plotted the frequency with

  285. 8:54

    which these terms occur in graphile

  286. 8:55

    comments for these various agents.

  287. Patterns of failure

    Greptile’s review-comment term frequencies vary by agent. For N+1 queries, Cursor BG reaches 3.45× the human baseline, while Devin is at 0.45×.

    Text in image
    Patterns of failure
    
    Claude | Codex | Devin | Cursor BG
    sql injection: 1.50× | 1.25× | 0.70× | 1.70×
    xss: 1.57× | 0.86× | 0.86× | 1.43×
    auth bypass: 1.50× | 1.00× | 0.50× | 1.67×
    IDOR / missing tenant check: 1.75× | 0.88× | 0.69× | 1.31×
    secret in logs: 1.34× | 1.34× | 0.94× | 1.65×
    n+1 query: 1.27× | 0.64× | 0.45× | 3.45×
    regression: 1.25× | 1.34× | 0.89× | 2.37×
    off-by-one: 1.64× | 0.55× | 0.64× | 2.27×
    test missing: 0.96× | 1.13× | 0.93× | 2.37×
    stale comment: 1.69× | 0.38× | 0.88× | 0.69×
    
    greptile
  288. 8:58

    And so I made this chart of patterns of

  289. 9:01

    failure.

  290. 9:03

    To interpret this chart, you can assume

  291. 9:05

    that 1x is the human propensity for

  292. 9:07

    producing that type of error across the

  293. 9:08

    entire chart. And you can kind of see

  294. 9:10

    that there's actually quite a lot of

  295. 9:12

    variation in the types of failures that

  296. 9:14

    these agents seem to produce. For

  297. 9:16

    instance, Claude is one and a half times

  298. 9:18

    more likely to produce a SQL injection

  299. 9:20

    error than humans. Devon is about half

  300. 9:23

    as likely as humans to produce a off

  301. 9:26

    bypass issue.

  302. 9:29

    I found it very interesting that there

  303. 9:30

    was this much variation in how these

  304. 9:31

    agents were performing and how different

  305. 9:34

    their failure modes were from humans.

  306. Autonomous agents are good, actually

    Despite his initial skepticism, Gupta says the evidence suggests end-to-end coding agents can probably contribute meaningfully in enterprise coding environments.

    Text in image
    Autonomous agents are good, actually
    
    greptile
  307. 9:38

    So it turns out that in spite of my

  308. 9:40

    initial skepticism around the enterprise

  309. 9:43

    usability of endto-end coding agents,

  310. 9:46

    the evidence seems to suggest that

  311. 9:47

    they're here and they probably can

  312. 9:49

    contribute in real meaningful ways to

  313. 9:51

    enterprise coding environments. And so

  314. 9:54

    we started to think a little bit more

  315. Code review needs to adapt for the agentic era

    Gupta says the median Greptile user writes 50 pull requests a month, versus 500 at the 90th percentile, and asks how code validation can scale to match.

    Text in image
    Code review needs
    to adapt for the
    agentic era
    
    greptile
  316. 9:55

    about what code review would look like

  317. 9:56

    in such a world. Here's an interesting

  318. 9:59

    stat. Today, Graal is used by several

  319. 10:01

    tens of thousands of engineers every

  320. 10:03

    single week to review all of their code.

  321. 10:05

    So, we also know generally speaking the

  322. 10:08

    number of pull requests that each of

  323. 10:09

    these people are writing. The median

  324. 10:11

    grubile user writes 50 pull requests a

  325. 10:14

    month. So, call it about two plus per

  326. 10:16

    workday. The 90th percentile writes 500

  327. Code review needs to adapt for the agentic era

    Gupta says the median Greptile user writes 50 pull requests a month, versus 500 at the 90th percentile, and asks how code validation can scale to match.

    Text in image
    Code review needs
    to adapt for the
    agentic era
    
    greptile
  328. 10:19

    poll requests per month. That is a

  329. 10:21

    drastic difference between the median

  330. 10:22

    and the P90. The P99 is in the thousands

  331. 10:25

    of pull requests. That is very

  332. 10:27

    interesting in its own sense because

  333. 10:28

    that means that the people on the

  334. 10:30

    margins are actually producing poll

  335. 10:31

    requests at the rate at which they're

  336. 10:32

    coming up with new ideas. And beyond

  337. 10:35

    being interesting, it also makes you

  338. 10:37

    wonder well there existing systems for

  339. 10:38

    validating this code which is manual

  340. 10:40

    code review of course testing maybe you

  341. 10:43

    have a QA firm that you work with

  342. 10:44

    naturally can scale to that same degree.

  343. 10:47

    And at Grav, we decided to take sort of

  344. 10:48

    a first principles view at what really

  345. 10:50

    good validation could look like. Instead

  346. 10:52

    of saying that we wanted to automate QA

  347. 10:53

    or automate testing or automate code

  348. 10:55

    review, we took a step back and said,

  349. 10:57

    what would we need to do for anyone to

  350. 10:59

    be able to merge hundreds of pull

  351. 11:01

    requests a month in an enterprise

  352. 11:02

    environment where it really matters that

  353. 11:04

    the code is correct? What would need to

  354. 11:06

    happen between when the code was

  355. 11:07

    expressed into a pull request and when

  356. 11:09

    it was merged and deployed safely? We

  357. 11:11

    figured we only actually had to answer

  358. 11:13

    three questions. The first one is does

  359. 11:15

    this change violate the user contract?

  360. 11:17

    The second one, does it increase the

  361. Code review needs to adapt for the agentic era

    Gupta says the median Greptile user writes 50 pull requests a month, versus 500 at the 90th percentile, and asks how code validation can scale to match.

    Text in image
    Code review needs
    to adapt for the
    agentic era
    
    greptile
  362. 11:19

    propensity of a future violation of the

  363. 11:21

    user contract, whatever the user

  364. 11:22

    contract might be for that application?

  365. 11:24

    And third, does it fulfill the intent

  366. 11:26

    that the author described? Did the poll

  367. 11:28

    request do the thing that the author

  368. 11:29

    wanted to do? And so we started

  369. 11:32

    approaching this problem from base

  370. 11:34

    ground level and said, okay, agents can

  371. 11:36

    probably figure out if something's going

  372. 11:38

    to violate the user contract and detect

  373. 11:40

    bugs. If you let it spin up the code in

  374. 11:42

    a sandbox, have it install the

  375. 11:44

    dependencies, mock the inputs, run the

  376. 11:46

    browser agents, you can probably start

  377. 11:47

    to discover most of the issues that

  378. 11:50

    could occur, you get a pretty high

  379. 11:51

    degree of confidence on merge. Today,

  380. 11:54

    almost a fifth of all the poll request

  381. 11:55

    or gravile reviews are merged without

  382. 11:57

    any human review or without any human

  383. 11:58

    testing, which I find very interesting

  384. 12:00

    and that is a number that we care a lot

  385. 12:01

    about and want to bring higher and

  386. 12:03

    higher, of course, within the guard

  387. 12:04

    rails of producing really high quality

  388. 12:06

    code.

  389. Daksh Gupta

    Greptile co-founder Daksh Gupta closes the talk and thanks the audience.

    Text in image
    Daksh Gupta
    
    greptile
    
    [redacted] · X [redacted]
    
    25 / 25
  390. 12:10

    Thank you so much. My name is D, one of

  391. 12:12

    the co-founders of Graptile. We have a

  392. 12:13

    booth here which you should come to. And

  393. The AI Code Reviewer

    Greptile invites attendees to visit its booth. Gupta also offers a free trial and asks for feedback.

    Text in image
    greptile
    
    The AI Code Reviewer.
    
    Visit our booth or reach us at sales@greptile.com
  394. 12:15

    if you're interested in trying Graptile,

  395. 12:17

    you can find us at gretile.com and try

  396. 12:19

    it today for free. And we'd love to hear

  397. 12:22

    your feedback. Thank you so much.

  398. AI Engineer World's Fair

    AI Engineer World's Fair title in white on a black background.

    Text in image
    AI Engineer
    World’s Fair
    
    HTTPS://AI.ENGINEER