Warp 自进化 Agent:Improver 改 Skill 走 Git PR (Xudong Han)
Source metadata
- Author: Xudong Han (@Xudong07452910)
- Platform: X (Twitter)
- Date posted: 2026-08-28 (Fri, 28 Aug 2026 01:15:00 GMT)
- URL: https://x.com/Xudong07452910/status/2093145288672158204
- Status ID:
2093145288672158204 - Engagement at fetch: Likes=125, Reposts=24, Quotes=1, Replies=7, Bookmarks=182, Views=8820
- Quoted Warp post: https://x.com/warpdotdev/status/2093019984993595698
Post body
Claude 发文推荐 Warp 这套「自进化 Agent」做法,我觉得很值得看。
Agent 每次干完活,人类正常给反馈。另一个 Improver Agent 会定期把这些反馈捞出来,看它哪里反复犯错,再对原来的 Skill 提一个小修改。
修改直接走 Git PR,人 Review、Merge 以后,下一次 Agent 就会带着这次经验继续工作。
Warp 已经把这套机制用到了 Code Review、写 Spec 和 GitHub Issue Triage。
我觉得比较有趣的一点是,他们没有把学习理解成不停往 Prompt 里塞规则。
反馈最好告诉 Agent「为什么错」,Skill 也要保持小,只沉淀真正能复用的原则。
这种自进化其实很朴素:
Agent 干活 → 人纠正 → Agent 总结 → 修改自己的 Skill → 下一次少犯一次。
很多 Agent 现在缺的可能就是这个循环。
每次 Session 都积累了大量反馈,但下一次又像第一次来上班一样。
文章
Follow-up from the same author
warp的官推也发帖介绍了自己的自进化loop👇
Quoted Warp (@warpdotdev) — Thu, 27 Aug 2026 16:57:05 GMT — https://x.com/warpdotdev/status/2093019984993595698
Introducing self-improvement loops.
The concept is simple: what if agents could improve Skills by reviewing past conversations?
Here's the three step loop:
- Score conversations from criteria you define
- Isolate failures
- Generate skill improvements
Linked essay 1 (full text)
Source: https://www.warp.dev/blog/self-improvement-loop-for-skills
Title: How to build a self-improvement loop for your Skills
Author: Zach Lloyd
Date: June 16, 2026
There's been a lot of chatter about using "loops" lately to drive agents, and I think this has been accompanied by a bit of "what actually is a loop"?
I can't speak for everyone else using the term, but I wanted to show a practical approach using Skills and cloud agents for a particularly powerful kind of loop: a self-improvement loop.
This is the idea that an agent can improve the quality of its own Skills over time from external feedback. My example is a loop that involves a human feedback step, but if you have a clear goal that doesn't require a human, you can use the same method with an automated grader.
To make matters concrete, say this Skill does issue triage, separating incoming issues into a few buckets: ready-to-implement, duplicate, needs-info. This would also work for a code review Skill, a bug fixing Skill, an incident response Skill, and so on.
Here's what a first draft of the Skill might look like:
Full triage-issue Skill
What you need to do is set up the following loops:
- An inner agent loop: this is where you actually apply the Skill. For issue triage, you could be running it manually, or, more likely, you have an integration with your task tracker that runs the Skill whenever a new issue is filed. Interactions with the Skill are recorded somewhere: in a file, an agent trace, or an interaction in an external system like Slack or Github.
- An outer agent loop: this is an agent that runs on a schedule and observes the inner loop use of the Skill. For the issue triager, this will likely be a cloud agent that pulls records of every time the Triage agent ran. Its job is to look at all the runs of the inner agent and adjust its Skill based on the performance of those runs. Since Skills are just files, this means it should make a diff to improve Skill based on user feedback from past runs.
I'll show you how to do this in practice using Warp and Oz, our cloud agent platform, but there are lots of ways you can accomplish it. We will use Github Issues as the issue tracker.
Here is a sample repo with the Skills and GitHub workflows to follow along: https://github.com/warpdotdev-demos/issue-triage-loop
Step 1: set up the inner agent loop
The inner agent loop uses a Github action that runs on every new issue created.
The Github action invokes a cloud agent through Oz, Warp's cloud agent platform. This cloud agent syncs the repo, pulls in the issue contents from github, and tries to classify it. The code on how to set this up is in the repo linked below.
Now when a new issue comes in, a cloud agent runs the inner loop triaging skill, and applies a label indicating that a new feature request is ready to implement.
Step 2: set up the outer loop for self-improvement
Let's say though that a human reviewer doesn't agree with the agent assignment. As a person looking at the agent's assigned labels, I switch the issue from "ready to implement" to "needs info" and add a comment on the thread as to why it was miscategorized, e.g. because there is ambiguity on whether we should add a setting for the new feature.
Here's where the outer loop becomes interesting. The outer loop agent runs once a day and looks at all issues that have been triaged, and when it runs, it will find that I manually adjusted the label and gave a reason why.
Full improve-triage-issue Skill
Since the outer loop agent Skill is run through a coding agent, it will take the feedback I provided and make a diff to update the triage Skill.
Once that diff merges, it feeds back into Skill that drives the inner loop agent, and the next time the agent runs the Skill should work better.
Would love to know if this is useful for folks. We use self improvement loops to manage the Warp open-source repository, and we extracted the framework behind it for others to adopt. Early version here.
Linked essay 2 (full text)
Source: https://www.warp.dev/articles/self-improvement-loop-software-factory
Title: What Goes Into a Self-Improvement Loop for a Software Factory?
Author: Warp
Date: August 24, 2026
A self-improvement loop in a software factory pairs scorers that grade finished agent runs against a rubric with observer agents that look for patterns across those grades, then writes the findings back into the factory's own code-based definition — its model choices, context, and skills — so the next run performs better than the last.
Why a factory needs to close the loop, not just run
Standing up a software factory moves triage, implementation, review, and verification off a person's plate — that's the automation half. The improvement half is different: it requires a closed-loop system that can look at what its own agents did, decide whether that was good, and change itself in response.
This is why factory metrics sit alongside DORA metrics rather than replacing them. DORA — deployment frequency, lead time for changes, change failure rate, mean time to restore — measures externally visible delivery. Factory metrics measure the inner loop that produced it: how many runs a task took, what they cost, how much human touch they needed. You only get factory metrics if a Warp factory — or any comparable closed-loop system — is capturing that trace to begin with; a set of interactive agents running on individual laptops leaves nothing comparable to grade.
The three components of a self-improvement loop
A working loop needs three distinct pieces, and it's easy to build only the first and call it done.
Scorers grade a finished run — the full conversation trace of a triage, implementation, or review agent, plus any human interaction with it — against a rubric. The grade can come from a human, from deterministic code, or from another agent acting as judge. Warp Factories ships default scorers for correctness, cost efficiency, and verbosity, but a Warp factory can define its own: did triage route the ticket to the right team, did it decide correctly whether a spec was needed.
Observers decide where scorers run: on what percentage of runs, on what cadence, batched how. Score every run and coverage is complete but expensive; sample and the signal gets cheaper and noisier. A common default is a fixed cadence — every few hours — rather than scoring continuously.
Self-improvement agents are the piece teams most often skip. Given a batch of scored runs — say, 100 graded runs of a triage agent — a self-improvement agent looks across them for where low scorers went wrong or high scorers did something worth keeping, and distills that into a pattern rather than an average.
How a scored run becomes a factory change
- An agent run completes and its trace, plus any human interaction, is captured.
- A scorer grades the run against a rubric — human, code, or LLM-as-judge.
- Scored runs accumulate by agent and by dimension.
- A self-improvement agent reviews a batch and identifies the pattern behind the failures or the wins.
- Because a Warp factory is defined as code, the fix comes back as a diff — a changed model choice, a rewritten skill, added context — against the factory definition itself.
- A human reviews and merges the change like any other PR.
- The next batch of runs is scored against the new baseline.
Step 5 is what separates a self-improving loop from a self-reporting one. A scorer dashboard tells you something is wrong; a mergeable diff tells you what to do about it.
Where the loop lives across software factory providers
| Provider type | Example | Who defines the rubric | Can you inspect or edit the loop | Where the fix lands |
|---|---|---|---|---|
| Factory infrastructure | Warp Factories | You — default and custom scorers | Yes, the factory is your own version-controlled code | A diff against your factory definition, reviewed like any PR |
| Vertically-integrated factory product | Factory.ai | The vendor, inside its hosted product | No — quality logic lives in their service, not yours | The vendor's roadmap, on their release schedule |
| Point-solution automation | Greptile | The vendor, scoped to its one stage | Partially — you see the output, not the scoring internals | The vendor's product updates |
| Interactive coding agent | Cursor, Claude Code, Codex | No factory-wide rubric — each session stands alone | Not applicable — no loop persists across sessions | Nothing to diff; every session starts fresh |
The pattern: a self-improvement loop needs somewhere for its fixes to land that you control. A hosted product can absolutely get better over time — but that improvement is the vendor's, running on their schedule, not a loop pointed at your own priorities.
What most teams get wrong
The most common failure is building the scorer and stopping there. A rubric that grades every run but never feeds a self-improvement agent is a monitoring dashboard, not a loop — it reports that triage is misrouting 15% of tickets without ever proposing a fix.
The second is scoring everything from day one. Scorers cost money to run; most factories get more signal per dollar sampling a percentage of runs on a fixed cadence and expanding coverage only where a metric looks off.
The third is keeping the factory definition itself outside version control. If the skills, context, and model choices an agent uses aren't code, a self-improvement agent has nothing to open a diff against — the loop has no mechanism to close, regardless of how good the scoring is.
Signs a self-improvement loop is actually working
- The automation share for a given agent moves over successive quarters — not just the raw count of runs.
- Fixes arrive as reviewable diffs against the factory definition, not as a slide in a retro that nobody actions.
- A rubric catches a specific, named failure mode before a human flags it in review.
- Coverage expands on purpose — you added a scorer for a new dimension — rather than by accident, where you're just scoring more of the same thing.
If none of those are true yet, the loop hasn't closed — you have a scorer, not a self-improvement system.