引言:

为了 搬砖,我们只能做的更快,更好,更多。。。
所以,脑力劳动牛马的你我他,不得比学会如何使用AI。
书面语:使用AI写脚本的规范化提问,是当下IT民工必知必会的工具。

Ai不是万能的
如今的AI,顶多也就像一个无性别,无表情,随叫随到可以和你对话的私人助理跟你互动一下,
其实历史上也有很多,例如:
10年前的百度给你答案却要你筛选,
20年前的Excel能算数但不懂业务,
50年前的百科全书有知识没智慧,
100年前的算盘只听指令不问对错。

一句话总结,你问,它就很自信,它说自己什么都能做,但做什么都得你想清楚。
(多说几句,看似很矛盾,上升到哲学层面,其实很多人想要什么,自己未必清楚。。。
另外,到具体现实实践和社会层面,亦如此,不然何来各种售前售后经理和各种需求分析,何来各种对接服务业社会对接岗位呢?)

不过资本正在努力在做很多标准化对接,用于代替人工的工作,好事。。好事。。标准化哪有这么容易 哈哈~

但是:
AI不了解我们的环境,不了解上下文,不了解具体要应用的场景,也不了解规范。
所以在使用AI辅助编写各种文章和代码的时候,经常会遇到这样那样的问题。

本文主要针对 编写Shell和Python脚本:

以下或会简称 脚本 举例我们经常会遇到以下问题 :

  • 不同脚本在不同操作系统(Linux/Windows)上编码混乱
  • 缺少必要的帮助文档和日志功能
  • 错误处理不友好,调试困难
  • 代码风格不一致,可维护性差

本文旨在提供一套完整的提问模板和注意事项,让AI生成更符合生产要求的脚本代码。

第一部分:给AI写脚本的核心信息模板

基础信息必填项(每次提问都应包含)

## 脚本基础信息
1. **目标系统**: [Linux/macOS/Windows/WSL/多平台兼容]
2. **编程语言**: [Python 3.x / Bash Shell]
3. **核心功能**: [50字内清晰描述]
4. **预期运行方式**: [命令行参数/配置文件/交互式]
5. **安全要求**: [是否需要处理敏感数据]

## 编码规范要求
- 字符编码: UTF-8 with BOM (Windows) / UTF-8 without BOM (Linux)
- 换行符: LF (Linux) / CRLF (Windows) - 请注明
- Python缩进: 4个空格
- Shell解释器: 明确指定 (#!/bin/bash 或 #!/usr/bin/env bash)

## 必须包含的功能模块
- [ ] 帮助文档 (-h/--help)
- [ ] 日志记录 (INFO/WARNING/ERROR级别)
- [ ] 错误处理 (try-catch/错误码返回)
- [ ] 参数验证
- [ ] 进度提示 (长时间任务)
- [ ] 版本信息 (-v/--version)

完整提问模板示例

请编写一个Python脚本,用于批量重命名指定目录下的图片文件。

## 脚本要求
**基础信息**:
- 目标系统: Linux (Ubuntu 20.04+) 和 Windows 10/11 双平台兼容
- Python版本: 3.8+
- 字符编码: UTF-8 (Linux用无BOM,Windows用UTF-8-BOM)
- 换行符: 根据平台自动适配

**功能要求**:
1. 支持按日期、序列号重命名
2. 支持文件格式过滤 (.jpg, .png, .gif)
3. 支持预览模式(不实际重命名)

**代码质量**:
1. 必须包含完整的argparse参数解析
2. 实现多级日志记录 (DEBUG, INFO, WARNING, ERROR)
3. 所有文件操作需要异常捕获和友好错误提示
4. 添加类型注解 (Type Hints)
5. 包含main()函数和if __name__ == "__main__"

**输出要求**:
1. 执行时显示进度条
2. 生成操作日志文件
3. 提供详细的帮助文档

请先提供脚本的整体结构,确认后再实现完整代码。

第二部分:Shell脚本特殊注意事项

Shell脚本必备要素提示

#!/usr/bin/env bash
# 脚本必须包含以下部分:
# 1. 严格的错误处理
set -euo pipefail

# 2. 函数注释规范
# 函数名: 描述
# 参数: $1 - 参数说明
# 返回值: 0成功, 非0失败

# 3. 颜色输出定义 (如需)
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color

# 4. 日志函数
log_info() { echo -e "${GREEN}[INFO]${NC} $*"; }
log_error() { echo -e "${RED}[ERROR]${NC} $*" >&2; }

# 5. 帮助函数
show_help() {
    cat << EOF
Usage: $(basename "$0") [OPTIONS]
Description: 脚本描述

Options:
  -h, --help     显示此帮助信息
  -v, --version  显示版本信息
  -d, --debug    调试模式
EOF
}

# 6. 参数解析使用getopt或手动解析

跨平台Shell脚本提示要点

请编写一个跨平台的Shell脚本,特别注意:
1. 使用#!/usr/bin/env bash而不是#!/bin/bash
2. 避免使用Linux特有的命令(如realpath),或提供替代方案
3. 处理Windows路径分隔符与Linux的区别
4. 使用${VAR:-default}语法提供默认值
5. 检查命令是否存在: command -v cmd_name >/dev/null 2>&1
6. 临时文件使用mktemp,避免硬编码路径

第三部分:Python脚本规范化要求

Python脚本模板要求AI

"""
模块说明:清晰描述脚本功能
作者:AI生成 + 人工校验
版本:1.0.0
兼容性:Python 3.8+, 跨平台
"""

import sys
import os
import argparse
import logging
from typing import Optional, List
from pathlib import Path

# 日志配置
def setup_logging(log_level: str = "INFO") -> logging.Logger:
    """配置多级日志记录"""
    logger = logging.getLogger(__name__)
    # ... 详细实现

# 错误处理基类
class ScriptError(Exception):
    """自定义脚本异常"""
    pass

def validate_args(args) -> bool:
    """参数验证"""
    pass

def main() -> int:
    """主函数,返回退出码"""
    parser = argparse.ArgumentParser(
        description="脚本描述",
        formatter_class=argparse.RawDescriptionHelpFormatter,
        epilog="示例用法:\n  python script.py --input /path"
    )
    # 参数定义
    parser.add_argument("-i", "--input", required=True, help="输入文件")
    
    try:
        args = parser.parse_args()
        if not validate_args(args):
            return 1
            
        # 主逻辑
        return 0
    except KeyboardInterrupt:
        print("\n用户中断操作")
        return 130
    except Exception as e:
        logging.error(f"执行失败: {str(e)}", exc_info=True)
        return 1

if __name__ == "__main__":
    sys.exit(main())

第四部分:扩展阅读 - AI编程工具对比分析

我目前了解 目前AI写代码的工具很多,目前了解基本都是收费的,如果由开源好用的,欢迎留言~

Cursor vs VSCode+AI插件 vs 自定义索引(我觉得目前这个最好)

特性维度 Cursor VSCode + AI插件 自定义索引+AI
代码理解深度 ⭐⭐⭐⭐ 完整项目理解 ⭐⭐⭐ 文件级理解 ⭐⭐⭐⭐⭐ 定制化理解
响应速度 ⭐⭐⭐⭐ 快速 ⭐⭐⭐ 中等 ⭐⭐ 较慢(首次)
准确率 ⭐⭐⭐ 中等 ⭐⭐ 依赖提示质量 ⭐⭐⭐⭐ 高(针对训练数据)
大型工程支持 ⭐⭐⭐ 较好 ⭐⭐ 一般 ⭐⭐⭐⭐⭐ 优秀
学习成本 ⭐ 低 ⭐⭐ 中等 ⭐⭐⭐⭐ 高
定制化程度 ⭐⭐ 有限 ⭐⭐⭐ 中等 ⭐⭐⭐⭐⭐ 完全可控

各工具使用心得与最佳实践

1. Cursor 使用技巧
优点:开箱即用,代码补全智能
缺点:对大型项目理解有限

最佳实践:
- 开启"Cursor: Chat with files"功能
- 使用`.cursor/rules`目录定义项目规则
- 对于关键函数,先让AI阅读相关文件再编写
2. VSCode + GitHub Copilot/Claude
配置建议:
- 创建`.vscode/settings.json`定义项目规范
- 使用代码片段(Snippets)提高效率
- 配合GitLens理解代码历史

提示词技巧:
# 使用特定格式提问
// 要求:添加错误处理,包含日志记录
// 上下文:此函数用于文件上传
// 约束:必须兼容Python 3.8
3. 自定义索引 + OpenAI API/本地模型
实施步骤:
1. 创建项目知识库(Markdown文档)
2. 使用LlamaIndex或LangChain建立索引
3. 定义提示词模板
4. 设置RAG(检索增强生成)流程

索引文件结构:
/project_context/
├── api_docs.md      # API文档
├── coding_standards.md # 编码规范
├── examples/        # 示例代码
└── architecture.md  # 架构说明

大型工程中AI的局限性及应对策略

目前主流的免费的貌似都是128K左右。

常见问题:
  1. 上下文长度限制

    • 解决方案:分模块提问,使用索引检索
  2. 理解复杂架构困难

    • 解决方案:提供架构图文字描述,分层次解释
  3. 生成的代码与现有风格不符

    • 解决方案:提供项目代码示例作为参考
  4. 第三方库版本兼容问题

    • 解决方案:明确指定版本号,提供requirements.txt
高级使用模式 类似CICD文件 :
# AI编程工作流配置
workflow:
  - phase: "需求澄清"
    prompt_template: "基于以下需求编写{component}组件..."
    context_files: ["docs/requirements.md"]
    
  - phase: "代码生成"
    temperature: 0.2  # 低随机性
    constraints: ["遵循PEP8", "添加类型注解"]
    
  - phase: "测试生成"
    focus: "边界条件和异常处理"

第五部分:高效协作检查清单(可以再第一次生成后,直接复制给AI)

提交给AI前的自查项

  • 是否明确指定了目标操作系统和版本?
  • 是否说明了编码和换行符要求?
  • 是否包含了错误处理需求?
  • 是否要求了日志记录功能?
  • 是否指定了帮助文档格式?
  • 是否提供了示例输入输出?
  • 是否说明了性能要求?
  • 是否明确了第三方依赖?

AI生成代码后的验证项

  • 在目标系统上测试编码问题
  • 验证帮助文档完整性
  • 测试边界情况和错误处理
  • 检查日志输出是否合理
  • 验证跨平台兼容性
  • 检查安全敏感操作的处理

结论:建立可持续的AI协作流程

通过与AI的高效协作,我们可以将重复性编码工作自动化,但必须建立规范化流程:

  1. 创建团队共享的提示词库,积累最佳实践
  2. 建立代码审查清单,重点关注AI易错点
  3. 定期更新上下文文档,保持AI对项目的理解
  4. 混合使用多种AI工具,发挥各自优势
  5. 保持批判性思维,AI生成代码必须人工审核

记住:AI是强大的助手,但不是替代者。
清晰的规范、具体的需求、迭代的反馈,才是提升AI编程效率的关键。


扩展阅读

其实现在很多大厂已经走在了前面。


AI编程工作流行业应用现状全景报告

AI使用成熟度 层级表

类似汽车自动驾驶的使用水平。

应用层级 代表公司/团队 具体实践 成熟度 效果评估
L1:片段级辅助 广大中小团队、传统企业IT部门、入门开发者 1. 问答式代码生成:在ChatGPT等平台提问获取代码片段。
2. 错误解释与调试:粘贴报错信息请求AI分析。
3. 代码翻译与转换:如将Python脚本转为Shell命令。
🟢 广泛普及 解决具体问题:能快速解决孤立的编码难题,降低学习门槛
局限性未形成方法论,代码与项目脱节,存在安全与质量隐患。
L2:任务级辅助 大多数互联网公司(阿里、腾讯、美团等业务团队) 1. IDE集成补全:使用GitHub Copilot等完成单行/函数补全。
2. 注释转代码:在IDE中编写注释,由AI生成对应代码块。
3. 单文件生成/重构:在编辑器内对话,生成完整工具类或重命名变量。
🟢 标配工具 成为开发者标配:显著提升日常编码效率,被视为“更强的IntelliSense”。
局限性缺乏系统性,对项目架构、多文件上下文理解弱。
L3:结构化工作流 前沿科技公司、中大型互联网企业核心团队(如Airbnb、字节跳动部分业务线) 1. 分阶段评审流程:将AI生成代码纳入代码评审(CR)环节,强制人工审核。
2. 自定义提示词模板库:为常见任务(如生成API、DTO)建立标准提示词。
3. AI生成+人工测试:要求AI生成代码时必须同步生成单元测试,或由人工补充。
🟡 内部试点与推广 效率与质量并重:提升30-50% 功能开发效率,同时降低代码Review成本
关键价值:将AI输出工程化,确保其可控、可审计,并与团队流程集成。
L4:全流程自动化 AI原生工具厂商、积极探索的极客团队(如使用GitHub Copilot Workspace) 1. 需求→代码→部署链路:输入产品描述,AI自动拆解任务、编写代码、运行测试并提交。
2. 项目级多轮迭代:AI能理解整个代码库,根据新需求修改多处关联代码。
3. 自主智能体(Agent):AI可自主规划、执行如“修复漏洞”、“重构模块”等高级指令。
🟠 前沿探索/早期产品化 颠覆工作模式:适合绿地项目独立功能模块,能快速产出原型。
当前局限:处理复杂业务逻辑遗留系统时仍需大量人工干预,可靠性待验证。

不同行业 使用深度和场景 角度不同

不同行业因监管、技术基础差异,应用深度与场景角度显著不同。

行业领域 AI工作流应用深度 典型应用场景 使用挑战
互联网/软件 🔵 深度应用,引领创新 1. 微服务模块生成:根据API定义快速生成CRUD代码。
2. 测试用例批量生成:为现有代码补充单元测试和边界Case。
3. 数据处理与运维脚本:编写部署、监控、日志分析脚本。
1. 代码质量一致性:生成的代码风格、设计模式需与项目统一。
2. 架构理解深度不足:AI难以把握复杂系统的深层设计意图。
金融科技 🟢 中度应用,安全优先 1. 数据分析与可视化脚本:用于内部报表、风险模型验证。
2. 合规与审计工具:自动化检查代码安全漏洞、敏感信息泄露。
3. 监控告警自动化:生成运维监控脚本。
1. 强安全合规限制:生成的代码需通过严格安全扫描,核心交易逻辑禁用。
2. 数据隐私要求:必须使用本地化部署的AI编码工具。
传统制造/能源 🟡 初步应用,场景驱动 1. 工业数据报表自动化:从数据库生成固定格式报告。
2. 设备监控脚本:解析传感器数据流,进行异常检测。
3. 数据清洗与预处理工具:处理实验和生产数据。
1. 领域知识壁垒高:需要将行业术语和流程转化为AI可理解的提示。
2. 定制化需求多:通用AI难以直接适应特定硬件、协议和遗留系统。
科研教育 🟢 中度应用,效率工具 1. 实验模拟代码生成:根据数学公式或流程描述生成Python/MATLAB代码。
2. 论文数据处理与绘图:自动化数据分析和图表绘制。
3. 教学案例创建:快速生成编程练习题或示例代码。
1. 领域知识缺乏:AI可能生成语法正确但科学原理错误的代码。
2. 验证成本高:生成的算法或模型需要研究者花费大量精力验证。

AI工具最佳实践表-这个也是本文的目的

决定AI编程工作流成败的,往往是非技术因素。
这句话在人类社会很耳熟: 决定XX某件事成败的,往往是非技术因素。

关键因素 影响程度 成功团队做法 失败团队教训
上下文管理 ⭐⭐⭐⭐⭐ 建立项目知识库:为AI提供架构图、API文档、业务术语表,让其理解项目全貌。 让AI“凭空想象”:仅给出模糊需求,导致生成代码完全脱离项目现有技术栈和架构。
分阶段控制 ⭐⭐⭐⭐⭐ 拆解任务,分步审核:将大需求拆为小步骤,每步生成后立即审核,确保方向正确。 追求“一键生成”:一次性要求AI生成整个模块,结果混乱不堪,修改成本高于重写。
质量标准前置 ⭐⭐⭐⭐ 明确定义规范:在提示词中强制要求代码风格、测试覆盖率、错误处理方式。 只关注功能实现:验收时只看“能不能跑”,忽视可读性、可维护性,积累大量技术债。
设置人工检查点 ⭐⭐⭐⭐⭐ 关键节点强制人工评审:架构设计、核心算法、数据库变更等必须由资深工程师把关。 完全信任AI输出:将未经审核的AI代码直接部署上线,导致线上事故或安全漏洞。
持续反馈优化 ⭐⭐⭐⭐ 建设提示词模板库:将生成效果好的提示词沉淀、共享、迭代,形成团队知识资产。 每次从零开始:每个开发者都用自己的话术提问,质量不稳定,团队无法积累有效经验。

团队实施路线图

这部分是AI生成的,复制粘贴,没有做修改;
值得商榷,AI关于落地部分永远考虑的比较简单。
不同规模的团队,应从适合自身复杂度的起点开始。

团队规模 推荐起点 预期效果 实施周期
1-3人小团队/个人 1. 脚本生成模板化:为常用运维、部署脚本建立标准提示词。
2. 搭建个人代码片段库:将AI生成的优质代码片段分类保存,以便复用。
减少重复劳动,将精力集中于核心业务逻辑。个人效率提升30% 左右。 1-2周:快速上手,立即见效。
5-10人项目组 1. 集成代码规范检查:在AI生成后自动运行Lint工具,确保风格统一。
2. 自动化测试生成:将“为这段代码生成单元测试”作为标准流程。
3. 代码审查辅助:使用AI初步分析CR中的代码,发现潜在问题。
统一代码风格提升测试覆盖率,降低Review负担。形成初步协作规范。 1个月:需要制定简单的团队规范并进行短时间培训。
20人以上研发部门 1. 设计分层工作流:定义L2/L3不同场景的使用规范和审批流程。
2. 建设团队项目知识库:统一管理架构文档、领域模型,供AI调用。
3. 集成质量门禁:将AI生成代码的检查点接入CI/CD流水线。
标准化开发流程,确保AI输出的规模化质量可控。整体研发效率提升40%+ 2-3个月:涉及流程制定、工具链改造和人员培训。
企业级推广 1. 平台化工具建设:选型或自研统一AI编程平台,集成安全、合规控件。
2. 建立培训与认证体系:培养一批精通“AI编程协作”的种子工程师。
3. 沉淀最佳实践库:跨部门收集和推广成功用例与高效提示词模板。
形成企业级技术资产与安全标准培养AI优先的工程师文化,构筑长期竞争力。 6个月以上:这是一项涉及技术、管理和文化的系统性工程。

常见风险与应对策略表

这个很重要:从专业角度综合识别并管理好风险,是成功引入AI工作流的前提。

风险类型 发生概率 影响程度 应对策略
代码质量与一致性下降 中高 1. 设置质量门禁:在CI中强制进行代码风格、复杂度、安全扫描。
2. 关键模块人工复审:核心业务代码、算法、数据库操作必须人工审核。
技术债隐形积累 中高 1. 将“可维护性”纳入需求:提示词中明确要求模块化、注释和文档。
2. 定期架构复审:周期性地由架构师检查AI生成代码的整体结构,防止腐化。
知识产权与信息安全泄露 极高 1. 使用本地化部署工具:选择支持私有化部署的商业产品或开源方案。
2. 建立代码审查制度:禁止将核心业务代码、密钥、算法上传至公有云AI服务。
团队技能依赖与退化 中高 1. 倡导“AI辅助,而非AI替代”:鼓励工程师深入理解AI生成的代码。
2. 开展针对性培训:培训重点从“怎么写代码”转向“怎么设计、评审和提示AI”。

欢迎大家留言,共勉~
既然不得不,那就跟上时代,学会向AI请教,学会如何管理自己的AI,学会如何用AI提高工作效率。
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐