Qoder AI编辑器助手技术选型与实施汇报

Qoder AI编辑器助手技术选型与实施汇报

​ 核心目的:统一团队AI开发工具

​ 明确Qoder AI编辑器助手的选型价值、下载安装流程、Skills核心用法,结合团队现有技术栈,推荐适配业务场景的Skills资源,制定标准化实施流程,推动工具快速落地应用,提升团队开发效率、降低协作成本。

一、为什么要选Qoder?

1、Qoder是什么?

Qoder是阿里巴巴于2025年8月发布的新一代AI编程平台,其定位超越了传统的代码补全工具,是一个"智能代理式编程平台"(Agentic Coding Platform)。

核心差异与优势

  • 仓库级理解 :内置高性能代码搜索引擎,可一次检索和理解高达 10万个代码文件,对整个项目有全局认知,而非片段级建议。
  • 任务化执行 :通过 Quest Mode(任务模式),可将一个模糊的自然语言需求(如"开发一个商品管理模块")自动拆解为设计、编码、测试、部署等子任务,并自主执行完成。
  • 知识沉淀 :通过 Repo Wiki 功能,自动分析代码库,生成项目技术栈、架构图、API文档等,将"隐性知识"显性化,极大加速新人上手和团队协作。
  • 工业级支持 :基于自研的通义灵码大模型,对 C/C++、Python、Java 等20+主流语言有深度支持,特别在企业级开发、代码安全审计和规范遵从方面表现出色。

适用场景

  • 代码生成 - 根据需求生成完整功能模块
  • 代码审查 - 通过注释自动修复问题
  • CI/CD 自动化 - 自动化测试和部署脚本
  • 文档生成 - API 文档、用户手册自动生成
  • 测试用例 - 自动生成单元测试、集成测试

2、为什么选Qoder而不是其他工具?

Qoder 定位于企业级智能编程中枢,不同于传统的代码补全插件,它强调"环境感知"与"技能扩展"。

选择Qoder旨在为团队带来研发范式的根本性变革,具体对比如下:

对比维度 Qoder GitHub Copilot Cursor c
核心定位 智能代理式编程平台,全流程自动化 AI代码补全助手 AI增强型代码编辑器 AI代码助手(插件)
上下文理解 仓库级(10万文件) 项目级 项目级 文件级
任务自动化 Quest Mode支持端到端开发 有限 中等,依赖逐步指导 基本
自定义与扩展 开放式Skills生态,可深度定制 有限 通过.cursorrules定制 有限
本地/离线支持 支持混合云、本地LLM接入 依赖云端 依赖云端 依赖云端
企业级特性 较强,支持SSO、审计等 一般 较弱 一般
团队技术栈适配 完美支持Vue, Python, C/C++ 支持 支持 支持
核心优势 全流程自动化、高定制性 生态融合好、智能补全强 深度重构、编辑体验好 中文友好、阿里云集成

3、能带来什么实际好处?

根据公开案例及内部评估,预计落地Qoder后可为团队带来以下可量化的效率提升:

效率维度 预期提升幅度 具体体现
开发速度 40-60% 框架代码、样板代码(如OpenCV流程、ROS节点)生成耗时从小时级降至分钟级。
调试效率 50-70% 智能诊断能精准定位多数隐蔽错误,减少反复排查时间。
新人上手 60%以上 利用Repo Wiki快速理解项目,通过Skills获得"标准化"开发指导。
代码质量 缺陷率降低30-50% 通过集成规范的Skills生成代码,并利用AI进行自动化审查。
协作效率 提升50% 跨技术栈沟通更顺畅,AI辅助生成接口代码与文档,减少歧义。

二、下载与使用

1、下载

  1. 从Qoder 官方网站 https://qoder.com/download 下载安装程序,支持 Windows、macOS 和 Linux 系统。
  2. 双击文件开始安装。
  3. 双击 Qoder IDE 图标启动 Qoder。

2、登录

  1. 在 Qoder IDE 右上角,点击用户图标,或使用键盘快捷键( ,(macOS)或 Ctrl Shift ,(Windows)),然后选择 登录
  2. 在打开的网页中:
    • 点击底部的 注册 并完成注册,或使用 Google 或 GitHub 账号直接注册。
    • 公测期间提供免费额度(300 Credits)
  3. 返回 Qoder IDE。你现在可以自由使用所有功能。
  4. 详细使用说明可访问官方网站https://docs.qoder.com/zh

3、打开项目

可选择使用本地项目,或从 GitHub 克隆示例项目。

  • 使用本地项目

    1. 点击 打开 或使用键盘快捷键:
    • macOS: O
    • Windows:Ctrl O
    1. 浏览到项目文件夹,选择文件并打开。
  • 克隆代码库

    1. 点击 Clone repo
    2. 在顶部搜索栏中:
      • 输入项目 URL 并点击 Clone from URL,或
      • 点击 Clone from GitHub 并按提示操作。
    3. 按步骤完成项目克隆。

4、简单使用

Qoder提供三种渐进式交互模式,适应不同复杂度的任务:
开始使用Qoder
选择任务模式
Ask Mode

问答模式
Agent Mode

智能体模式
Quest Mode

任务模式
快速技术问答

代码片段生成
监督下的多步骤任务执行

如:重构模块/调试
端到端全自动任务执行

如:从需求到可运行模块
获得即时解答或代码
审核并确认每一步输出
验收最终成果与报告

模式详解

  • Ask Mode (问答模式):用于快速技术咨询、代码解释、生成简单片段。如同一个随时在线的技术专家。
  • Agent Mode (智能体模式):AI作为"编程伙伴",在开发者监督下完成多步骤任务(如"重构这个函数并添加测试")。支持设置检查点,确保可控。
  • Quest Mode (任务模式) :最具革命性的功能。开发者用自然语言描述需求(如"创建一个机械臂运动轨迹可视化页面"),Qoder会自主进行需求澄清、方案设计、编码、测试,并交付可运行的结果。核心理念:定义目标,验收成果。
4.1 Ask Mode (问答模式)

发起行间对话

使用行间会话在代码的上下文中直接获得 AI 帮助。

  1. 在 Qoder 代码编辑器中,按 I(macOS)或 Ctrl I(Windows)。行间会话窗口将打开。
  2. 输入请求并发送。例如:"新增一个文件上传处理函数"
  3. 应用 AI 生成的代码,按 (macOS)或 Ctrl Enter(Windows)。
4.2 Agent Mode (智能体模式)

开始 AI 对话

使用智能会话面板,或按 L(macOS)或 Ctrl L(Windows),在智能问答或智能体模式下处理更复杂的任务。

  1. 在右侧的智能会话面板中输入请求。例如:"为这个函数创建并运行测试"
  2. 发送请求。智能体将生成包含相关用例的测试文件。
  3. 按提示点击 执行 ,或按 (macOS)或 Ctrl Enter(Windows)执行测试。

4.3 Quest Mode (任务模式)

Quest Mode 是 Qoder 的自主编程功能,让 Agent 端到端完成开发任务。你只需描述目标,Quest 会自主澄清需求、规划方案、执行代码、验证结果------无需持续人工介入。核心理念:Define the goal. Review the result.

切换方式 :点击顶部的 Editor / Quest 切换按钮

Quest 提供三种场景,根据需求选择:

场景 适用情况 Quest 行为
Spec 驱动 复杂功能开发、重构、需要严格质量把控 先对齐需求范围,设计实施方案和验收标准,再开始执行
搭建网站 0-1创建网站、快速原型 描述你要搭建的网站,Quest 会搭建页面和整体结构
原型探索 快速验证想法、创意实验 从一个想法开始,Quest 会将其转化为可运行的原型

场景选择规则

  • 不选场景:Quest 会自动判断最合适的方式
  • 选择 Spec 驱动:一定会生成 Spec 文档
  • 选择 搭建网站 / 原型探索:完全跳过 Spec,快速执行

注意:任务开始后,不能切换场景。

界面布局:任务列表、对话区、产物区。

任务列表

  • New Quest:创建新任务(右上角**+**可以创建新的 Quest)
  • 任务状态
    • Running:执行中
    • Action Required:等待操作
    • Ready:已完成,可继续对话
    • Error:执行错误
  • 任务按最后交互时间排序

对话区

  • 显示对话历史
  • To-do List 实时更新(执行阶段)
  • 输入框底部可压缩上下文,优化提示词

产物区

  • Spec Tab:查看/下载 Spec 文档(Spec 驱动模式)
  • Changed Files Tab:查看代码变更、Accept/Discard
  • Preview Tab:实时预览运行效果(网站/原型模式)

三、Skills是什么?怎么用?(核心功能)

3.1 Skills概述

Qoder官方使用说明:https://docs.qoder.com/zh/extensions/skills

Skills就像是给Qoder编写的"专业操作手册",告诉AI助手如何在特定场景下工作。

举个例子

  • 没有Skills:你告诉AI"帮我写个测试"
  • 有了Skills:你告诉AI"按照我们团队的测试规范写个机械臂控制测试"

Skills 是 Qoder 的核心扩展机制,将领域专业知识 封装为可复用的智能能力。每个 Skill 是一个包含 SKILL.md 文件的目录。

与普通提示词(Prompt)的区别 :Prompt是一次性的指令,如"帮我写一个函数"。而 Skill 是一套完整的规则和流程,它告诉AI"当遇到某类问题时,应该如何思考、分几步走、每一步调用什么工具、判断标准是什么"。例如,一个"机械臂异常诊断Skill"会指导AI:先检查日志中的特定错误码,再查询对应SDK手册,然后建议修改某几个参数并运行测试脚本。

3.2 Skills 怎么写(创建)

一个 Skill 本质上是一个特定结构的文件夹,核心是 SKILL.md 文件。
1. 基本结构

复制代码
你的技能名称/         # 文件夹名即技能名
├── SKILL.md         # 核心文件,包含元数据和流程说明
└── resources/       # (可选) 存放脚本、模板、配置等资源

2. 编写 SKILL.md

文件分为两部分:

  • 元数据 :位于文件顶部,用---包裹,定义技能名称和描述。

    yaml 复制代码
    ---
    name: unit-test-generator
    description: 为 Python 类生成单元测试代码
    ---
  • 正文:详细描述工作流程。这是AI的"操作手册"。

    复制代码
    # 单元测试生成器
    
    ## 使用场景
    - 生成 Python 类的单元测试
    - 增加测试覆盖率
    - 创建特定功能测试用例
    
    ## 实现逻辑
    1. 分析目标文件的所有公共方法
    2. 生成符合规范的测试模板
    3. 自动处理 mock 和异常路径
    4. 按模块组织测试代码
  • 单元测试示例*:

    复制代码
    ---
    name: unit-test-generator
    description: 为 Python 类生成单元测试代码。当用户请求生成测试、创建测试用例、或需要测试覆盖时使用此技能。
    
    ---
    
    # 单元测试生成器
    
    为 Python 类和模块生成符合项目规范的单元测试代码。
    
    ## 使用场景
    
    - 用户请求为某个 Python 文件生成单元测试
    - 用户需要增加测试覆盖率
    - 用户请求创建特定功能的测试用例
    
    ## 项目测试规范
    
    ### 1. 测试框架
    
    本项目使用 `unittest` 框架,配合 `unittest.mock` 进行模拟。
    
    ```python
    import unittest
    from unittest.mock import Mock, patch, MagicMock
    ```
    
    ### 2. 文件结构
    
    - 测试文件位置:`unit_test/` 目录
    - 文件命名:`{原文件名}_test.py`
    - 示例:`camera_base.py` → `camera_base_test.py`
    
    ### 3. 代码结构模板
    
    ```python
    import unittest
    from unittest.mock import Mock, patch, MagicMock
    import sys
    import numpy as np
    
    # 模拟必要的模块(如 logger)
    sys.modules['logger'] = Mock()
    logger = sys.modules['logger']
    logger.info = Mock()
    logger.error = Mock()
    logger.warning = Mock()
    logger.debug = Mock()
    
    # 导入被测试的类
    from module_path import TargetClass
    
    # 如果是抽象基类,创建测试子类
    class TestableTargetClass(TargetClass):
        """用于测试的子类,实现所有抽象方法"""
        
        def abstract_method(self):
            # 提供测试用的实现
            pass
    
    
    class TestTargetClass(unittest.TestCase):
        """TargetClass 单元测试类"""
    
        def setUp(self):
            """测试前的准备工作"""
            self.mock_dependency = Mock()
            self.instance = TestableTargetClass(self.mock_dependency)
    
        def tearDown(self):
            """测试后的清理工作"""
            pass
    
        # ==================== 初始化测试 ====================
        
        def test_init_with_default_params(self):
            """测试默认参数初始化"""
            pass
    
        def test_init_with_custom_params(self):
            """测试自定义参数初始化"""
            pass
    
        # ==================== 功能测试 ====================
        
        def test_method_name_success(self):
            """测试方法正常执行"""
            pass
    
        def test_method_name_failure(self):
            """测试方法异常情况"""
            pass
    
        # ==================== 边界条件测试 ====================
        
        def test_method_with_none_input(self):
            """测试空值输入"""
            pass
    
        def test_method_with_invalid_input(self):
            """测试无效输入"""
            pass
    
    
    if __name__ == '__main__':
        unittest.main()
    ```
    
    ### 4. 测试用例命名规范
    
    - 测试方法以 `test_` 开头
    - 格式:`test_<被测方法名>_<测试场景>`
    - 示例:
      - `test_connect_success` - 测试连接成功
      - `test_connect_when_already_connected` - 测试重复连接
      - `test_set_gain_with_invalid_value` - 测试无效增益值
    
    ### 5. 测试分类
    
    按功能分组,使用注释分隔:
    
    ```python
    # ==================== 初始化测试 ====================
    # ==================== 连接管理测试 ====================
    # ==================== 参数设置测试 ====================
    # ==================== 异常处理测试 ====================
    ```
    
    ### 6. Mock 使用规范
    
    #### 模拟外部依赖
    
    ```python
    # 模拟 logger 模块
    sys.modules['logger'] = Mock()
    
    # 模拟 Notify 对象
    self.mock_notify = Mock(spec=Notify)
    
    # 模拟方法返回值
    self.mock_obj.method.return_value = expected_value
    
    # 模拟方法抛出异常
    self.mock_obj.method.side_effect = SomeException("error")
    ```
    
    #### 使用 patch 装饰器
    
    ```python
    @patch('module.dependency')
    def test_with_mocked_dependency(self, mock_dep):
        mock_dep.return_value = "mocked"
        # 测试代码
    ```
    
    ### 7. 断言方法
    
    ```python
    self.assertEqual(actual, expected)
    self.assertNotEqual(actual, expected)
    self.assertTrue(condition)
    self.assertFalse(condition)
    self.assertIsNone(value)
    self.assertIsNotNone(value)
    self.assertIsInstance(obj, cls)
    self.assertRaises(ExceptionType, callable, *args)
    self.assertIn(item, container)
    self.assertAlmostEqual(a, b, places=7)
    ```
    
    ### 8. 测试覆盖要求
    
    每个公共方法应包含以下测试:
    
    1. **正常路径测试** - 验证正常输入的正确输出
    2. **边界条件测试** - 测试边界值和极端情况
    3. **异常路径测试** - 验证错误处理和异常抛出
    4. **状态验证测试** - 验证方法执行后的状态变化
    
    ### 9. 抽象基类测试策略
    
    对于抽象基类(如 `CameraBaseComponent`):
    
    1. 创建一个测试用的具体子类
    2. 实现所有抽象方法,提供可控的测试行为
    3. 添加控制标志用于模拟成功/失败场景
    
    ```python
    class TestableCamera(CameraBaseComponent):
        def __init__(self, notify, component_name=None):
            super().__init__(notify, component_name)
            self._connect_success = True  # 控制标志
        
        def connect(self):
            if self._connect_success:
                self.set_state(State.CONNECTED)
            else:
                raise AVITestError(ErrorCode.CamConnectionError, "Connection failed")
    ```
    
    ## 生成要求
    
    1. **读取源文件**:分析被测类的所有公共方法
    2. **识别依赖**:确定需要模拟的外部依赖
    3. **生成测试子类**:如果是抽象类,生成可测试的子类
    4. **覆盖所有方法**:为每个公共方法生成测试用例
    5. **包含异常测试**:测试 `NotImplementedError` 和其他异常
    6. **添加中文注释**:每个测试方法都有清晰的中文文档字符串
    
    ## 输出位置
    
    测试文件保存在 `unit_test/` 目录下,文件名格式:`{原文件名}_test.py`
    
    ## 示例
    
    输入:`core_component/base/camera_base.py`
    输出:`unit_test/camera_base_test.py`

3.3 Skills 怎么用(存储与触发)

  • 存储位置

    • 全局技能 :放在 ~/.qoder/skills/ 目录下,对所有项目生效。适合通用技能,如"代码审查"、"文档生成"。

      复制代码
      ~/.qoder/skills/
    • 项目技能 :放在项目根目录的 .qoder/skills/ 下,仅对本项目生效。适合项目特定技能,如"XX型号机械臂标定流程"、"视觉项目部署脚本"。此目录可提交至Git,实现团队共享。

      复制代码
      project/.qoder/skills/
  • 触发方式

    1. 自动触发 :在与Qoder对话时,AI会根据当前对话内容和 description 自动判断并调用相关Skill。

      复制代码
      用户: 为这个类生成测试用例
      Qoder: 使用 unit-test-generator 技能生成测试
    2. 手动调用 :在Qoder聊天框中输入 /技能名称 (例如 /视觉算法单元测试生成器)强制调用。

      复制代码
      用户: /unit-test-generator 请为 camera.py 生成测试
      Qoder: 开始生成测试...
    3. 技能管理 :输入 /skills 可查看已安装的所有技能列表。

      • 查看项目skills:

        ls .qoder/skills

      • 查看全局skills:

        ls ~/.qoder/skills/

      • 更新技能

      直接编辑 SKILL.md 文件即可

      • 删除技能

      删除对应的技能目录

      bash 复制代码
      rm -r ~/.qoder/skills/my-skill

3.4 如何下载网上的 Skills

​ 1.社区平台

​ 2.搜索所需技能

​ 3.下载技能包

​ 4.解压到 ~/.qoder/skills/ 目录

3.5 使用示例

创建一个python项目目录的skill。

1、先写好SKILL.md

复制代码
---
name: create-python-project-directory
description: 为Python项目创建架构目录

---

#  核心目的

- 为新项目搭建一个基础的目录架构
- 方便阅读、调试和复用
- 有益于**团队协作开发**
- 便于**分发、部署和交付**
- 可**集成自动化流程(CI/CD)**

# 文件结构

```
project-name/                           # 项目根目录
├── docs/                               # 项目文档
│   ├── api/                            # API文档
│   ├── guides/                         # 使用指南,教程
│   └── images/                         # 文档图片
├── logs/                               # 日志目录
│   ├── app.log                         # 应用日志
│   └── error.log                       # 错误日志
├── models/                             # 模型目录
├── scripts/                            # 脚本目录
├── src/                                # 源代码目录(Python包)
│   └── project-name/                   # 主包(与项目同名)
│       ├── api/                        # API接口层
│       ├── config/                     # 配置文件管理
│       ├── core/                       # 核心业务逻辑
│       │   └── __init__.py 
│       ├── database/                   # 数据库相关
│       │   └── __init__.py
│       ├── tests/                      # 包内测试(单元测试)
│       │   └── __init__.py
│       ├── utils/                      # 工具函数
│       │   └── __init__.py
│       ├── __init__.py
│       └── main.py                     # 主函数入口
├── tests/                              # 集成测试和功能测试
│   └── __init__.py
├── README.md                           # 说明文档
├── requirements.txt                    # 第三方包
└── ui/                                 # 前端ui
```

主要有:源代码目录(Python包)、模型目录、脚本目录、日志目录、测试、项目文档、前端ui。

2、放到skills目录下

由于这个可以做成通用的skill,可以放到系统级目录下:

复制代码
C:\Users\Administrator\.qoder\skills\create-python-project-directory

3、qoder使用

使用Qoder编辑器打开一个空项目文件夹,然后在输入框:

复制代码
创建一个python项目目录

qoder便会根据这个skill来创建目录。

接下来可以看到已经应用了skill:

继续点击运行即可。

相关推荐
九.九6 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见6 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
恋猫de小郭6 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub6 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
大模型RAG和Agent技术实践7 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢7 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖7 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer7 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab7 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent
阿里巴巴淘系技术团队官网博客8 小时前
设计模式Trustworthy Generation:提升RAG信赖度
人工智能·设计模式