FastEdit replaces the native edit tool's {old_string, new_string} payload with a symbol-targeted snippet that omits the unchanged surrounding code. Benchmarked across 176 fixtures in 13 languages.
The calling model writes replace=name. FastEdit resolves the target via tree-sitter AST — no anchor prose required.
Deletes, whole-function replaces, and moves resolve in pure AST. No merge-model invocation for 3 out of 4 edits — instant latency, 0 merge-model tokens spent.
Every language clusters in the 40–56% band. FastEdit's advantage comes from dropping the old-code echo — proportional to unchanged context, not to syntax family.
| lang | n | native | fastedit | savings % |
|---|
| bucket | n | savings % |
|---|
Savings are consistent across small, medium, and large edits — with medium-size fixtures (80–160 tokens of native payload) peaking slightly. FastEdit's advantage comes from dropping the old-code echo, proportional to unchanged context rather than to absolute function size.