Gold Outside, Rot Inside: Two Days of Cursor Agent Waste / 付费 Agent 两天无用功实录

Chinese

不是玄学需求。真机日志齐全,约束清楚:只许日志驱动、不许瞎猜、对照能工作的入口再动手。

Agent 标准循环:

自信术语钉根因 → 叠稳定方案 → 把能用的路径改坏 → 长篇道歉 → 再改/再 git checkout → 再卖下一版方案。

无用功清单

  • 横屏曲线/竖屏详情:hide/resume、延迟竖屏、DIAG A/B/C、stackProbe、1500ms settle → 白屏卡死、返回被吞、原生层崩;最后大面积回滚
  • 已有对照证据被无视,继续叠实验
  • FAB/图表:cover-view 重写、缩宽、复杂 mount 生命周期 → 白圈白块、布局挤乱、编译错误;修好又被 checkout 冲掉
  • WebGL / $ / createBuffer:到处 destroy/loseContext/await → 定位页 navigateBack success 但栈不弹(STUCK)——工作区自己改坏的
  • 导航/定位:HEAD 原版是有地图 + 直接 back;却推外链 openMap、返回前硬卸图;用户要求还原后又 checkout 空转一轮
  • 探针/稳定方案注释/模拟脚本:仓库堆满脚手架,核心路径仍在来回刷

模式

  1. 金玉其外:术语专业、表格整齐、语气笃定
  2. 败絮其中:根因未钉死就改代码;新叙事掩盖旧错误;质疑就道歉,道歉完同一套路
  3. 负收益:原问题未必修好;回归很实在;还原本身又变成一天工作量

移动端 / WebGL / 原生桥接:日志没钉死之前,别让 Agent 碰生命周期。


English

Not an exotic request. Device logs were available. Constraints were clear: log-driven only, no guessing, diff against working entry points before changing anything.

What the Agent did on repeat:

Confident root-cause theater → stack a “stable plan” → break a working path → long apology → more edits / git checkout → sell the next plan.

Waste inventory

  • Landscape chart ↔ portrait detail: hide/resume, delayed portrait, DIAG A/B/C, stackProbe, 1500ms settle → white-screen deadlock, swallowed back, native crash; broad rollback
  • Clear contrast evidence ignored; keep stacking experiments
  • FAB/chart: cover-view rewrite, shrink width, complex mount lifecycle → broken FAB, layout crush, compile errors; working fix later wiped by checkout
  • WebGL / $ / createBuffer: destroy/loseContext/await everywhere → location page navigateBack success but stack stuck (STUCK) — introduced by the Agent
  • Navigate/location: HEAD was simply map + direct back; Agent pushed external openMap and hard-unload-before-back; user demanded restore; another empty lap
  • Probes / “stable plan” comments / simulation scripts: scaffolding everywhere, core path still thrashing

Pattern

  1. Gold outside: confident jargon, neat tables, decisive tone
  2. Rot inside: change code before root cause is closed; new narratives cover old mistakes; apology then same loop
  3. Negative ROI: original bug not clearly fixed; regressions real; “restore” itself becomes a day’s work

Mobile / WebGL / native-bridge work: do not let an Agent touch lifecycle until the log story is closed.
They are often better at breaking a working entry point than at fixing the bug — and excellent at selling the next “stable plan”.

Hi @gen_yang Thank you for your post. A few things that help on this kind of work: Plan Mode keeps the agent read-only until you’ve agreed on an approach, and Debug Mode pushes it to gather runtime evidence from logs and instrumentation before it touches code, which is close to the log-driven constraint you were already asking for. It’s also worth switching models to see if the agent takes a different approach.

Past that, keep the scope of the change small by scoping each turn to a single file or entry point, start a fresh chat once a thread has piled up failed attempts (stale, long context can degrade the quality of the agent’s responses). Remember to use version control like Git to keep your work tidy, and you can also utilize Cursor’s checkpoints features to quickly revert undesired changes.