粘日志 / 堆栈 · 拿回根因分析 + 修复 patch

把报错贴进来,Agent 就开干 —— 翻 GitHub issues 和搜索引擎找有没有人遇到过、在隔离环境里一步步把 bug 复现、写出修复并跑测试。整个流程 5–10 分钟,不会再吃掉你大半个值班班次。

看一眼你能拿到什么

摘要
1 页 / 共 4·摘要
复现过程
2 页 / 共 4·复现过程
根因分析
3 页 / 共 4·根因分析
修复 patch
4 页 / 共 4·修复 patch

三个 Agent · 同一次排查

值班同学拿到一份报告 —— 背后是三个 Agent 在干活。Researcher 翻 GitHub issues 和文档;Coder 在沙盒里复现 bug;Reviewer 写 patch + 跑测试。交接自动完成,全部审计痕迹合并成一份文档。

工单 · Lumen trace 摄入 P99 飙升
严重程度:HIGH · 3 个 Agent · 7 分 14 秒
已出 PATCH
调研 Agent
调研
在公开网络 + GitHub 上找类似案例
web_search"Lumen trace 摄入超时"
github_issues3 条类似 issue · 2 已关闭
read_docsopentelemetry · batch-processor
只读 · 公开网络 · 不动 repo
复现 Agent
复现
在隔离沙盒里把 bug 复现出来
git_cloneacme/lumen-sdk · main
run_shellpnpm install · 142 deps
run_pythonbuild_minimal_repro.py
run_shell抓到堆栈 · 187 行
只在沙盒 · clone 的 repo · 不接生产
修复 Agent
修复
写 patch · 加回归测试 · 跑全套测试
read_filesrc/ingest/batch.ts
edit_file加 nil-check + 重试
run_shellpnpm test · 14 pass / 0 fail
format_patchgit diff > rca.patch
只改沙盒文件 · 产出 diff产出
Lumen-trace-摄入-RCA-2026-05-11.pdf
420 KB

修复 · 可以直接开 PR

你拿到的就是资深同事会丢给你的那种交付 —— unified diff,约 25 行,修了一个漏掉的 null check + 加了 buffer 上限,再加一个回归测试。干净 apply 到你的分支就行。

src/ingest/batch.ts
+18 −3
diff --git a/src/ingest/batch.ts b/src/ingest/batch.ts
index 1f4a2e3..a98bc55 100644
--- a/src/ingest/batch.ts
+++ b/src/ingest/batch.ts
@@ -42,12 +42,18 @@ export class BatchProcessor {
private async flush(spans: Span[]): Promise<void> {
const exporter = this.exporters[this.activeIdx];
- const payload = serialize(spans);
- await exporter.send(payload);
- this.buffer.length = 0;
+ if (!exporter) {
+ this.log.warn('no active exporter; dropping batch');
+ return;
+ }
+ const clamped = spans.slice(0, MAX_BATCH_SPANS);
+ const payload = serialize(clamped);
+ await this.sendWithRetry(exporter, payload);
+ this.buffer.length = 0;
}
+ private async sendWithRetry(
+ exporter: SpanExporter,
+ payload: Uint8Array,
+ ): Promise<void> {
+ for (let attempt = 0; attempt < 3; attempt++) {
+ try { await exporter.send(payload); return; }
+ catch (err) { await sleep(150 * (attempt + 1)); }
+ }
+ }
复制 diffrca.patch贴进 PR新增 1 个回归测试 · 14 / 14 通过
rca.patch·3.4 KB · 干净 apply 到 main

它怎么工作

步骤 01

把报错丢进来

纯文本、JSON、长串堆栈,粘进来或上传都行。语言、框架、报错最可能出在哪一块,Agent 自己会判断。

步骤 02

告诉 Agent 排查到什么程度

只想知道严不严重?还是要真修复?还是要一个能稳定失败的测试?在对话里说一句就行,Agent 会按你要的深度去跑。中途打断、改方向都行。

步骤 03

拿到报告 + 修复

Agent 在后台并行干活 —— 查前人案例、复现报错、写修复。你拿回一份 4 页 PDF(摘要 / 复现过程 / 出了什么问题以及为什么 / 修复方案)+ 一个能直接贴进 PR 的 patch 文件。一般 5–10 分钟。

为什么用 Vecbase 做这件事

它真的会去复现这个 bug

ChatGPT 会告诉你"大概可能哪里有问题"。这里的 Agent 会把 repo clone 到隔离环境里,锁版本、跑出失败路径,把 bug 抓到手了才动手写修复。不靠猜。

引用真的 GitHub issue,不是凭印象编

Agent 会去翻 GitHub issues、Stack Overflow、上游 changelog、官方文档。报告里每一句话都能点回真实 URL 和访问时间戳 —— 不是模型瞎编 "看起来像 issue #1284"。

修复直接给到你 · 贴进 PR 就行

产出一个 patch 文件,可以干净地 apply 到你的分支上;外加一个 main 上失败、应用修复后通过的新测试。你只负责 merge,敲键盘的活 Agent 干了。

整次排查就是一份能复盘的文档

每次搜索、每条命令、每次文件编辑都自动归档到你的 Drive。半年后把报告丢给一位资深同事,他能完整复盘当时发生了什么 —— 不用再去翻 Slack 考古。

常见问题

目前 Node.js / TypeScript、Python、Go、Rust、Java/Kotlin、Ruby 这几条主流栈覆盖了绝大多数实际情况。沙盒里已经预装好标准包管理器(npm / pnpm / pip / uv / go / cargo / gradle / bundler),切语言基本零成本。碰到比较冷门的栈,Agent 会先在对话里问一下再继续,不会自己一头扎进去。

90 秒内,拿到你的成品

登录后把任务交给 Agent —— 成品自动落到你的 Drive。