2026程序员AI编程笔记精华:踩坑总结与实战经验

2026程序员AI编程笔记精华,踩坑总结与实战经验分享

正文

从去年开始用AI编程工具,到现在快一年了。踩过不少坑,也积累了一些心得。之前在本地记了些笔记,现在整理出来,分享给有需要的同学。

内容会比较杂,是我这一年的实操记录,不成体系,但都是真实经验。废话不多说,直接上干货。

AI编程工具对比表格,Cursor Copilot JetBrains功能差异分析

一、AI编程工具:我用了一圈下来,结论是这样的

主流工具我用过的有:

  • Cursor(主力工具,用了大半年)
  • GitHub Copilot(用了小半年)
  • JetBrains AI Assistant(偶尔用)
  • Trae(最近在试)

用下来的感受:

Cursor对我来说是效率提升最明显的。它的Composer功能太强了,新项目直接用它生成基础代码,我再在上面改,比自己从空文件写快多了。尤其是写CRUD代码,Cursor生成得又快又规范,省去很多重复劳动。

Copilot的强项是代码补全。它对Python、JavaScript的支持非常成熟,补全准确率高,适合边写边用。但让它帮我理解陌生代码或者重构,就没Cursor好使了。

JetBrains家的AI Assistant我主要在PyCharm里用。对Java项目支持更好,Python方面稍弱。如果你主要写Java/Kotlin,可以考虑。

Trae是字节出的,优点是对中文支持好,而且完全免费。最近在用它处理一些国内项目,配合Cursor用挺顺手。

我的建议: 如果只能选一个,选Cursor。它功能最全面,Composer和Chat配合使用,基本能覆盖大部分开发场景。

二、RAG项目开发:这几个坑踩得我印象深刻

今年做了一个企业知识库问答系统,用的是RAG架构。开发过程中踩了几个坑,记录一下。

坑一:文档切分策略直接影响检索质量

一开始我用的固定长度切分,每块512字符。结果发现,切到一半的技术文档,检索出来的内容经常是断的,用户体验很差。

后来改成按语义切分,用langchain的RecursiveCharacterTextSplitter,同时把chunk_overlap调大到50左右。这样相邻块有重叠,检索出来的内容上下文更完整。

python

from langchain.text_splitter import RecursiveCharacterTextSplitter

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=300,      # 之前用512,改小了
    chunk_overlap=50,     # 加了重叠,保证上下文连贯
    length_function=len,
    separators=["\n\n", "\n", "。", "!", "?", ""]  # 按语义断句
)

坑二:向量检索和关键词检索要混合使用

单纯用向量检索,有个问题:用户问”密码忘了”,检索到的可能是”忘记密码”,这没问题。但用户问”pwd reset”,向量检索可能匹配不到中文”重置密码”的内容。

后来加了BM25关键词检索,两种检索结果按权重合并。向量检索负责语义理解,关键词检索负责精确匹配,互相补充。

python

from langchain_community.retrievers import EnsembleRetriever

# 混合检索,权重可调
ensemble_retriever = EnsembleRetriever(
    retrievers=[bm25_retriever, vector_retriever],
    weights=[0.3, 0.7]  # 关键词30%,向量70%
)

坑三:生产环境别用Chroma

本地开发用Chroma很方便,零配置就能跑。但上线后发现两个问题:

  1. 内存占用高,几万条数据就卡
  2. 不支持分布式,多实例部署会数据不一致

后来换了Milvus,用Docker部署,稳定多了。数据量大的话,建议直接上Milvus或者Pinecone。

三、大模型API调用:这些细节不注意,分分钟超预算

调用大模型API是按token计费的,以下是我踩过的预算坑。

教训一:prompt要精简,能不说的废话就不说

我最早写prompt特别啰嗦,喜欢加很多背景描述。输出质量确实好了,但token消耗也上去了。一算账单,发现60%的token都浪费在那些”尊敬的AI助手”之类的客套话上了。

后来学乖了,prompt能简则简,只保留核心信息。输出质量没降多少,token消耗降了40%。

python

# 优化前(浪费token)
"""
请你作为一个专业的Python后端开发工程师,
帮我审查以下代码。
这段代码是一个用户认证模块,
主要功能是验证用户登录信息...
"""

# 优化后(精简版)
"""
审查以下Python代码,找出潜在问题:
[代码内容]
"""

# 注意,我只说"找出潜在问题",没说什么类型的。
# 模型会自动识别常见问题类型,反而更准。

教训二:temperature不是越高越好

temperature控制输出的随机性。很多人以为temperature=0.8输出更有创意,其实不是。

我的经验:

  • 问答题、代码审查等需要准确答案的:temperature=0.1~0.3
  • 头脑风暴、创意文案:temperature=0.5~0.7
  • 精确匹配(比如JSON输出):temperature=0

教训三:结果缓存要善用

如果你的业务里,有大量重复或相似的query(比如FAQ),一定要加缓存。

我的做法:

python

from functools import lru_cache

@lru_cache(maxsize=1000)
def get_cached_response(question: str, user_id: str = None):
    """带缓存的问答函数"""
    # 先查缓存
    cache_key = f"{user_id}:{question}"
    
    # 命中缓存直接返回
    if cache := redis.get(cache_key):
        return json.loads(cache)
    
    # 没命中,调API
    response = call_llm_api(question)
    
    # 写入缓存,过期时间1小时
    redis.setex(cache_key, 3600, json.dumps(response))
    
    return response

实测加缓存后,API调用量降了70%,一个月省了大几百块的API费用。

四、提示词工程:我总结了三个万能模板

提示词写得好不好,直接决定AI输出质量。我总结了三个常用模板,基本能覆盖日常开发场景。

模板一:代码审查模板

plaintext

角色:你是一个资深后端开发工程师,擅长代码审查
任务:审查以下{语言}代码
要求:
1. 找出安全漏洞
2. 指出性能问题
3. 评估代码可维护性
4. 提出改进建议

代码:
{代码内容}

输出格式:
## 安全问题
{列出发现的问题及修复建议}

## 性能问题
{列出发现的问题及修复建议}

## 可维护性
{评估结果}

## 综合评分
{1-10分}

模板二:代码生成模板

plaintext

角色:{语言}后端开发专家
任务:编写{功能描述}
技术栈:{技术栈版本}
要求:
1. 符合PEP8/{语言}代码规范
2. 添加中文注释
3. 处理异常情况
4. 返回完整可运行的代码

功能需求:{具体需求描述}

额外约束:{如果有特殊要求,如性能要求、安全要求等}

模板三:问题排查模板

plaintext

现象:{描述遇到的问题}
环境:
- 系统:{操作系统}
- {语言}版本:{版本号}
- 依赖库:{主要依赖版本}

相关代码:
{粘贴关键代码片段}

已尝试的解决方法:
{列出你试过的方法及结果}

请分析可能的原因,并给出解决步骤。

这三个模板我用了大半年,AI输出质量稳定,比每次都临时组织语言效果好很多。

五、AI编程的正确姿势:不是替代,是协作

很多人担心AI会取代程序员。我觉得这个担心有点早。

AI确实能写代码,但它不懂业务。你告诉它”实现一个订单模块”,它能写出CRUD代码,但它不知道怎么设计订单状态机、怎么处理分布式事务、要不要考虑幂等性。这些业务逻辑和架构设计,必须人来定。

我用AI编程的思路是:AI负责执行,人负责决策。

具体来说:

  • 需求分析、架构设计:人来
  • 简单代码、补全、格式化:AI来
  • 代码审查:AI初筛,人工复核
  • bug定位:AI分析,人确认
  • 性能优化:人分析热点,AI生成优化代码

这样分工下来,效率确实高了不少。以前一天写200行代码,现在能写500行,而且bug率还低了。

六、实用工具清单:我的开发环境配置

最后分享下我现在的开发环境:

编辑器:

  • Cursor(主力)+ VS Code(备选)
  • 插件:Prettier、ESLint、GitLens、Error Lens

AI工具:

  • Cursor Composer:多文件编辑
  • Cursor Chat:代码问答
  • Notion AI:文档处理

API调用:

  • OpenAI API(主力):gpt-3.5-turbo-1106,性价比最高
  • Claude API(备选):代码和长文本处理更强
  • 智谱GLM(国内项目):中文场景表现好

调试工具:

  • Postman:API测试
  • Redis:缓存和向量存储
  • LangSmith:LLM应用调试(贵,但好用)

写在最后

AI编程还在快速发展,每个月都有新工具冒出来。我的策略是保持关注,但不追新。稳定好用的工具先研究透,等新工具经过市场验证了再考虑切换。

以上就是我这一年AI编程的实战笔记,比较碎,但都是真金白银踩出来的坑。如果对你有帮助,欢迎收藏。

有问题欢迎评论区交流,一起进步。

相关推荐:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注