Sentrux:AI 写代码不能只看 diff,还要有架构传感器

作者:Administrator 发布时间: 2026-04-29 阅读量:5 评论数:0

AI Agent 写代码最容易让人上头。头几天,功能像开闸一样往外冒;再过几天,项目里开始出现幻觉函数、错位依赖、循环引用、God 文件。不是模型突然变笨了,而是代码库本身开始失去结构。

Sentrux 值得看的地方,不是又多了一个静态分析工具,而是它试图给 Coding Agent 补一个反馈器官:在 Agent 动手前、动手中、动手后,都能看到代码库的结构健康度。

项目地址:https://github.com/sentrux/sentrux

它不是 lint,而是结构传感器

lint 更关心格式、语法、局部坏味道。Sentrux 更关心架构层面的变化:模块是否还像模块,依赖是不是开始打环,复杂度是不是集中到少数文件,重复和死代码有没有扩散。

它用 Tree-sitter 解析代码结构,把文件、import、调用关系抽成图,再给整个代码库算一个质量信号。这个分数不是为了好看,而是给 Agent 一个可以回读的反馈:这次改动让系统更健康,还是更乱。

为什么 Agent 需要这种信号

人类工程师改代码时,多少会有一点空间感:这个模块别碰太大,那个公共函数影响面很宽,某个文件已经快变成垃圾桶。Agent 没有这种直觉。它看到的是局部上下文、工具返回和当前任务目标。

所以它很容易完成眼前任务,同时破坏长期结构。

Sentrux 的闭环可以理解成这样:

Sentrux 扫描代码库
→ 输出质量信号和瓶颈
→ Agent 根据瓶颈制定修改计划
→ Agent 改代码
→ Sentrux 再扫描
→ 如果分数下降,回到修正阶段

这比“让 Agent 自己反思一下”硬多了。反思是语言,质量信号是约束。

最小上手路径

macOS 可以直接装:

brew install sentrux/tap/sentrux

Linux 可以走安装脚本:

curl -fsSL https://raw.githubusercontent.com/sentrux/sentrux/main/install.sh | sh

也可以用 Rust 工具链从源码构建:

git clone https://github.com/sentrux/sentrux.git
cd sentrux
cargo build --release

装完先别急着追求满分。更实用的做法是把它放进一个正在被 Agent 修改的项目里,先跑三件事:

sentrux check .
sentrux gate --save .
sentrux gate .

第一条做规则检查,第二条保存 Agent 会话前的基线,第三条在会话后比较结构是否退化。

MCP 才是它最适合的位置

如果只给人看 GUI,Sentrux 是一个架构可视化工具;如果接进 MCP,它就变成 Agent 工作流的一部分。

Claude Code 可以通过插件方式安装:

/plugin marketplace add sentrux/sentrux
/plugin install sentrux

其它 MCP 客户端可以按服务器方式配置:

{
  "mcpServers": {
    "sentrux": {
      "command": "sentrux",
      "args": ["--mcp"]
    }
  }
}

这样 Agent 可以在修改前查询 quality signal、bottleneck、rules、session diff,而不是改完以后才由人发现“这坨又长歪了”。

分数不是目的,边界才是目的

任何单一分数都有误用风险。不要把 Sentrux 当成“分数越高越好”的游戏,也不要让 Agent 为了刷分做无意义重构。更合理的用法,是把它当质量闸门:不允许明显退化,不允许新增循环依赖,不允许 God 文件继续膨胀。

也就是说,Sentrux 不替你定义架构,它让架构变化变得可见、可检查、可回滚。

AI Coding 接下来不会缺生成能力,真正缺的是反馈回路。没有传感器,Agent 只是在黑屋里猛干;有了质量信号,它至少知道自己是不是把屋子拆歪了。

评论