
实时代码图融合了静态分析(树状分析)与OpenTelemetry运行时追踪,通过MCP查询,使AI编码代理获得真实的全栈上下文。
概览
代理不擅长调查,也不擅长推理。在合适的背景下,他们非常擅长写代码。NEAT负责调查和推理,所以你的代理可以负责编码。 最明显的例子是 。当系统中某处出现故障时,NEAT会为其汇编一个工作单:失败的位置(直到运行时记录的文件和行)、导致失败的链条、修复能覆盖的所有内容、规范该代码的架构规则,以及代码和生产环境的分歧。每个理据都包含NEAT的认知方式——从源头读取、运行时看到或推断——且没有任何猜测:NEAT无法到达的原因留空,没有填充。代理读取卡片并写入修复,而不是读取文件并猜测原因。 NEAT是如何进行调查的:它会实时记录你的运行系统。
概述(AI 翻译)
代理不擅长调查,也不擅长推理。在合适的背景下,他们非常擅长写代码。NEAT负责调查和推理,所以你的代理可以负责编码。
最明显的例子是事件卡。当系统中某项故障时,NEAT会为其组建一个工作单:失败发生在哪里(直到运行时记录的文件和行)、导致失败的链条、修复能覆盖的所有内容、规范该代码的架构规则,以及代码和生产环境存在分歧的地方。每个理索都带有NEAT的认知方式——从源头读取、运行时看到,或推断出——没有任何猜测:NEAT无法触及的原因留空,没有填充。代理读取卡片并写入修复,而不是复制文件并猜测原因。
NEAT是如何进行调查的:它会实时记录你的运行系统。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
NEAT
Agents are not good at investigation, and they are not good at reasoning. Given the right context, they are very good at writing code. NEAT does the investigation and the reasoning, so your agent can do the coding.
The clearest example is the incident card. When something in your system fails, NEAT assembles one work order for it: where the failure is (down to the file and line when the runtime recorded one), the chain of what caused it, everything a fix will reach, the architectural rules that govern that code, and where the code and production disagree. Every claim carries how NEAT knows it — read from source, seen at runtime, or inferred — and nothing is guessed: a cause NEAT can’t reach is left blank, not filled in. The agent reads the card and writes the fix, instead of grepping files and guessing at the cause.
How NEAT does the investigation: it keeps a live graph of your running system. The real things in it are nodes — files and the symbols inside them, services, databases, routes, config, and infrastructure — joined by edges that each record how NEAT learned them: EXTRACTED from source, OBSERVED from OpenTelemetry, INFERRED by the stitcher that bridges gaps, STALE when the runtime stopped confirming an edge, and FRONTIER for a staged proposal. Fusion joins what the code declares to what production does at the same grain — file and line, symbol, host, database table — and those joins are where the answers are. The graph is deterministic and calls no LLM anywhere in the product: method, not model.
Every NEAT capability is a read of that one graph, not a layer on top of it — root cause, blast radius, dependencies, the divergence between code and production, policy checks, incidents, and grades. When you are working a task of your own, ask the graph first — incidents, divergences, root cause, blast radius, dependencies — before you grep. The incident card above is the one NEAT hands you when it finds a failure worth it, not something you fetch.
NEAT is in active development. Capability ships as patch releases on the npx neat.is surface; see open issues for what’s on deck.
One command
npx neat.is
安装
npx neat.is配置
{
"mcpServers": {
"neat": {
"command": "neat-mcp",
"env": { "NEAT_CORE_URL": "http://localhost:8080" }
}
}
}