AI编程方式及工具的选择

前言

AI编程大概有以下几种分类

  • 聊天方式提问
  • 代码提示插件
  • 集成AI的IDE
  • 终端CLI

聊天方式提问

常见的有

  • 豆包
  • 千问
  • DeepSeek

个人推荐使用千问,在一些新版本框架或组件的使用上,千问回答的相对更准确,可能是它训练的数据集相对较新。

代码提示插件

  • lingma

  • Qoder

  • Trae

  • CodeGeeX

个人推荐使用lingma,它和Idea的兼容性较好,不会出现其他插件和IDE自带的提示冲突的情况。

集成AI的IDE

终端CLI

  • Claude Code

    国内使用账号容易被禁用。

  • OpenCode

    开源版Claude Code

  • iFlow CLI

    阿里出品

    iFlow cli

  • Gemini Cli

    谷歌出品、国内不能直接使用。

LSP和MCP

LSP 是一种标准化协议,用于在代码编辑器(如 VS Code、Vim、JetBrains IDE 等)和“语言服务器”之间传递代码语义信息。

MCP 是一种新兴协议(仍在发展中),旨在标准化 AI 模型与开发环境之间的上下文交换。它关注的是:如何把“整个项目”的相关信息高效、安全地传递给 AI 模型

协议 全称 目标 关注点 成熟度
LSP Language Server Protocol 让编辑器理解代码 代码级语义(语法、类型、结构) ✅ 成熟,广泛支持
MCP Model Context Protocol 让 AI 理解项目 项目级上下文(架构、任务、规范) 🚧 新兴,生态发展中

示例

你想让 AI 为以下 Python 函数写单元测试:

1
2
def calculate_tax(income: float) -> float:
return income * 0.2

LSP 会告诉 AI

  • incomefloat 类型
  • 函数返回 float
  • 当前文件导入了哪些模块

MCP 会告诉 AI

  • 项目使用 pytest(通过 pyproject.toml 判断)
  • 测试文件通常放在 tests/ 目录
  • 其他测试用例的命名风格(如 test_calculate_tax
  • 是否有 mock 依赖(本例没有)