AI 作为开发工具

发布: (2025年12月24日 GMT+8 22:42)
11 min read
原文: Dev.to

Source: Dev.to

“…人类所困惑的绝大多数问题和争议,都源于对词语的可疑和不确定的使用,或者说,是源于不确定的观念…” An Essay Concerning Human Understanding, The epistle to the reader (1690)

介绍

今年,出现了许多用来描述新开发工具的术语——AI
于是,像往常一样,关于不同颜色铅笔“口味”的讨论随即展开:有人认为可以从中获得乐趣,有人认为它只适用于生产——即便如此,也只能在教会的祝福之后使用。

原则上,你可以把任何开发/工程的规则或最佳实践中的工具名称换成**“AI”**,然后用这些规则狠狠敲击你的对手。

当愿意的专家们抚摸这头大象并争论他们触摸到或感受到的东西时,让我们尝试建立一些术语。
我们需要简单且易懂的表达,这样才能立刻指明我们在地图上的位置。

我也可以使用高深的词汇,所以让我们尝试一种范式化的方法。
从现在开始——不带讽刺——我们尝试建立工作定义

本文档的目标——不是评判 AI 是“好”还是“坏”,而是提供一个共同语言用于讨论:

  • 我们现在到底在做什么,
  • 我们接受的风险水平是多少,
  • 对于所选方法,哪些实践是合适的。

1. Vibe Coding

定义 – 开发者使用人类可理解的语言描述期望的功能,并通过 AI 生成代码,无需对结果进行详细审查或编辑。重点在于实验、快速原型制作以及对 AI 的信任,而不是手动编写或检查每一行代码。

Intent → AI → Code
  • AI 根据高层意图编写代码
  • 最小化审查,最小化结构
  • 最高速度,最高风险

使用场景

  • 原型
  • 演示
  • 探索性开发(Spike)
  • 一次性代码

适用的情况

  • 生产系统
  • 核心逻辑
  • 安全敏感路径

2. AI‑Assisted Development (AIAD)

Definition – 使用人工智能工具在开发的各个阶段 支持 开发者:编写代码、测试、调试、优化以及自动化重复性任务。开发者仍然是积极的参与者;AI 充当助理,提供思路、自动化常规任务并提升代码质量。

Human‑led development using AI as a tool
Human owns architecture and decisions
AI accelerates implementation
Standard reviews and testing apply

何时使用

  • 编写生产特性
  • 维护长期使用的代码库

3. AI 配对编程

定义 – AI 助手在开发者实时工作,提供替代方案、检测错误、优化代码,甚至根据上下文生成新功能。这可以减少调试时间并提升项目架构。

Human ⇄ AI in real time
Continuous dialogue
AI suggests, human decides
Comparable to pair programming with a strong junior/mid developer

何时使用

  • 日常开发
  • 学习不熟悉的代码库或语言

4. AI 生成的规范与架构

定义 – AI 用于根据需求自动生成 架构决策、图表、文档和测试场景,从而快速获得系统原型并验证其是否符合业务需求。

Requirements → AI → Specifications / Diagrams
AI helps before coding
Generates draft specifications, architecture diagrams, and test plans
Human reviews and refines

何时使用

  • 系统设计
  • 架构探索
  • 前期规划阶段

5. AI 增强的规范驱动开发

定义 – 结构化规范(需求、架构约束、验收标准等)是 AI 驱动代码生成的 唯一真实来源。AI 将这些规范转换为实现、测试和文档,确保高度对齐,降低错误风险,并提升速度。

Specification → AI → Code + Tests
Specification is the source of truth
AI generates code and tests based on specifications
Highest predictability and maintainability

何时使用

  • 核心业务逻辑
  • 金融、安全或受监管的系统
  • 生命周期长、规模大的代码库

6. 完全集成的 AI 开发

定义 – AI 在开发的所有阶段 深度集成——设计、代码编写、测试、优化,甚至部署。开发者与 AI 作为合作伙伴,共同显著提升生产力和代码质量。

Human + AI jointly drive the process
AI participates in design, coding, testing, and optimization
Human remains responsible for strategy and constraints

何时使用

  • 团队有意在软件开发生命周期(SDLC)中采用 AI
  • 存在明确的约束和评估流程

7. AI‑驱动的重构与优化

定义 – AI 自动分析并重构现有代码,识别潜在问题,提出优化建议,并适应项目变更。它从大型代码库中学习,以更好地理解上下文和需求。

Existing code → AI → Improved code
AI refactors, optimizes, and reduces technical debt
Operates under strict rules and is subject to evaluation

何时使用

  • 受控的重构
  • 性能优化
  • 风格和一致性改进

8. AI‑驱动的 CI/CD 与安全自动化

Definition – AI 可以自动生成 CI/CD 配置,分析代码安全,识别技术债务,并提出修复建议。这可以降低风险并加快部署。

Policy → AI → CI/CD and security automation
AI generates and maintains pipelines
Automates security scanning and policy enforcement

When to use

  • DevSecOps 自动化
  • 降低运营风险

9. 自主 AI 代理

定义 – AI 代理能够 独立执行 任务——从根据规范生成代码,到自动创建测试、监控,甚至在生产环境中修复错误。这使得系统能够自我保护,最大限度地减少人工干预。

Goal → AI Agents → Execution
Autonomous agents decompose and execute tasks
Minimal human intervention

谨慎使用

  • 内部工具
  • 明确界定的职责

概要

概要表

范式核心理念人类角色AI 角色典型使用场景风险等级
Vibe Coding高级意图 → 代码最少审查快速生成代码原型、演示、探索
AIAD在整个软件开发生命周期中提供助手负责架构和决策加速、建议、自动化生产特性、维护中等
AI Pair‑Programming实时对话决定、审查建议、检测、生成日常开发、学习新代码中等
AI‑Generated Specs需求 → 规格/图表审查并完善起草规格和架构早期设计、规划低‑中等
Spec‑Driven Dev规格 → 代码 + 测试定义并验证规格生成实现和测试核心业务逻辑、受监管
Fully Integrated AI人类+AI 共同驱动流程策略、约束设计、编码、测试、优化AI‑优先团队、成熟流程中等
AI Refactoring现有代码 → 改进代码批准更改分析、重构、优化重构、性能、风格低‑中等
CI/CD & Security策略 → 流水线和扫描定义策略生成并维护 CI/CD 与安全DevSecOps、风险降低
Autonomous Agents目标 → 自动执行设定目标、监控端到端任务执行内部工具、受限任务高(谨慎使用)

自动化开发范式

范式谁主导真相来源典型使用生产就绪度风险
Vibe CodingAI提示原型、演示🔥🔥🔥
AI‑assisted DevHuman代码生产特性🟡
AI Pair ProgrammingHuman + AI代码日常开发🟡
Generative Spec & DesignHuman规格架构、规划⚠️🟡
Spec‑Driven + AISpecification规格核心系统✅✅🟢
AI‑Driven DevHuman + AI混合端到端开发🟡
Autonomous RefactoringAI代码 + 规则技术债务、清理⚠️🟡
Pipeline & Security AIPolicy策略CI/CD、 安全🟡
AI‑Agent Driven DevAI Agents目标 / 策略自动化⚠️🔥🔥
Self‑Healing SystemsAI运行时信号运维 / 可靠性⚠️⚠️🔥🔥🔥

决策树 – 我们在讨论什么?

级别是否允许描述
默认AI 辅助开发、AI 配对编程、带审查的重构
需明确批准🟡AI 增强的规范驱动开发、核心逻辑中的 AI 生成代码、受监管领域的任何 AI、仅限运维的任务(CI/CD 生成、安全扫描、依赖和策略执行)
禁止生产环境中的 AI 代理驱动开发、自愈系统、未经人工批准的自主生产变更

关键要点

AI 并没有改变工程学;它只是让错误更快出现——或更易于管理。

运行时信号驱动的自愈(高自治,高风险)

Runtime signals → AI → Fix → Deploy
  • AI 监控生产环境,检测问题,生成补丁,并自动应用。
  • 最高自治,最高风险 – 默认不推荐。
  • 仅在严格的安全措施下使用,并且仅用于非关键系统
Back to Blog

相关文章

阅读更多 »

翻页(不重置系统)

引言 新的一年并不是重置按钮。经验上没有 git reset --hard —— 没有可以抹去成功、失败或什么…的干净板块。

微型语言模型

Forem 动态 !Forem 标志 https://media2.dev.to/dynamic/image/width=65,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.co...