阿里把团队内部用了两年的官方 AI Code Review Skills 开源了,采用 “确定性工程 pipeline + AI Agent” 的混合架构,专门解决通用 Agent 做代码审查时 “漏审、定位漂移、质量不稳” 的老问题。
40.5K ✨ 开源项目 OpenCodeReview:
# 核心设计:确定性工程 pipeline × Agent 各司其职
确定性工程负责硬约束:
· 精确文件选择:用代码决定哪些文件必须审、哪些要过滤,不依赖模型自觉;
· 智能文件捆绑:把相关文件合成一个审查单元(例如 message_en.properties 和 message_zh.properties 捆绑),每个单元以上下文隔离的 sub-agent 运行,分治策略让超大变更集也稳,且天然支持并发(默认 8 个文件 worker);
· 细粒度规则匹配:内置约 54 个按语言/文件类型的规则文档(Java、Go、TS/JS、Python、Rust、SQL/XML mapper、properties 等),用模板引擎而非自然语言把规则匹配到文件特征上,从源头消除信息噪声;
· 外部定位与反思模块:评论的“落点”和“内容”分别由独立的 re-location 和 reflection 模块系统性校正,这正对“位置漂移”痛点。
Agent 负责动态决策:
· 深度优化的场景 prompt(内部分为 plan → grouping → main → memory_compression → re_location → review_filter 多个任务模板,可在 internal/config/template/prompts/ 看到);
· 从海量生产环境的 tool-call 轨迹(调用频率分布、单工具重复率、新工具对调用链的影响)反向蒸馏出的专用工具集,包括全文件读取、代码搜索、其他变更文件查阅等,比通用 agent 工具箱更小更稳。
# 能力面与生态集成
功能上覆盖:workspace/分支区间/单 commit 审查、断点恢复(ocr session)、全文件 scan(无 git 历史也能审计陌生代码库)、本地 Session Viewer 网页查看与回放、SARIF/JSON 输出、OpenTelemetry 可观测性、MCP Server 扩展。
作为 “Skills 生态” 级项目,它的形态相当完整:既提供 npm 全局 CLI,也提供可移植的 Agent Skill(skills/open-code-review/SKILL.md,带标准 frontmatter,可直接被兼容 skill 的 agent 加载),还有面向 Claude Code、Codex、Cursor、Kimi Code、OpenCode 等平台的插件,每种都封装成斜杠命令或可调用 skill。LLM 侧兼容 OpenAI、Anthropic、AWS Bedrock 三类协议,并可直接复用 Claude Code 的 ANTHROPIC_* 环境变量。
其中一个设计很巧妙:Delegation 模式(ocr delegate preview/rule)。此时 OCR 只做自己擅长的确定性部分(文件选择和规则解析)审查本身交给宿主 coding agent 的 LLM 执行,用户无需给 OCR 配任何 API key。这实际上是把“harness 能力”与“模型能力”彻底解耦。
# 工程质量:超出平均水准的部分
· 安全有正式的 Assurance Case(ASSURANCE_CASE.md):完整的威胁模型、四条信任边界、T1–T7 威胁逐条给出缓解措施,并按 Saltzer & Schroeder 设计原则和 OWASP Top 10 做了映射。细节经得起推敲:所有外部进程调用只限 git 且子命令硬编码、--end-of-options 防 flag 注入;Agent 读文件路径经 pathutil.WithinBase() 在符号链接解析前后双重校验;本地 Viewer 有 Host 白名单防 DNS rebinding + 严格 CSP。这类文档在一般开源项目里非常罕见。
· 贡献规范近乎严苛(AGENTS.md):使用 AI 必须在 issue/PR 中披露工具与模型、必须逐行理解 AI 生成的代码、禁止“AI 生成→反复修复→再修复”的循环、禁止把 commit 署名给 AI。源码强制英文(CI 有 english-check,连全角标点都查)、90% 测试覆盖率门槛、-race 与 govulncheck 每次 push 都跑、SPDX 头与 LF 行尾强制。
# Benchmark:数据情况
官方基准 AACR-Bench(已在 Hugging Face 开放)规模不小:50 个流行开源仓库、200 个真实 PR、10 种语言、80+ 资深工程师交叉验证出 1505 条标注问题。结论是同模型对比 Claude Code:Precision 和 F1 显著更高、token 消耗约为 1/9、速度更快。
需要指出两点:其一,Recall 低于通用 agent,README 自己承认这是“以精度换噪声”的刻意权衡,如果你最怕漏问题而非误报,可能不适合;其二,该基准由阿里自建,虽开放了数据集供社区复核,但独立第三方的复现结论目前还少,可以把它当作“有披露的、方向可信的参考”。
显示更多
这个精简 OCR 模型,能一次性处理完整 100 页 PDF。
它叫 Unlimited OCR,只有 3B 参数,完全跑在本地硬件上。
大多数 OCR 工具会把文档拆成单页,丢失整体上下文。这个模型用连续方式一次读完整个文档。
单次长程解析,32K 上下文窗口
默认支持多语言
标准解析基准上准确率 93%,比基线高 6 个点
超过 40 页后错误率仍低于 0.11
完全离线运行,不依赖云端
兼容 Transformers、vLLM、SGLang、Docker、Ollama 和 llama.cpp
传统云 OCR 服务如 Textract、Google Vision、Azure Document Intelligence,每 1000 页通常收费 $1.50 到 $15。
这个模型跑在你自己的硬件上,用多久都不花钱。
百度开发它就是为了超越 DeepSeek OCR。Hugging Face 上已有 190 万下载,但大部分用户还不知道。
100% 开源。
显示更多
Still digging through emails one by one at month-end — downloading attachments, renaming files, filling Excel?
InvoiceFlowAI: Open-source invoice auto-organization tool.
- Batch collect PDF / OFD / XML from QQ / 163, and even pull invoices that only have download links
- OCR extracts amount, date, and invoice number, then archives by type
- Matches hotel invoices with receipts, taxi invoices with itineraries
- Auto-saves locally and generates an Excel summary
- Desktop apps for Windows and macOS (Apple Silicon)
Perfect for freelancers, small teams, and anyone who repeats the same reimbursement cleanup every month.
👉
显示更多
月底报销还在一封封翻邮箱、下附件、改文件名、填 Excel?
可以试试这款 开源发票自动整理工具 InvoiceFlowAI:
👉
-从 QQ / 163 批量收 PDF、OFD、XML,部分只有下载链接的发票也能自动拉下来
- OCR 识别金额、日期、票号,按类型归档
-住宿发票配水单、打车票配行程单
-自动归档到本地,并生成 Excel 汇总表
-支持 Windows 和 macOS(Apple Silicon)桌面版
比较适合发票多、每月都要重复整理报销材料的个人、自由职业者和小团队。
显示更多
North-Micro-Vision-Instruct:多模态小模型
Cohere开源,仅2.4B参数,适合OCR、图片描述、视觉定位等任务,不适合复杂推理任务。评分比不上Qwen3.5-2B,Qwen在小模型领域几乎垄断领先。
模型:
显示更多
百度的 PaddleOCR 和 Unlimited OCR 属于是给老板积德的开源项目吧:
PaddleOCR 算是现在最好用的 OCR 了吧,模型纯 CPU 也能用,日常场景速度和效果都很好。
Unlimited OCR 对于长文档解析很强,试了个长 pdf,效果也很不错。
显示更多
Trent Williams on De'Zhaun Stribling:
"I love Strib. What a heck of a pick. I don’t know how he missed the first round.”
转自刘群MT-to-Death:
很多人不理解文本水印是怎么回事。
文本水印是嵌入到语言生成中的一种印记,比如可以用A/B两个同义词的时候总是选择B、可以用两种表达方式C/D的时候总是选择次高概率的D,这样文本看起来没有任何问题,但实际上是可以检测到的。
由于水印是加在文本内容上的,转变成图像再用OCR扫描出文本也没有任何用处。这种水印的添加和检测都是由大模型来做的,人很难感知到。
当然修改文本有可能破坏这种水印,但由于人不知道这些水印会加在那些词上,所以水印也很难全部破坏掉。
显示更多
很多人觉得 AI 做不好验收工作,当下确实是这样的,因为它缺少判断的准则。人可以教它,但无法穷尽所有情况。
可 AI 有一个优势,它在边界思考上往往比人更全面、更多维。所以理论上,在进行测试的时候,AI 完全有机会测得比人更完善。
对 AI 测试来说,首先需要从两个关键能力入手。
第一,它要完整理解需求。
AI 应该针对需求和目标去测试,而不是只针对功能去测试。
未来的测试方法,会更偏向 BDD,而不是 TDD,甚至是 Goal Driven Verification。先理解这个需求为什么要做,最终希望解决什么问题,用户应该获得什么结果,再围绕这个目标去设计测试。
第二,它需要具备足够的手、脚、眼。
让 AI 真正能够看清软件、看懂软件,能够像一个人一样在界面上完成操作。
它需要学会编写 E2E 测试用例,通过 OCR、模拟点击、滑动、截图、录屏等方式,不断丰富自己对界面的认知,然后基于目标和需求,持续改善测试用例的完整性和鲁棒性。
我们团队现在实践的时候也是这么做的。
每一次迭代发版,AI 都会先把这个迭代所有的代码 diff 拿出来,理解一次这次核心改动的功能点到底是什么,然后开始编写对应的 E2E 测试用例。
刚开始写出来的时候,大部分测试其实都跑不过。
它会自己执行,再根据执行过程不断修正测试用例里的问题,直到整条链路能够真正跑通。
在整个验收过程中,它所有的点击、滑动、输入等操作都会被记录下来,同时保留截图和录屏,最终产生一篇完整的 E2E 测试用例文档和测试报告。
这篇文档里的信息其实非常丰富。
它会包含这次测试的目标、操作路径、操作截图、操作录屏、操作反馈,以及每一步执行之后软件真实呈现出来的结果。
然后 AI 会再回过头去理解这篇文档,重新判断整个过程是否真的达到了最开始的目标。
我觉得这才是 AI 测试真正应该走的方向。
测试不应该只是验证代码有没有跑通,也不应该只是验证某个按钮能不能点。它最终验证的是,这次改动有没有真正完成需求,有没有达到目标。
显示更多