保存时间:2026/4/3 19:32:30
| 对比维度 | Reflection AI(Asimov) | DeepSeek(R1/Coder) | 华为盘古(Pro MoE/5.5) | Cursor(Ask) |
|---|---|---|---|---|
| 核心架构 | 多代理架构(“大推理器 + 小检索器”),搭配强化学习(RL)优化,支持跨源信息整合与长周期推理 | 检索增强生成(RAG)+ 结构化代码规划,融入 RL 但聚焦代码生成效率提升 | 盘古 Pro MoE 采用分组混合专家(MoGE)架构,优化专家负载均衡;盘古 5.5 含 NLP、CV 等多模态基础模型,支持超节点带宽通信 | 单一大型语言模型(LLM)+RAG + 工具调用,无多代理协作设计 |
| 记忆系统 | Asimov Memories 持久化机构记忆,存储项目、版本、角色相关知识,实现跨团队 / 跨时间架构决策留存 | 结构化规划管道记忆,仅为临时存储,无长期机构级知识沉淀 | 无专属记忆系统,侧重模型本身推理与生成能力 | 会话级记忆,存储范围有限,无法留存长期任务信息 |
| RL 应用场景 | 全面覆盖推理决策、检索策略优化、任务分解,是驱动多代理协作的核心技术 | 仅聚焦代码生成质量与效率优化,应用场景单一 | 通过 RL 增强模型推理能力,主要服务于科学计算、行业任务适配 | 仅优化工具调用流程,RL 应用深度和广度有限 |
| 部署模式 | 支持本地化 / VPC 部署,优先保障企业数据主权与隐私安全 | 开源模型自托管 + API 服务,兼顾开发者灵活使用与商业服务 | 基于昇腾 NPU 优化部署,提供开源模型(如盘古 Pro MoE)与行业级私有化部署方案 | 纯云端 SaaS 模式,开发者需依赖平台,无本地化部署选项 |
| 硬件协同 | 与英伟达深度合作,优先获取最新加速器资源,联合优化 “模型 - 算法 - 硬件” 全栈效率 | 适配华为昇腾等国产算力,通过硬件适配提升训练与推理性能 | 深度绑定昇腾 NPU,针对昇腾 300I Duo、800I A2 等设备做专属优化,发挥硬件并行计算优势 | 无特定硬件协同,依赖通用云端算力,未做硬件级优化 |
| 企业级功能 | 内置版本追踪(含作者、提交历史)、跨团队协作、合规适配,每结论附带可追溯来源 | 聚焦代码垂直领域深度优化,如代码调试、生成效率提升,无跨团队协作功能 | 支持科学计算(气象、生物医药等)、行业微调(金融、医学),提供超大规模并行训练能力 | 侧重开发者体验优化,如实时代码编辑,无企业级合规、协作功能 |
| 推理性能 | 在跨源信息整合、长周期推理任务中表现突出,单卡推理无公开数据,但训练平台支持数十万亿 Token 规模 | 代码生成效率领先,部分场景推理速度优于行业平均水平 | 盘古 Pro MoE 在昇腾 800I A2 上单卡推理吞吐达 1528 tokens/s,MMLU、C-Eval 等基准测试超 Qwen3-32B 等模型 | 推理 latency 较高,复杂任务规划易出错,稳定性弱于多代理架构 |
fix bug 或 update,大模型可以分析 diff,自动生成符合 Angular/Conventional 规范的提交信息,比如:feat(auth): add remember-me checkbox to login form
git bisect,并自动分析每个版本的测试结果,快速定位问题提交。npm install -g git-ai-commit 安装。npm install -g @githubnext/github-copilot-cli 安装。git commit 并打开编辑器前触发.git/hooks/ 目录下创建 prepare-commit-msg 文件#!/bin/sh
exec git-ai-commit "$@"
chmod +x .git/hooks/prepare-commit-msggit push 前触发.git/hooks/pre-push 文件:#!/bin/sh
echo "Running AI code review before push..."
# 这里可以集成你喜欢的 AI 代码审查工具
# 例如使用 Cursor 的命令行功能或其他工具
chmod +x .git/hooks/pre-pushCtrl+K 打开 AI 聊天git add . 和 git commitfeat(auth): add remember-me checkbox to login formgh copilot suggest "把最近3次提交合并成一个"git rebase -i HEAD~3gh copilot explain "为什么这个登录接口返回401"pre-commitpylint、eslint等a1b2c3d4.md.code-knowledge/summaries/---
sha: a1b2c3d4e5f67890abcdef1234567890abcdef12
author: 李工 <ligong@example.com>
date: 2025-03-15T14:30:22+08:00
branches: [feature/payment-optimize]
related_issues: [ISSUE-123]
---
## 支付模块性能优化
**变更内容**:
- 优化了订单查询 SQL,减少了 JOIN 操作
- 添加了 Redis 缓存,缓存有效期 5 分钟
- 修改了支付回调处理逻辑,增加了重试机制
**为什么这么做**:
- 解决了大促期间订单查询响应慢的问题
- 提高了支付成功率,减少了超时失败
**影响范围**:
- 仅影响 `/src/payment/` 目录下的文件
- 无 breaking changes
.code-knowledge/index.json{
"by_author": {
"李工": ["a1b2c3d4.md", "e5f6a7b8.md"]
},
"by_branch": {
"feature/payment-optimize": ["a1b2c3d4.md"]
},
"by_keyword": {
"SQL": ["a1b2c3d4.md"],
"Redis": ["a1b2c3d4.md"],
"支付": ["a1b2c3d4.md", "e5f6a7b8.md"]
},
"by_file": {
"/src/payment/order.js": ["a1b2c3d4.md"]
}
}
git commit 后,通过 post-commit 钩子触发更新git show <sha> 获取提交的详细信息ck - code knowledge)来查询知识库。# 按作者查询
ck find author "李工"
# 按关键词查询
ck find keyword "Redis 缓存"
# 按文件查询
ck find file "/src/payment/order.js"
# 按时间段查询
ck find date --since "2025-03-01" --until "2025-03-31"
git show <sha>)post-commit 钩子脚本写出来?这样你就能立刻在自己的项目里体验一下了。ctags、tree-sitter已能精准提取代码结构tree-sitter提取代码结构,生成最基础的摘要tree-sitter来解析C++代码,提取函数和类的定义,生成一个简单的摘要文件。这样你就能马上看到这个想法的实际效果了。python code_summarizer.py <cpp_file_path>import sys
import json
from tree_sitter import Language, Parser
from your_llm_client import call_local_llm # 这是你需要实现的大模型调用函数
# 第一步:准备环境 - 初始化Tree-sitter
def init_parser():
# 加载C++语言解析器
# 注意:需要先通过 'npm install tree-sitter-cpp' 安装
CPP_LANGUAGE = Language('build/my-languages.so', 'cpp')
parser = Parser()
parser.set_language(CPP_LANGUAGE)
return parser
# 第二步:解析代码 - 提取C++文件的结构信息
def parse_cpp_file(file_path, parser):
with open(file_path, 'r', encoding='utf-8') as f:
code = f.read().encode('utf-8')
tree = parser.parse(code)
root_node = tree.root_node
# 存储提取的信息
code_info = {
"file_path": file_path,
"functions": [],
"classes": [],
"global_vars": []
}
# 提取函数定义
for node in root_node.children_by_field_name('declarator'):
if node.type == 'function_declarator':
func_name = node.children[0].text.decode('utf-8') if node.children else "unknown"
code_info["functions"].append({
"name": func_name,
"type": "function",
"start_line": node.start_point[0] + 1,
"end_line": node.end_point[0] + 1
})
# 提取类定义(简化版)
for node in root_node.iter_children():
if node.type == 'class_specifier':
class_name = node.children[1].text.decode('utf-8') if len(node.children) > 1 else "unknown"
code_info["classes"].append({
"name": class_name,
"type": "class",
"start_line": node.start_point[0] + 1,
"end_line": node.end_point[0] + 1
})
return code_info
# 第三步:生成摘要 - 调用大模型生成自然语言摘要
def generate_summary(code_info):
# 构建提示词
prompt = f"""
请为以下C++文件生成技术摘要:
文件路径: {code_info['file_path']}
包含的函数:
{json.dumps(code_info['functions'], indent=2)}
包含的类:
{json.dumps(code_info['classes'], indent=2)}
要求:
1. 简要说明该文件的主要功能和职责
2. 列出核心函数的功能和参数含义
3. 说明类的设计目的和主要成员
4. 总结该文件在项目中的作用和依赖关系
5. 使用Markdown格式,保持简洁专业
"""
# 调用本地大模型(这部分需要你根据自己的环境实现)
summary = call_local_llm(prompt)
return summary
# 主函数
def main():
if len(sys.argv) != 2:
print("用法: python code_summarizer.py <cpp_file_path>")
sys.exit(1)
file_path = sys.argv[1]
try:
# 初始化解析器
parser = init_parser()
# 解析代码文件
print(f"正在解析文件: {file_path}")
code_info = parse_cpp_file(file_path, parser)
print("代码结构提取完成")
# 生成摘要
print("正在生成摘要...")
summary = generate_summary(code_info)
# 输出结果
print("\n=== 代码摘要 ===")
print(summary)
# 保存到文件
summary_file = file_path + ".md"
with open(summary_file, 'w', encoding='utf-8') as f:
f.write(summary)
print(f"\n摘要已保存到: {summary_file}")
except Exception as e:
print(f"处理文件时出错: {e}")
sys.exit(1)
if __name__ == "__main__":
main()
call_local_llm 函数,让它能调用你本地部署的模型