离家半步是天涯 2025-07-26 13:41 采纳率: 0%
浏览 52

cursor和claude模型不断生成测试文件,修改规则没有作用

用claude不得不尝的,先帮你生成代码,静态检查出错再帮你解决这个报错,再给你生成一份测试代码,自己假模假样的运行一下然后又认为有更好的实现,然后给你新建一个 原代码_高级实现.py,然后再跑一趟刚刚的流程,然后再生成一份简化版的实现,再跑一遍刚刚的流程,然后给你生成一份抓不住重点几百字的readme,最后你切回来看到你的项目文件夹多了十几个文件(删了浪费算力,不删又得自己看一遍筛选)请问这种问题大家是如何解决的,小中型项目不断生成新的主文件 全是无用内容

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-07-26 13:42
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    你描述的问题非常典型,尤其是在使用 ClaudeCursor 等 AI 工具辅助开发时,容易出现“无意义的文件生成、重复代码、项目混乱”等问题。这种现象在小中型项目中尤为明显,因为这些工具倾向于生成大量尝试性代码和测试文件,但往往缺乏对项目结构的全局把控。


    一、问题分析

    1. AI 工具的行为特点

    • 频繁生成新文件:AI 会不断尝试不同的实现方式,导致项目中出现多个版本的 main.pytest.pyhelper.py 等。
    • 缺乏版本控制意识:AI 不理解 Git 的作用,不会主动提交或合并代码,只会不断生成新文件。
    • 逻辑混乱:AI 生成的代码可能有错误,但不会自动修复,而是继续生成新的文件。

    2. 项目管理问题

    • 文件数量爆炸:几十个无用文件,难以筛选出有效内容。
    • 无法快速定位主逻辑:主文件被多次覆盖或重命名,导致开发效率低下。
    • 资源浪费:不必要的文件占用磁盘空间和计算资源(尤其是 AI 工具持续运行时)。

    二、解决方案

    1. 使用版本控制系统(Git)进行管理

    重点: 必须将所有生成的文件纳入 Git 控制,避免手动删除或混淆。

    步骤如下:

    1. 初始化 Git 仓库

      git init
      
    2. 创建 .gitignore 文件

      • 忽略所有 AI 生成的临时文件(如 *.py~, __pycache__, test_*.py
      • 示例 .gitignore 内容:
        *.py~
        __pycache__
        test_*
        generated_*
        .DS_Store
        
    3. 定期提交代码

      • 每次生成重要代码后执行:
        git add .
        git commit -m "Generated new version of main logic"
        
    4. 分支管理

      • 为每个 AI 生成的版本创建独立分支(如 claude-v1, cursor-test),便于回溯和对比。

    2. 设置 AI 工具的输出限制

    重点: 在 AI 工具中设置输出限制,避免无意义的文件生成。

    如何操作:

    • Claude

      • 在对话界面中明确说明:“请不要生成额外文件,只返回代码片段。”
      • 如果你需要测试代码,可以要求 AI 生成一个简单的 test.py,而不是多个。
    • Cursor

      • 使用插件或配置文件限制 AI 的行为,例如:
        {
          "ai": {
            "max_files": 1,
            "max_lines_per_file": 500
          }
        }
        

    3. 使用脚本自动化清理无用文件

    重点: 编写脚本定期清理无用文件,保持项目整洁。

    示例 Python 脚本(clean_project.py):

    import os
    import re
    
    # 定义需要删除的文件模式
    patterns = [
        r'^test_.*\.py$',
        r'^generated_.*\.py$',
        r'^__pycache__$',
        r'^\..*\.py~$'
    ]
    
    # 遍历当前目录
    for root, dirs, files in os.walk('.'):
        for file in files:
            for pattern in patterns:
                if re.match(pattern, file):
                    file_path = os.path.join(root, file)
                    print(f"Deleting: {file_path}")
                    os.remove(file_path)
    
    print("Project cleaned successfully.")
    

    使用方法:

    python clean_project.py
    

    4. 建立清晰的项目结构

    重点: 定义统一的文件命名规范和目录结构,防止 AI 乱生成。

    推荐结构:

    my_project/
    ├── main.py               # 主程序入口
    ├── utils.py              # 工具函数
    ├── models/               # 模型相关代码
    │   └── model.py
    ├── tests/                # 测试代码
    │   └── test_main.py
    ├── README.md             # 项目说明
    └── .gitignore
    

    AI 使用建议:

    • 明确告诉 AI:“请只在 tests/ 目录下生成测试文件,其他文件请不要生成。”

    5. 限制 AI 的权限和行为

    重点: 通过配置限制 AI 对文件系统的访问权限。

    • 在开发环境中,使用沙盒环境运行 AI 工具,禁止其写入项目目录
    • 使用容器化技术(如 Docker)隔离 AI 工具,避免直接修改本地文件。

    三、推荐工作流程(结合 AI 工具)

    1. 明确需求 → 用 AI 生成初步代码
    2. 静态检查 → 用 linter(如 flake8pylint)检查语法错误
    3. 手动审查 → 保留核心逻辑,删除冗余文件
    4. 提交 Git → 将有效代码提交到版本库
    5. 清理无用文件 → 运行 clean_project.py
    6. 继续迭代 → 用 AI 生成新功能,重复上述流程

    四、总结

    | 问题 | 解决方案 | |------|----------| | AI 生成过多无用文件 | 使用 Git 版本控制 + 自动清理脚本 | | 项目结构混乱 | 建立清晰的目录结构 + 命名规范 | | AI 无意识地覆盖主文件 | 限制 AI 权限 + 分支管理 | | 无法快速定位主逻辑 | 使用 Git 提交历史 + 文档说明 |


    如果你希望我帮你生成一份简洁的项目结构模板自动清理脚本,也可以告诉我你的具体项目类型(如 Python、JavaScript、Java 等),我可以提供更具体的代码示例。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月26日