# 第三章 工具与环境

> 语言服务器与命令行代理:扩展语义感知与压缩上下文噪声

---

LLMS 索引： [llms.txt](/llms.txt)

---

在人机协同编程中,大模型并不具备直接观察代码物理世界的感官,它与代码库的交互完全依赖两条协议通道:一是通过文件检索与解析获取符号拓扑,二是通过终端执行命令获取编译、测试与版本控制的反馈。

通道的信噪比与信息密度,直接决定了 Agent 的推理上限与任务达成率。

未经治理的通用终端交互存在两大根本性瓶颈:

1. **盲目的文本正则搜索与虚幻的符号拓扑**:若仅依赖 `grep`、`find` 等字符串工具,模型无法感知 Go 的 AST 语法树、隐式接口实现与包级作用域。重构大型工程时,同名字段与跨包引用的误判,极易诱发级联式幻觉;
2. **失控的终端噪声与注意力崩塌**:执行 `go test -v`、`git diff` 或依赖扫描时,控制台倾泻的数千行非结构化文本(重复的 PASS 标记、进度条与环境指标)会瞬间吞噬模型的上下文窗口,造成严重的注意力漂移与推理劣化。

在人机协同开发时代,构建高质量工程环境的核心任务,就是为模型重构交互界面--通过语言服务器协议(LSP)向模型注入精准的编译期语义感知,同时通过轻量代理过滤 90% 以上的终端冗余噪声,保持会话上下文的高信噪比与极低认知摩擦。

---

本节页面：

- [Go MCP:用编译器内省取代文本检索](/ai-book/03-tools-and-constraints/01-gopls-mcp/): 基于 LSP 与 AST 消除文本检索幻觉与上下文冗余
- [rtk: 过滤终端噪音,守护推理视界](/ai-book/03-tools-and-constraints/02-rtk/): 消除终端动态噪音与冗余文本,维持高信噪比与 Prompt 缓存命中
