Glean 拾遗
Recent picks

2picks · chronological

07-18

What we’ve learned building cloud agents

Cursor shares one year of lessons from building cloud agents. The biggest takeaway: a cloud agent's output quality depends almost entirely on having a full development environment. Unlike local agents that inherit your laptop's environment, cloud agents need it reconstructed from scratch. This led to building VM hibernation/resumption pipelines, checkpoint/restore/fork mechanisms, secret redaction, network policies, and credential management — essentially enterprise IT for agents. For reliability, early work-stealing architecture managed only one 9 of uptime. Migrating to Temporal's durable execution framework pushed past two 9s, handling over 50 million actions per day across 7 million+ unique workflows, with 40%+ of Cursor's own PRs now coming from cloud agents. Critical architectural decision: decoupling agent loop, machine state, and conversation state allows agents to run across different pod types and subagents to outlive parents. Another insight: as models improve, move logic out of the hardcoded harness into tools the agent controls (e.g., GitHub CLI, Playwright). The post also discusses current harness for computer use and future self-healing environments (autoinstall).

cursor.com · 11 min · Agent Architecture · Agent Infrastructure · Agents
07-05

Loop Engineering: What Comes After the Loop

This article argues that naive agent loops relying on LLMs for autonomous decision-making have hit four fundamental walls: plans that rot in the context window, unbounded retries (no distinction between hard and impossible), self-written tests that pass wrong answers (maker-votes-checker), and actions that cannot be replayed. The author demonstrates with runnable code: the same model in a naive loop returns 747 (ground truth 615) with SUCCESS, while a graph harness with a verifier gate returns exactly 615, rejecting 12 corrupted outputs and absorbing 51 tool errors with fewer calls. Four properties fill these walls: explicit dependencies (plan as static graph, not remembered text), bounded recovery (fixed staircase: retry→patch→replan), immutable append-only log (hash-chained, replayable for audit), and a verifier gate (output must pass an independent check node, maker cannot talk past). The twist: frontier frameworks now have the model itself draw the graph of what to do (Anthropic dynamic workflows), while durable state, logging, and verification are infrastructure, not reasoning, and are used even by minimalists. The honest brake: most loops today don't need a graph yet—pick the one wall that cost you this week and close it with a single property.