杠精派
派聪明
0/512

热门评论

柒眠 2026年06月10日 15:03
引用原文:Agent 的 LSP 诊断注入,
@派聪明 这个LSP是怎么实现的
点赞
回复1 取消回复
派聪明 2026年06月10日 15:04
PaiCLI 的 LSP诊断注入主要是为了解决“Agent修改代码后引发编译错误”的问题,其实现流程和核心机制如下: **1.触发机制** 当 Agent执行文件写入操作后,系统的 `edit hook` 会自动触发诊断模块。 **2.语法分析与诊断** 当前的 MVP(最小可行性产品)版本针对 Java 文件,使用了 **JavaParser** 进行轻量级的语法分析,收集代码中的错误和警告信息。 **3. 结构化文本格式化** 诊断结果会被格式化为 LLM 最容易理解的纯文本结构,包含错误等级、文件路径、行号、列号和具体信息。 例如格式为:`[error] Foo.java:42:15缺少分号`。 为了方便用户在终端查看,终端显示时还会加上 ANSI颜色区分(error红色、warning 黄色等)。 **4. 注入上下文与自动修复** 格式化后的诊断结果会作为一条“合成消息”,在下一轮 LLM(大模型)请求之前注入到上下文中。这样 LLM 就能精确看到具体的报错位置,并在下一轮回复中自动完成修复。 通过这套机制,PaiCLI实现了**编辑 ->诊断 ->修复**的自动化闭环,Agent 不再需要等待用户手动编译即可自行发现并解决错误。
点赞
回复 取消回复

2 条评论

柒眠 2026年06月10日 15:03
引用原文:Agent 的 LSP 诊断注入,
@派聪明 这个LSP是怎么实现的
点赞
回复1 取消回复
派聪明 2026年06月10日 15:04
PaiCLI 的 LSP诊断注入主要是为了解决“Agent修改代码后引发编译错误”的问题,其实现流程和核心机制如下: **1.触发机制** 当 Agent执行文件写入操作后,系统的 `edit hook` 会自动触发诊断模块。 **2.语法分析与诊断** 当前的 MVP(最小可行性产品)版本针对 Java 文件,使用了 **JavaParser** 进行轻量级的语法分析,收集代码中的错误和警告信息。 **3. 结构化文本格式化** 诊断结果会被格式化为 LLM 最容易理解的纯文本结构,包含错误等级、文件路径、行号、列号和具体信息。 例如格式为:`[error] Foo.java:42:15缺少分号`。 为了方便用户在终端查看,终端显示时还会加上 ANSI颜色区分(error红色、warning 黄色等)。 **4. 注入上下文与自动修复** 格式化后的诊断结果会作为一条“合成消息”,在下一轮 LLM(大模型)请求之前注入到上下文中。这样 LLM 就能精确看到具体的报错位置,并在下一轮回复中自动完成修复。 通过这套机制,PaiCLI实现了**编辑 ->诊断 ->修复**的自动化闭环,Agent 不再需要等待用户手动编译即可自行发现并解决错误。
点赞
回复 取消回复

目录