
前言过去一年我越来越多地使用 GitHub Copilot基于 OpenAI Codex来辅助编程。起初我担心这会让我变懒甚至失去解决问题的能力。然而几个月后我发现自己的生产力和代码质量都提升了——但方式和我预想的完全不同。这篇文章不是工具测评而是我在“人与 AI 协作编程”这个新模式下真实学到的 5 件事。1. 写注释变成了一种“向 AI 提需求”的技能以前我写注释只是为了提醒自己或同事。现在我会这样写python# 从给定的 URL 列表下载所有图片保存到 ./images/ 目录 # 如果文件已存在则跳过返回成功和失败的列表Codex 几乎能立刻补全出可运行的实现包括try/except、路径检查和状态返回。我学到的清晰的逻辑描述比熟练记忆 API 更有价值。2. 重复代码不再是烦恼而是“样本”当我在一个文件中第二次写类似的循环或数据处理时Codex 会自动建议“像上次那样完成”。这让我意识到重复不是坏事它是给 AI 的模式样本。案例我写了一个函数validate_email(email)接着写validate_phone(phone)—— 只打了def validate_phone(剩下的行正则、异常处理、返回布尔值就自动生成了。3. 我反而开始写更多测试因为生成代码太容易了我会怀疑“这段代码真的正确吗” 于是我养成了一个新习惯对 AI 生成的每个函数立刻要求它生成测试用例。比如写完上面的download_images函数后我输入python# 测试 download_images 函数Codex 会生成包含模拟请求、临时目录、断言结果的pytest测试代码。这迫使我思考边界条件而不是盲目信任 AI。4. AI 会犯错而且错得很自信最大的陷阱Codex 会生成看起来正确、但实际有逻辑错误的代码。例如它曾在一个递归函数中漏掉了基线条件。我的应对方法把 AI 当成一个“写得很快的新人”而不是权威。始终复查循环终止条件、变量作用域和安全相关代码如 SQL 拼接、eval 等。5. 它无法替代架构设计但能帮你实现细节在开始一个新功能时我仍然需要自己设计模块、类结构、接口。但一旦我把函数签名写下来例如pythondef retry_request(url, max_retries3, backoff_factor0.5): # 带指数退避的重试逻辑Codex 能很好地补全time.sleep、异常捕获、重试计数等细节。我专注于“做什么”它负责“怎么做”的常见模式。结论Codex 没有让我变笨它把我从“打字员”变成了“设计师”编程的核心从“记住语法和库”转向了“清晰地定义问题与约束”。如果你把它看作一个会打字的伙伴而不是自动完成机器你会发现自己的设计能力和审查能力在提升。最后一句建议信任但验证。就像你不会不经审查就合并一个初级开发者的 PR 一样对 AI 生成的代码也要保持同样的专业态度。工具本身不决定成败使用它的方式才决定。你在使用 AI 辅助编程时有类似感受吗欢迎在评论区分享你的经验。