大数跨境

开源一个代码智能体,由16 个原子拼出一个越用越聪明的代码审查 Agent,零依赖、可改、能接自己框架

开源一个代码智能体,由16 个原子拼出一个越用越聪明的代码审查 Agent,零依赖、可改、能接自己框架 AI驱动数字化转型
2026-08-18
2
导读:代码审查这件事,不该被锁在重框架和大模型的墙里。一个原子能拆,拼起来就是完整的 Agent,本地能跑,越用越聪明。你拿过去改,把审查逻辑调成你的口味,把记忆喂成你的领域,把它拼进你正在用的任何框架。
零依赖,一个包不装,可改,能接进你自己正在用的框架
代码审查的智能体,市面上很多。可它们大多有个共同点:框架动辄几十兆依赖,云端模型跑一次要等半天,本地数据不敢送出去。
我不写代码,但我得看代码。于是我给你做了个反着来的东西。纯 Python 标准库,一个包不装。审查、测试、依赖扫描、自进化,全有。还能跟 LangChain、CrewAI 这些主流框架接上。
它不是又一个框架。是把一个 Agent 拆成 16 个原子,再拼回来。
PART 01
16 个原子,一个基类

原子化,是这套东西的骨架。
16 个能力,每个是一个原子智能体。code-review 管审查,code-test 管测试,dep-scan 扫依赖漏洞,code-fuzz 做模糊测试,llm-router 管多模型路由,code-memory 记经验,code-plan 做规划,code-evolve 做自进化。还有 code-delivercode-dispatchdep-impactmcp-clientcode-projectcode-reusecode-skilltask-state。名字即能力,各管一摊。
原子都继承同一个基类。接口统一成三个方法:callrundescribe。生命周期统一,从 discovered 走到 loaded,再到 ready。结果统一成一个信封 {ok, data},出了错自动降级成 {ok:false, degraded:true}。这四件事统一了,任意两个原子就能拼。
拼法靠能力声明。每个原子说清楚 two 件事:我提供什么,我依赖谁。加载器做一次拓扑排序和冲突检测,把需要的原子按需排成一条链。想要审查,拼 guard 这条链;想要完整跑一遍,拼 think 到 evolve。不需要的原子,根本不加载,内存和启动开销是零。
真实跑一遍给你看。对 agent_loader.py 做审查,返回 score 65,挑出 7 个问题,每条都带行号。对 sample_target.py 审,score 100,干净。模糊测试能生成 12 个用例,依赖扫描能查出 SCA 漏洞和污点链。这些不是演示的空壳,是真实处理项目源码跑出来的结果。

PART 02
一个运行时,管 16 个原子

原子是零件,运行时是装配线。
AgentRuntime 统一注册、统一调度全部 16 个原子,做能力级路由。你说一个能力名,它找到对应的原子,把上一个原子的输出注入下一个原子的入参端口,链式数据流就转起来了。这是协同的关键。不是各原子各干各的,是上一个的产出,成为下一个的输入。
运行时还会降级。可选依赖缺失时,它不报错,降级成 degraded,换条替代路径继续走。LLM 服务没起,llm-router 正确降级,不崩。这套降级让 Agent 在资源有限的机器上也能跑,不会因为缺一个可选模块就整个瘫痪。

PART 03
越用越聪明:自我改进循环

这是我最看重的一块。
别的 Agent 用完就忘。这套会记,还会自己总结。self_evolve.py 落地了一套循环:观察、归因、精炼、校验、沉淀、取回。
任务或审查结束,它会自动自省,输出"下次怎么做"。关键在这句:仅严格更好才保留。用快照做回滚,防退化。不是每次都改,改坏了就滚回去。开工之前,它会取回历史经验,把之前命中过的 lessons 和 refinements 注入这一轮。你审过的坑,下次它自己知道避开。审查发现和改进经验,自动沉淀成记忆。测试反馈也不再是跑完就算,先写失败测试,红、改、绿、回归,走完一圈。
四个机制拼成一个循环:用一次,记住一次,下次用的时候想起来。这就是"越用越聪明"的落地,不是营销词。

PART 04
省 token 的极简原则

很多 Agent 的问题不是能力不够,是烧 token。
这套把极简写在骨子里。纯标准库,零依赖,开箱即用。数据不出厂,默认在本地处理,云端 LLM 要你自己显式打开才用。确定性规则优先,静态分析、复杂度、安全检查,这些根本不用大模型,0 token 就出结论。llm-router 做多模型路由和本地优先,能本地算就不上云端。
一句话,能不用大模型的地方,坚决不用。代码审查里静态分析那部分,确定性规则就覆盖了,token 留着,给真正需要语义理解的地方。这跟那些什么都丢给大模型的 Agent,是两条路。
PART 05
它跟主流框架,是朋友不是对手

它接得上主流框架。INTEGRATION_GUIDE 写了怎么当 Tool、怎么当子代理节点、怎么做图编排,还有 REST 和 CLI 两种方式。LangChain、CrewAI、AutoGen、OpenAI Agents、Claude Code 都能接。因为它守着一条边界:本地原子、数据不出厂、开源内核闭源编排。它不抢生态,是插进生态的一个模块。
诚实说差距。它没有 LangChain 那样庞大的生态和记忆链路,没有 AutoGen 的多 Agent 会话编排,没有重型框架的分布式能力。它是给要审代码但不写代码的人用的轻量内核,不是要替代大厂框架。
好在哪也实在。零依赖能轻量运行,这是大框架做不到的。原子可组装,按需拼,不要的不加载。省 token,确定性规则优先。数据不出厂,本地处理。16 个能力真实可用,不是空壳。开源内核走 Apache-2.0,闭源编排放在独立工作区。你能只用开源部分,也能把它独立接进任意框架,不依赖那份闭源。

PART 06
开源,门是开着的

项目在 GitHub:
https://github.com/zhengjinjun1975/codeagent-minimal
Apache-2.0 许可,16 个原子加一个统一运行时和入口,纯标准库零依赖。想独立用,读 docs/ATOMS_GUIDE.md,16 个原子逐个有指南和示例。想接进自己的框架,读 docs/INTEGRATION_GUIDE.md,LangChain、CrewAI、AutoGen 的对接示例都在 examples/ 里。
代码审查这件事,不该被锁在重框架和大模型的墙里。一个原子能拆,拼起来就是完整的 Agent,本地能跑,越用越聪明。你拿过去改,把审查逻辑调成你的口味,把记忆喂成你的领域,把它拼进你正在用的任何框架。
欢迎参与,提 issue,提 PR,加新的原子,或者只是看看 16 个原子怎么拼出"越用越聪明"。代码在 GitHub 上,门是开着的。

【声明】内容源于网络
0
0
AI驱动数字化转型
专注AI,促进智造行业数据衍生,服务智能制造企业的数字化、智能化,聚焦大模型私域部署、大模型微调、数据清洗、AI模型训练、私域知识库及agent技术延展等。行业智能,落地为先。
内容 1081
粉丝 1
AI驱动数字化转型 专注AI,促进智造行业数据衍生,服务智能制造企业的数字化、智能化,聚焦大模型私域部署、大模型微调、数据清洗、AI模型训练、私域知识库及agent技术延展等。行业智能,落地为先。
总阅读10.4k
粉丝1
内容1.1k