之前用 AI 编程工具时,经常要同时开着好几个网页和插件,来回切换很影响效率。最近了解到阿里推出了一款叫 Qoder 的 AI 编程工具,把模型对话、代码生成、IDE 插件、Agent 自动执行这些能力整合到了一起,身边不少同事都在尝试。“编程能力外溢”这个说法也很有意思——它不只是给专业程序员提效,还让产品、测试、运维甚至没有系统学过编程的人,也能通过自然语言把想法变成可用代码。
这篇文章我会围绕 Qoder 的安装使用、核心功能、实战案例、常见问题排查和工程建议展开,适合刚接触 AI 编程工具的新手,也适合已经在用 Cursor、Trae 想横向对比的开发者。本文不会涉及具体版本号细节,因为这类工具迭代太快,配置思路比记住固定版本更重要。
1. 背景与核心概念
1.1 Qoder 是什么
Qoder 是阿里巴巴推出的一款 AI 编程工具,可以简单理解成“长在 IDE 里的智能编程助手”。它能做的事情包括:自然语言生成代码、代码补全、代码解释、代码审查、单元测试生成、Bug 定位修复,以及通过 Agent 方式自动完成多步骤开发任务。
相比传统 IDE 插件,Qoder 不是简单把大模型聊天窗口搬进编辑器,而是更强调“上下文理解”。它知道你当前打开的文件、选中了哪段代码、项目的语言和依赖,所以生成的代码往往更贴合实际工程场景,而不是一篇脱离项目的“通用答案”。
从使用形态来看,Qoder 有两种主要方式:
- 插件模式:安装到 VS Code、IntelliJ IDEA、PyCharm 等 IDE 中使用。
- 独立 IDE 模式:Qoder CN IDE,相当于一个预装好 AI 能力的编辑器,开箱即用。
这两种形态覆盖了不同习惯的开发者:老手倾向于在自己熟悉的 IDE 里加插件,新人或者想轻量体验的人可以直接用独立 IDE。
1.2 AI 编程工具演进:从自动补全到智能体
理解 Qoder,最好先看一条演进线:
- 第一代:自动补全。典型代表是 TabNine、GitHub Copilot 早期版本,根据已写代码预测下一段,本质是“高级输入法”。
- 第二代:对话式编程。你可以在聊天窗口里描述需求,模型生成整段代码,典型代表是 ChatGPT 辅助编程、Copilot Chat。
- 第三代:智能体(Agent)式编程。工具不再只是“你问一句,它答一句”,而是可以接收一个目标,自行读取项目文件、搜索问题、修改代码、执行命令行、跑测试,最后交付结果。
Qoder 目前正在往第三代方向演进。热词里提到的“qoder 的 hook 生命周期”就与 Agent 化有关:Hook 机制允许你在代码生成、代码审查、命令执行等关键节点挂载自定义脚本或回调,从而把 AI 工具接入到已有工作流中。
1.3 “编程能力外溢”怎么理解
标题里说的“编程能力外溢”,我理解有两层含义:
- 横向外溢:编程能力不再只是开发者的专利。产品经理可以用它快速做原型脚本,测试可以用它生成自动化用例,数据分析师可以用它写处理脚本。
- 纵向外溢:专业开发者从“逐行写代码”变成“提需求、审代码、控质量”,编码工作量大比例交给 AI,人的精力转向架构设计和代码评审。
这个概念贯穿全文,后面实战案例部分会进一步体现。
2. Qoder 安装与环境准备
2.1 使用方式选择
开始之前,先确定你想用哪种方式:
| 使用方式 | 适合人群 | 说明 |
|---|---|---|
| IDE 插件 | 已有固定 IDE 的开发者 | 在插件市场搜索 Qoder 安装 |
| 独立 IDE(Qoder CN) | 想轻量体验、不想折腾插件 | 下载 Qoder CN IDE 后登录即可 |
| 网页版对话 | 临时提问、脱离 IDE 场景 | 适合零散需求,不适合直接操作项目 |
如果你经常使用 VS Code、IDEA 或 PyCharm,我建议先装插件,学习成本最低。如果你希望有一套开箱即用的环境,可以试独立 IDE 版本。
2.2 IntelliJ IDEA / PyCharm 插件安装步骤
以 JetBrains 系列 IDE 为例:
- 打开 IDE,进入
File -> Settings -> Plugins。 - 在 Marketplace 搜索框输入
Qoder。 - 找到插件后点击
Install。 - 安装完成后重启 IDE。
- 右侧工具栏会出现 Qoder 面板,点击后按提示登录。
需要说明的是,不同 IDE 版本的插件市场入口略有差异,但搜索安装路径基本一致。如果插件市场搜索不到,可以去 Qoder 官方页面下载离线插件包,在Install Plugin from Disk中手动安装。
安装完成后,IDE 底部或侧边会出现 Qoder 的对话面板,同时编辑器里会有代码补全提示。此时可以先用简单指令测试连通性,比如在对话框输入“你好,请介绍一下你自己”。
2.3 登录与语言设置
Qoder 首次使用一般需要登录账号,常见方式是手机号、阿里云账号或淘宝账号,具体以插件页面提示为准。
关于“qoder 如何设置中文”这个问题,通用做法是:在 Qoder 设置面板里找到 Language / 语言选项,切换为简体中文。不同版本位置不一样,但通常不会太深,找设置齿轮图标即可。如果界面跟随 IDE 语言自动切换,那么把 IDE 显示语言改为中文后,Qoder 面板也会跟着变化。
2.4 版本与兼容性说明
这里必须强调:Qoder 当前仍处于快速迭代阶段,功能入口、模型选择、订阅方案都可能随时调整。本文描述的是常见配置思路,如果你打开的界面和本文不一致,优先以官方文档和插件内提示为准。
3. Qoder 核心功能拆解
3.1 对话式编程:把自然语言变成代码
对话式编程是 Qoder 最基础也最常用的能力。在 Qoder 面板输入自然语言指令,模型会结合当前项目上下文返回代码片段。
先来看一个最简单的例子。假设你打开了一个 Python 项目,想实现“统计列表中重复元素出现次数”的功能,可以直接输入:
请写一个 Python 函数,接收一个列表参数,返回每个重复元素和其出现次数的字典。Qoder 可能会返回类似这样的代码:
# 文件路径:duplicate_counter.py from collections import Counter from typing import List, Dict def count_duplicates(items: List[str]) -> Dict[str, int]: """统计列表中出现次数大于 1 的元素,并返回元素与次数的映射。""" counter = Counter(items) return {key: value for key, value in counter.items() if value > 1} if __name__ == "__main__": sample = ["apple", "banana", "apple", "orange", "banana", "apple"] print(count_duplicates(sample))关键点在于:模型不是凭空给答案,而是会参考你当前文件的导入风格、项目语言和常见写法。如果你希望代码更符合项目规范,可以在提问时主动补充约束,比如“使用类型注解”“不引入第三方依赖”“按 Python 3.10 语法编写”。
3.2 代码补全与上下文理解
代码补全是 IDE 插件形态下使用频率最高的功能:
- 在编辑器中输入注释描述意图,例如
# 读取配置文件并解析 JSON,Qoder 会给出后续代码建议。 - 写完函数名和参数后,Qoder 会根据上下文补全函数体。
- 敲到一半的代码,按
Tab键可以直接接受补全建议。
值得关注的是,Qoder 的补全不是简单的逐字符预测,它会读取当前文件、同目录文件,甚至项目依赖信息。所以在使用补全功能时,一个组织良好的项目结构和清晰的命名规范,会显著提高补全准确率。
3.3 代码审查与优化建议
代码审查是容易被忽视但非常实用的功能。选中一段代码,右键选择 Qoder 相关菜单,或者把代码复制到对话框中要求审查,Qoder 会从以下几个维度给出建议:
- 安全风险:如 SQL 注入、路径遍历、敏感信息硬编码。
- 性能问题:如循环内重复查询、不必要的大对象复制。
- 可读性:如命名不规范、函数过长、魔法数字过多。
- 异常处理:如未捕获可能出现的空指针、文件不存在等异常。
下面用一个有问题的 Python 函数作为示例:
# 文件路径:unstable_code.py def get_user_name(user_id): conn = create_connection() cursor = conn.cursor() cursor.execute("SELECT name FROM users WHERE id = " + str(user_id)) result = cursor.fetchone() return result[0]这段代码至少有四个问题:SQL 拼接注入风险、未使用参数化查询、连接未关闭、取不到数据时 result 为空会导致 IndexError。把这段代码给 Qoder 审查,应该能得到类似修改建议:
# 文件路径:stable_code.py import sqlite3 def get_user_name(user_id: int) -> str | None: """根据用户 ID 查询用户名,使用参数化查询防止 SQL 注入。""" with sqlite3.connect("app.db") as conn: cursor = conn.cursor() cursor.execute( "SELECT name FROM users WHERE id = ?", (user_id,) ) row = cursor.fetchone() return row[0] if row else None这个例子说明,AI 编程工具不是只负责“写代码”,它也能充当第一轮代码评审人,帮助开发者提前发现低级错误。
3.4 Agent 与 Hook 机制
“qoder 的 hook 生命周期”在热词中出现频率很高。Hook 是 Qoder Agent 化之后提供的一种扩展机制,允许开发者在 AI 工作流的关键节点挂载自定义逻辑。
一个典型的 Hook 使用场景是:在 Qoder 生成代码后、写入文件前,自动执行本地代码格式化工具或静态检查工具。如果检查不通过,阻止代码落盘。
一个简化的 Hook 生命周期可以这样理解:
| 阶段 | 说明 | 常见用途 |
|---|---|---|
| 触发前(Before) | Agent 准备执行某动作前 | 记录日志、校验权限 |
| 执行中(During) | 代码生成或命令执行过程中 | 收集进度、超时控制 |
| 触发后(After) | 动作完成后 | 自动格式化、静态检查、通知 |
| 失败处理(Error) | 动作异常时 | 回滚、告警、重试 |
Hook 机制的引入意味着 Qoder 不再是一个“只能对话”的聊天工具,而是可以深度嵌入到团队现有的 CI/CD、代码规范体系里。不过该功能相对进阶,普通开发者可以先忽略,等熟悉基础用法后再研究。
3.5 自定义模型接入
“qoder 添加自定义模型”是另一个高频问题。Qoder 默认使用内置模型,但也提供配置自定义模型的能力,允许接入企业内部模型或第三方兼容接口。
自定义模型配置通常包括:
- 模型名称:自定义一个便于识别的名称。
- Base URL:模型服务的 API 地址。
- API Key:访问密钥。
- 模型标识:如
qwen-plus、gpt-4o-mini或内部模型名称。
如果你所在公司在内网部署了模型服务,并且和 Qoder 配置规范兼容,就可以在设置页添加。这里要提醒一点:不要因为“能配置”就把内部敏感数据随意发给不受信任的模型服务。自定义模型接入前,务必确认服务商的数据安全承诺和企业合规要求。
3.6 Qoder 与 Qoder Work 的定位差异
很多人在搜索“qoder 与 qoderwork 有什么区别”。从产品定位来看:
- Qoder 面向个人开发者,解决日常编码、调试、审查等问题。
- Qoder Work 更偏向团队协作和使用场景扩展,可能会在项目管理、团队知识库、多人共享配置等方面做增强。
如果你只是个人使用,Qoder 就足够了;如果要在团队内推广,并需要统一管理提示词、权限和审计日志,可以关注 Qoder Work 方向。具体功能边界以官方产品文档为准,因为这一块正处于快速变化中。
4. Qoder 与 Trae、Cursor 的对比
4.1 产品定位差异
热词里反复出现“qoder 和 trae 哪个好用”“cursor ai 编程”“codex trae claude qoder 比较”,可见大家在选型时确实容易纠结。
简单梳理一下:
- Cursor:较早做出“AI 优先编辑器”体验,交互流畅,生态成熟,不少独立开发者和前端团队在使用。
- Trae:字节跳动推出的 AI 编程工具,强调中文场景和国内开发者的使用习惯。
- Qoder:阿里出品,和通义千问等模型能力结合紧密,独立 IDE 和插件双形态,国内用户访问和登录成本相对低。
- Codex:OpenAI 的命令行编程智能体,更偏自动化任务执行。
这些工具没有绝对的“最好”,只有“更适合你的场景”。你在国内团队、主要使用 JetBrains 系 IDE,Qoder 插件可能更顺手;你偏好独立编辑器的极客感,可以试试 Cursor;你深度使用字节系开发环境,Trae 或许更契合。
4.2 选型建议
选型时可以从几个维度打分:
| 维度 | 关注点 |
|---|---|
| IDE 兼容性 | 是否支持你日常使用的 VS Code / IDEA / PyCharm |
| 模型质量 | 代码生成准确率、中文理解能力 |
| 登录与网络 | 在国内访问是否顺畅,是否便于团队统一管理 |
| 扩展性 | 是否支持自定义模型、Hook、插件体系 |
| 价格 | 免费额度、订阅费用,以各官方页面为准 |
建议不要一上来就全团队切换,可以选几个活跃项目做两周试用,看代码补全接受率、代码审查建议质量、是否影响日常开发流程,再决定是否推广。
5. 实战案例:用 Qoder 完成一个文件批量重命名工具
这一节我们完整演示一个案例:用 Qoder 生成一个文件批量重命名工具。这个需求很常见,也足够典型,能覆盖对话生成、代码审查、修改迭代和测试验证的全流程。
5.1 需求描述
假设我们需要一个命令行工具,功能如下:
- 遍历指定目录下的所有普通文件。
- 根据规则批量重命名文件,例如把文件名中的空格替换为下划线,或添加前缀。
- 支持
--dry-run参数,只打印将发生的修改,不实际执行。 - 支持
--log参数,把操作日志写入文件。
为了让 Qoder 生成更准确的代码,我们可以把需求描述得具体一点:
请用 Python 写一个命令行文件批量重命名工具。 要求: 1. 使用 argparse 解析参数,参数包括目录路径、替换前后的字符串、可选前缀。 2. 递归遍历目录下所有文件。 3. 支持 --dry-run,只打印预览不执行。 4. 支持 --log,把重命名记录写入日志文件。 5. 遇到文件名冲突时跳过并给出警告。 6. 使用 pathlib 操作路径。5.2 让 Qoder 生成代码
把上述需求发给 Qoder,可能会得到类似下面的代码。这里给出一个完整可运行的版本:
# 文件路径:bulk_rename.py import argparse import logging from pathlib import Path def build_new_name(file_name: str, old: str, new: str, prefix: str = "") -> str: """根据替换规则和前缀构造新文件名。""" if old: replaced = file_name.replace(old, new) else: replaced = file_name return prefix + replaced def dry_run_plan(file_paths: list[Path], old: str, new: str, prefix: str = "") -> list[tuple[Path, Path]]: """生成重命名计划,但不执行。""" plan = [] seen = set() for path in file_paths: if not path.is_file(): continue new_name = build_new_name(path.name, old, new, prefix) if not new_name or new_name == path.name: continue new_path = path.with_name(new_name) if new_path.exists() or new_name in seen: logging.warning("跳过 %s,目标文件已存在或冲突", path) continue seen.add(new_name) plan.append((path, new_path)) return plan def run_rename(plan: list[tuple[Path, Path]], dry_run: bool) -> None: """执行重命名计划。dry_run 为 True 时只预览。""" for src, dst in plan: if dry_run: logging.info("[预览] %s -> %s", src, dst) else: src.rename(dst) logging.info("[执行] %s -> %s", src, dst) def collect_files(directory: Path) -> list[Path]: """递归收集目录下所有文件。""" return [p for p in directory.rglob("*") if p.is_file()] def main() -> None: parser = argparse.ArgumentParser(description="批量文件重命名工具") parser.add_argument("directory", type=Path, help="要处理的目录") parser.add_argument("--old", default="", help="要替换的旧字符串") parser.add_argument("--new", default="", help="替换成的新字符串") parser.add_argument("--prefix", default="", help="文件名前缀") parser.add_argument("--dry-run", action="store_true", help="只预览不执行") parser.add_argument("--log", type=Path, help="日志文件路径") args = parser.parse_args() logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s", handlers=[logging.StreamHandler()] + ([logging.FileHandler(args.log)] if args.log else []), ) if not args.directory.exists() or not args.directory.is_dir(): logging.error("目录不存在或不是文件夹: %s", args.directory) return files = collect_files(args.directory) plan = dry_run_plan(files, args.old, args.new, args.prefix) logging.info("共发现 %d 个文件,其中 %d 个需要重命名", len(files), len(plan)) run_rename(plan, args.dry_run) if __name__ == "__main__": main()这个脚本的关键点:
pathlib.Path处理跨平台路径,比字符串拼接更安全。dry_run_plan先生成完整计划,再执行,保证预览和实际执行逻辑一致。- 目标文件名冲突时跳过,避免覆盖已有文件。
- 日志同时输出到控制台和文件,方便审计。
5.3 代码审查与修改
拿到第一版代码后,不要直接拿去生产环境跑,可以继续让 Qoder 做一轮代码审查:
请审查上面这段代码,重点检查: 1. 是否有路径越权或特殊字符风险。 2. 日志是否会记录敏感信息。 3. 是否存在并发安全问题。 4. 是否有可以精简的逻辑。针对这段代码,一个值得修改的地方是:如果目录本身包含需要重命名的文件,而重命名规则可能会改变父目录路径,那后续遍历结果可能不稳定。另一个可优化点是:可以把“构造新名字”和“检查冲突”拆成更细的函数,方便单元测试。
这些都是 Qoder 审查后可能给出的建议。实际使用时,你应该结合项目情况决定是否采纳。
5.4 运行与验证
假设我们在一个测试目录下有这些文件:
test_dir/ hello world.txt report final.docx data.csv先执行预览模式:
python bulk_rename.py test_dir --old " " --new "_" --dry-run预期输出类似:
[预览] test_dir/hello world.txt -> test_dir/hello_world.txt [预览] test_dir/report final.docx -> test_dir/report_final.docx确认无误后再实际执行:
python bulk_rename.py test_dir --old " " --new "_" --log rename.log然后检查目录和日志文件,确认重命名符合预期。第一次使用这类工具时,强烈建议先跑--dry-run,避免误操作造成文件批量改名后难以恢复。
5.5 用 Qoder 生成单元测试
命令行工具逻辑相对独立,非常适合补单元测试。继续让 Qoder 生成测试代码:
请为 bulk_rename.py 中的 build_new_name 和 dry_run_plan 函数编写 pytest 单元测试,覆盖正常替换、前后缀、冲突跳过和空参数场景。生成的测试代码可能是:
# 文件路径:test_bulk_rename.py from pathlib import Path from bulk_rename import build_new_name, dry_run_plan def test_build_new_name_replace_space(): assert build_new_name("hello world.txt", " ", "_") == "hello_world.txt" def test_build_new_name_with_prefix(): assert build_new_name("data.csv", "", "", prefix="backup_") == "backup_data.csv" def test_dry_run_plan_skip_conflict(tmp_path): (tmp_path / "a.txt").write_text("a") (tmp_path / "b.txt").write_text("b") # 两条规则都会映射到 b.txt,后者应被跳过 files = [tmp_path / "a.txt", tmp_path / "b.txt"] plan = dry_run_plan(files, "a.txt", "b.txt") assert len(plan) == 1 def test_dry_run_plan_skip_same_name(tmp_path): (tmp_path / "a.txt").write_text("a") files = [tmp_path / "a.txt"] plan = dry_run_plan(files, "", "") assert plan == []这个案例展示了 AI 编程的一个标准工作流:需求描述 -> 生成代码 -> 审查修改 -> 运行验证 -> 补充测试。整个过程里,人的角色从“写代码”变成了“提需求、做判断、控质量”。
6. 常见问题与排查思路
6.1 PyCharm 插件看不到历史记忆
热词里有“pycharm 的 qoder 看不到记忆是什么情况”。这里说的“记忆”,通常指之前的对话记录或会话上下文。
常见原因和排查思路:
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 找不到历史对话 | 插件版本过低 | 更新到最新版 Qoder 插件 |
| 登录状态不一致 | 会话记录绑定账号,未登录同一账号 | 确认 IDE 内登录的账号与之前一致 |
| 界面缓存异常 | IDE 缓存未刷新 | 重启 IDE,或清理 IDE 缓存后重试 |
| 企业网络限制 | 本地会话数据同步受网络影响 | 检查网络连接,确认相关域名可达 |
如果清理后仍然看不到,最直接的办法是把问题反馈给 Qoder 官方,因为不同版本的“记忆”存储策略可能存在差异。
6.2 无法添加自定义模型
“qoder 添加自定义模型”看起来很简单,但实际配置时容易踩坑:
- 找不到入口:不同版本设置菜单位置不同,先在设置里搜索“自定义模型”或“Model”。
- Base URL 填错:很多模型服务要求 URL 结尾不能带斜杠,或者必须以
/v1结尾。 - 鉴权失败:API Key 配置错误,或者模型服务要求额外的 Header。
- 网络不通:企业内部模型服务地址无法从当前网络访问。
排查顺序建议:先确认账号有权限 -> 再确认 Base URL 能在浏览器访问 -> 最后确认模型名称是否和服务端一致。
6.3 插件安装失败或 IDE 不识别
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 插件市场搜不到 | IDE 版本过旧或插件市场区域差异 | 使用离线包从磁盘安装 |
| 安装后不生效 | 未重启 IDE | 重启 IDE,并确认插件已启用 |
| 右下角弹错误 | 插件与 IDE 版本不兼容 | 查看错误日志,切换插件版本 |
6.4 生成代码质量不稳定
这是 AI 编程工具最普遍的共性问题。根本原因通常是需求不明确或上下文不充分。
改进方法:
不要写“帮我写一个登录功能”,而是写: “请用 Python + Flask 实现一个登录接口,接收 JSON 格式的 username 和 password,校验通过后返回 JWT Token,失败返回 401。请把密码校验逻辑独立成函数,并使用 bcrypt 哈希。”需求越具体,生成结果越可控。另外,在让 AI 生成代码之前,先把项目目录结构、使用的框架、数据库版本告诉它,能显著提升生成质量。
6.5 低代码/非代码场景的使用注意
热词里有“扣子编程中低代码模式智能体开发怎么没有了”,说明很多用户在用低代码平台时也会遇到功能变化的问题。这里顺带提醒:AI 编程工具、低代码平台都处于快速迭代期,功能入口增减很正常。如果你的某个功能“不见了”,先查官方更新日志,再决定是否需要切换版本。
7. 最佳实践与工程建议
7.1 提示词写得越具体,结果越可控
现在很多人把“提示词工程”想得很玄,其实放到 AI 编程场景里,核心就几点:
- 说清楚输入是什么、输出是什么。
- 提供约束条件,如语言版本、是否允许第三方依赖、代码风格。
- 提供上下文,如相关文件路径、项目结构。
一个实用模板:
【任务】请实现 XX 功能。 【文件】此功能将放入 src/xxx.py。 【输入】接收 XX 类型参数。 【输出】返回 XX 结构。 【约束】不使用 requests,使用标准库 urllib;代码风格遵循 PEP8。7.2 建立“AI 生成 + 人工审查”的闭环
AI 生成的代码,尤其是来自通用大模型的代码,不一定符合当前项目的架构规范。建议固定的流程是:
- AI 生成初版代码。
- 开发者阅读并理解每一段逻辑。
- 让 AI 审查自己生成的代码,找安全与性能问题。
- 开发者修复或调整关键点。
- 跑单元测试和静态检查。
- 人工最终确认后再合入版本库。
这样既利用了 AI 的效率,又守住了代码质量底线。
7.3 敏感项目与权限边界
在企业项目中使用 AI 编程工具,要非常注意数据边界。不要把数据库密码、云厂商 AccessKey、内部接口地址等敏感信息直接粘贴到对话中。涉及生产环境、数据库变更、权限配置时,AI 生成的命令和脚本只能作为参考,必须经过人工确认,并在测试环境验证后才能执行。
7.4 渐进式引入 AI 编程工具
团队引入 Qoder 这类工具时,不建议搞“一刀切”。可以分三步:
- 个人试用:挑一两个开发自选项目,熟悉功能边界。
- 小范围推广:组建一个 5 到 10 人的试点小组,统一配置好插件、常用提示词和代码审查规范。
- 团队沉淀:把高频提示词、审查清单、常用自定义模型配置整理成团队文档。
8. 总结与下一步学习建议
这篇文章从 Qoder 是什么、怎么安装、核心功能拆解,到与 Trae、Cursor 的横向对比,再到完整实战案例和常见问题排查,覆盖了 AI 编程工具使用的主要环节。重点不是记住某个按钮的位置,而是理解一套工作方式:把自然语言变成需求,把需求交给 AI,把 AI 的结果纳入人工审查闭环。
接下来可以做的事:打开你的 IDE,安装 Qoder 插件,从一个小的命令行工具开始练手。第一次生成代码也许不完美,但反复修改的过程,就是你和 AI 协作磨合的过程。等到你熟悉了基础用法,再慢慢研究 Hook、自定义模型和团队级使用规范,那时候你大概就能理解为什么说“编程能力外溢”了。
如果本文对你有帮助,可以收藏备用。也欢迎把你在使用 Qoder 过程中遇到的问题写在留言区,一起讨论交流。