今日已更新 308 条资讯 | 累计 38585 条内容
关于我们

From write/edit to automatic feedback: How SolonCode closes the LSP loop

Solon Framework 2026年09月02日 14:56 0 次阅读 来源:Dev.to

A coding agent can write syntactically plausible code and still leave a broken project behind. The obvious answer is to give the agent an lsp tool and let the model ask for diagnostics whenever it wants. SolonCode tried that shape first. The implementation put navigation and diagnostics in one tool, but diagnostics were effectively never requested. That result is not surprising: after a write, “check whether this introduced errors” is not an optional curiosity. It is part of the write operation’s feedback loop. SolonCode’s current design makes that distinction explicit: write and edit trigger diagnostics automatically after a successful change. read warms the language server asynchronously without delaying the read. The lsp tool is reserved for optional navigation such as definition, references, hover, symbols, and call hierarchy. The interesting engineering is not starting a language server. It is keeping the file, the language server, the model, and the Web UI consistent while all four observe different representations of the same change. Diagnostics should follow a write, not a model decision The implementation note in the repository describes the original failure plainly: ten capabilities—nine navigation operations plus diagnostics—were exposed through one tool, and diagnostics were “never called” in practice. That led to a three-layer design: write / edit / apply_patch -> sync the file -> wait for diagnostics -> append diagnostics to the tool output read -> warm up the language server asynchronously -> do not wait and do not change the read result lsp -> definition / references / hover / symbols / call hierarchy ... This is a useful rule for agent design: feedback that is necessary to evaluate a mutation belongs on the mutation path. Exploratory information can remain an explicit tool. The separation also keeps the tool schema smaller and the model’s decision burden clearer. The model does not need to remember a second call after every edit just to discover whe

本文内容来源于互联网,版权归原作者所有
查看原文