大雨:AI编程,重要的是AI而不是编程
大雨:AI编程,重要的是AI而不是编程
大雨:AI编程,重要的是AI而不是编程 大雨:AI编程,重要的是AI而不是编程 Modified February 19, 2025 🌟 AI 编程给我们带来了极大的正反馈,很快就能上手做一个东西。 但是竞争的,从来都是稀缺资源,作为普通人,最有价值的还是自己的行业know how 👍 AI 编程:先 AI 后编程——需求梳理与用户故事先行 AI 编程的本质:从指令驱动到目标驱动 传统的编程模式,本质上是一种“指令驱动”的模式。程序员需要将需求分解成一系列精确的指令,告诉计算机如何一步步完成任务。而 AI 编程则正在朝着“目标驱动”的模式转变。我们不再需要事无巨细地编写每一行代码,而是可以向 AI 系统描述我们的目标和期望,让 AI 基于其学习到的知识和模式,自动生成或优化实现目标的程序。 这种转变的根本原因在于 AI 的特性。AI,尤其是机器学习和深度学习,擅长从海量数据中学习规律,进行模式识别和预测。它们能够处理复杂、模糊、非结构化的任务,而这正是传统编程的短板。例如,在图像识别、自然语言处理、推荐系统等领域,AI 的表现已经远远超越了传统的基于规则的算法。 因此,AI 编程的核心挑战不再是“如何编写代码”,而是“如何定义问题,让 AI 能够理解并解决问题”。 如果我们仍然沿用传统的编程思维,将重点放在代码生成和技术实现上,就很容易陷入“为了 AI 而 AI”的误区,忽略了 AI 的真正价值在于解决实际问题,满足用户需求。 需求梳理:AI 编程的基石 在传统的软件开发中,需求梳理固然重要,但在 AI 编程中,其重要性被提升到了前所未有的高度。这是因为 AI 系统的行为往往不像传统程序那样完全可预测和解释。AI 的决策过程是基于数据和模型的,其输出结果可能受到多种因素的影响。如果需求定义不清、目标模糊,AI 系统就很容易产生偏差,甚至做出错误或不可接受的行为。 因此,AI 编程的第一步,也是最重要的一步,是进行深入细致的需求梳理。 我们需要明确以下几个关键问题: • 我们要解决什么问题? 这个问题必须从用户的角度出发,清晰地定义用户痛点和期望。不能仅仅停留在技术层面,例如“我们要开发一个图像识别模型”,而要深入思考“用户为什么要图像识别?他们希望用图像识别解决什么问题?” 例如,用户可能是希望通过图像识别来自动分类商品、识别缺陷产品、或者进行人脸识别门禁等等。 • AI 在这个问题中扮演什么角色? 我们需要明确 AI 在整个解决方案中的定位和作用。 AI 是核心驱动力,还是仅仅作为辅助工具? 我们需要仔细评估 AI 的能力边界,明确 AI 可以做什么,不能做什么,以及在什么情况下 AI 的表现会更好。 • 成功的标准是什么? 如何衡量 AI 系统的性能和效果? 我们需要制定明确的、可量化的评估指标,例如准确率、召回率、延迟、用户满意度等等。 这些指标应该与用户需求紧密相关,能够真实反映 AI 系统是否成功解决了用户问题。 • 数据从哪里来? 数据是 AI 的燃料。 我们需要提前规划好数据的来源、质量和数量。 对于监督学习模型,我们需要准备标注好的训练数据;对于无监督学习模型,我们需要确保数据的代表性和多样性。 数据的质量直接决定了 AI 系统的性能上限。 🌰 一定要花最多的时间在需求梳理和界面交互上,我们自己就是用户。 随着开发的深入,当我们逐步陷入技术细节的时候,这些最初的初心,会让我们跳出来。 因为技术实现方案有很多,未必一定要用这个技术来实现 而评判的标准,就是我们最初设定的这些需求 用户故事:与 AI 沟通的桥梁 传统的用户故事通常是从用户的角度描述软件的功能和特性。在 AI 编程中,用户故事的概念需要进行扩展和深化。 我们需要不仅仅从人类用户的角度出发,还要考虑 “AI 用户的用户故事” 。 这意味着我们需要思考: • AI 如何理解用户的需求? AI 系统接收的是数据,而不是人类的语言。 我们需要将用户需求转化为 AI 可以理解的数据形式,例如结构化数据、文本描述、图像、音频等等。 • AI 如何与用户互动? 用户如何与 AI 系统进行交互? AI 系统的输出结果如何呈现给用户? 我们需要设计清晰、直观、易用的用户界面,让用户能够方便地与 AI 系统进行沟通和协作。 • AI 如何在不同场景下满足用户需求? 用户需求往往是多样的、动态的。 我们需要考虑 AI 系统在不同场景下的表现,并设计相应的应对策略。 例如,在图像识别场景下,光线、角度、遮挡等因素都会影响识别结果。我们需要通过用户故事来描述这些不同的场景,并要求 AI 系统在各种场景下都能保持良好的性能。 🏆 简单来说,用户故事,就是我们自己作为用户,在系统中走一遍所有操作。 快速原型:验证与迭代的关键 AI 编程具有高度的实验性和迭代性。 我们很难在一开始就完全确定最佳的 AI 模型、算法和参数。 因此,快速原型开发就显得尤为重要。 快速原型不仅仅是为了验证技术可行性,更是为了验证需求的合理性和用户故事的有效性。 通过快速原型,我们可以: • 尽早获取用户反馈: 将原型交付给用户进行试用,收集用户的反馈意见,了解用户对 AI 系统的真实感受和需求。 • 验证需求理解的偏差: 通过用户反馈,我们可以及时发现需求理解上的偏差,并进行调整和修正。 • 探索不同的解决方案: 快速原型可以让我们快速尝试不同的 AI 模型、算法和参数,找到最适合当前问题的解决方案。 • 降低开发风险: 在早期发现问题并进行调整,可以避免在后期投入大量资源后才发现方向错误,从而降低开发风险。 快速原型应该强调“快速”和“界面”。 我们不需要一开始就追求完美的代码和复杂的系统架构,而是应该优先构建一个能够展示核心功能和用户界面的最小可行产品(MVP)。 这个 MVP 应该能够让用户直观地体验 AI 系统的功能,并提供有效的反馈。 通过不断地迭代和优化原型,我们可以逐步完善 AI 系统,最终交付高质量的、用户满意的产品。 结论 AI 编程不仅仅是技术的革新,更是一种思维模式的转变。 它要求我们从传统的“代码中心”转向“AI 中心”,从“指令驱动”转向“目标驱动”。 在 AI 编程中,需求梳理和用户故事的重要性被提升到了前所未有的高度。 我们需要花费更多的时间和精力来理解用户需求、定义问题、与 AI 进行“沟通”,并利用快速原型进行验证和迭代。 只有当我们真正理解了 AI 的本质,并将 AI 编程视为 “AI first, programming second” 的过程时,我们才能充分发挥 AI 的潜力,开发出真正有价值、能够解决实际问题的 AI 应用。 未来的软件开发,将不再是单纯的代码编写,而更多的是对 AI 的理解、引导和协作,最终实现人与 AI 的协同创新。 🌟 AI 编程给我们带来了极大的正反馈,很快就能上手做一个东西。 但是竞争的,从来都是稀缺资源,作为普通人,最有价值的还是自己的行业know how AI 编程给我们带来了极大的正反馈,很快就能上手做一个东西。 但是竞争的,从来都是稀缺资源,作为普通人,最有价值的还是自己的行业know how 👍 AI 编程:先 AI 后编程——需求梳理与用户故事先行 AI 编程:先 AI 后编程——需求梳理与用户故事先行 AI 编程的本质:从指令驱动到目标驱动 传统的编程模式,本质上是一种“指令驱动”的模式。程序员需要将需求分解成一系列精确的指令,告诉计算机如何一步步完成任务。而 AI 编程则正在朝着“目标驱动”的模式转变。我们不再需要事无巨细地编写每一行代码,而是可以向 AI 系统描述我们的目标和期望,让 AI 基于其学习到的知识和模式,自动生成或优化实现目标的程序。 这种转变的根本原因在于 AI 的特性。AI,尤其是机器学习和深度学习,擅长从海量数据中学习规律,进行模式识别和预测。它们能够处理复杂、模糊、非结构化的任务,而这正是传统编程的短板。例如,在图像识别、自然语言处理、推荐系统等领域,AI 的表现已经远远超越了传统的基于规则的算法。 因此,AI 编程的核心挑战不再是“如何编写代码”,而是“如何定义问题,让 AI 能够理解并解决问题”。 如果我们仍然沿用传统的编程思维,将重点放在代码生成和技术实现上,就很容易陷入“为了 AI 而 AI”的误区,忽略了 AI 的真正价值在于解决实际问题,满足用户需求。 需求梳理:AI 编程的基石 在传统的软件开发中,需求梳理固然重要,但在 AI 编程中,其重要性被提升到了前所未有的高度。这是因为 AI 系统的行为往往不像传统程序那样完全可预测和解释。AI 的决策过程是基于数据和模型的,其输出结果可能受到多种因素的影响。如果需求定义不清、目标模糊,AI 系统就很容易产生偏差,甚至做出错误或不可接受的行为。 因此,AI 编程的第一步,也是最重要的一步,是进行深入细致的需求梳理。 我们需要明确以下几个关键问题: • 我们要解决什么问题? 这个问题必须从用户的角度出发,清晰地定义用户痛点和期望。不能仅仅停留在技术层面,例如“我们要开发一个图像识别模型”,而要深入思考“用户为什么要图像识别?他们希望用图像识别解决什么问题?” 例如,用户可能是希望通过图像识别来自动分类商品、识别缺陷产品、或者进行人脸识别门禁等等。 • AI 在这个问题中扮演什么角色? 我们需要明确 AI 在整个解决方案中的定位和作用。 AI 是核心驱动力,还是仅仅作为辅助工具? 我们需要仔细评估 AI 的能力边界,明确 AI 可以做什么,不能做什么,以及在什么情况下 AI 的表现会更好。 • 成功的标准是什么? 如何衡量 AI 系统的性能和效果? 我们需要制定明确的、可量化的评估指标,例如准确率、召回率、延迟、用户满意度等等。 这些指标应该与用户需求紧密相关,能够真实反映 AI 系统是否成功解决了用户问题。 • 数据从哪里来? 数据是 AI 的燃料。 我们需要提前规划好数据的来源、质量和数量。 对于监督学习模型,我们需要准备标注好的训练数据;对于无监督学习模型,我们需要确保数据的代表性和多样性。 数据的质量直接决定了 AI 系统的性能上限。 🌰 一定要花最多的时间在需求梳理和界面交互上,我们自己就是用户。 随着开发的深入,当我们逐步陷入技术细节的时候,这些最初的初心,会让我们跳出来。 因为技术实现方案有很多,未必一定要用这个技术来实现 而评判的标准,就是我们最初设定的这些需求 一定要花最多的时间在需求梳理和界面交互上,我们自己就是用户。 随着开发的深入,当我们逐步陷入技术细节的时候,这些最初的初心,会让我们跳出来。 因为技术实现方案有很多,未必一定要用这个技术来实现 而评判的标准,就是我们最初设定的这些需求 用户故事:与 AI 沟通的桥梁 传统的用户故事通常是从用户的角度描述软件的功能和特性。在 AI 编程中,用户故事的概念需要进行扩展和深化。 我们需要不仅仅从人类用户的角度出发,还要考虑 “AI 用户的用户故事” 。 这意味着我们需要思考: • AI 如何理解用户的需求? AI 系统接收的是数据,而不是人类的语言。 我们需要将用户需求转化为 AI 可以理解的数据形式,例如结构化数据、文本描述、图像、音频等等。 • AI 如何与用户互动? 用户如何与 AI 系统进行交互? AI 系统的输出结果如何呈现给用户? 我们需要设计清晰、直观、易用的用户界面,让用户能够方便地与 AI 系统进行沟通和协作。 • AI 如何在不同场景下满足用户需求? 用户需求往往是多样的、动态的。 我们需要考虑 AI 系统在不同场景下的表现,并设计相应的应对策略。 例如,在图像识别场景下,光线、角度、遮挡等因素都会影响识别结果。我们需要通过用户故事来描述这些不同的场景,并要求 AI 系统在各种场景下都能保持良好的性能。 🏆 简单来说,用户故事,就是我们自己作为用户,在系统中走一遍所有操作。 简单来说,用户故事,就是我们自己作为用户,在系统中走一遍所有操作。 快速原型:验证与迭代的关键 AI 编程具有高度的实验性和迭代性。 我们很难在一开始就完全确定最佳的 AI 模型、算法和参数。 因此,快速原型开发就显得尤为重要。 快速原型不仅仅是为了验证技术可行性,更是为了验证需求的合理性和用户故事的有效性。 通过快速原型,我们可以: • 尽早获取用户反馈: 将原型交付给用户进行试用,收集用户的反馈意见,了解用户对 AI 系统的真实感受和需求。 • 验证需求理解的偏差: 通过用户反馈,我们可以及时发现需求理解上的偏差,并进行调整和修正。 • 探索不同的解决方案: 快速原型可以让我们快速尝试不同的 AI 模型、算法和参数,找到最适合当前问题的解决方案。 • 降低开发风险: 在早期发现问题并进行调整,可以避免在后期投入大量资源后才发现方向错误,从而降低开发风险。 快速原型应该强调“快速”和“界面”。 我们不需要一开始就追求完美的代码和复杂的系统架构,而是应该优先构建一个能够展示核心功能和用户界面的最小可行产品(MVP)。 这个 MVP 应该能够让用户直观地体验 AI 系统的功能,并提供有效的反馈。 通过不断地迭代和优化原型,我们可以逐步完善 AI 系统,最终交付高质量的、用户满意的产品。 结论 AI 编程不仅仅是技术的革新,更是一种思维模式的转变。 它要求我们从传统的“代码中心”转向“AI 中心”,从“指令驱动”转向“目标驱动”。 在 AI 编程中,需求梳理和用户故事的重要性被提升到了前所未有的高度。 我们需要花费更多的时间和精力来理解用户需求、定义问题、与 AI 进行“沟通”,并利用快速原型进行验证和迭代。 只有当我们真正理解了 AI 的本质,并将 AI 编程视为 “AI first, programming second” 的过程时,我们才能充分发挥 AI 的潜力,开发出真正有价值、能够解决实际问题的 AI 应用。 未来的软件开发,将不再是单纯的代码编写,而更多的是对 AI 的理解、引导和协作,最终实现人与 AI 的协同创新。