您是否对 ChatGPT 的功能感到兴奋,或者您刚刚完成 ML 课程并准备好使用这些技术来构建很酷的功能? 在这两种情况下,您都 在构建第一个人工智能功能时面临着哪些挑战。 必须知道 我希望我一年前就知道这一切。 首先,你确定你需要人工智能吗? 谷歌的 建议从基于启发式的简单算法开始,该算法可以完成工作,只有当启发式变得难以维护时才转向机器学习解决方案。 机器学习规则 添加人工智能来解决问题会给您带来额外的挑战,例如: - 为什么解决方案对客户来说如此有效 可解释性 - 是否有任何第三方解决方案可以处理客户的敏感数据 数据隐私 - 您构建的东西从第一天起就不太可能具有最佳目标性能,并且您将不得不花费更多时间来改进模型 维护/实施成本 没有计划=没有成功 该项目是关于什么的?它将解决什么客户问题?我们期望改进哪些指标?已知的系统限制有哪些? 在实施之前,必须回答所有这些问题。在规划过程中发现的潜在陷阱越多越好,因为 现阶段相对较低。 改变成本 笔记在哪里? 你应该记录一切——问题陈述、指标、期望的结果、测试用例、研究日志、设计文档、里程碑。 编写文档可以让您 。其他人可以快速加入您的项目或在其他项目中使用您的工作成果。 记住更少的事情 从小而简单的开始 通过保持功能的第一个版本简单,您可以快速构建它、衡量影响、了解见解并继续迭代。构建一个小东西还可以让您建立一个基线性能,您将在进一步的迭代中改进该基线性能。 创建一个可以完成许多事情并处理所有可能的用例的系统是一项令人兴奋的挑战。然而, 在造车之前总是好的。 制作滑板 你做了你的研究吗? 如果该问题对该领域来说是新问题并且尚未有人解决,请考虑对其进行研究。您想测试解决问题是否可行。 研究结果是一个最小的工作原型,表明 。研究还可以表明 ,这是极好的学习——这就是为什么你在项目开始时执行此步骤的原因。 算法可以解决该问题 不存在可行的解决方案 不要高估! 您的概念验证可能看起来很棒并引起炒作,但原型和适用于所有用户的生产级解决方案之间还有大量工作要做。 当使用新技术时,你能做的最好的事情就是 。慢慢来,熟悉技术和问题空间,将工作分成多个小里程碑并分别进行估计。 避免承诺快速完成工作 当您发现事情没有按计划进行时,请与团队沟通并确保每个人都了解时间表/项目已更改。 编写测试 使用人工智能进行开发时,必须应用相同的软件工程原理。您的解决方案将会不断发展,您必须确保它按预期工作。 减少手动测试所花费的时间,让您有更多时间专注于问题和解决方案。 自动化测试 是时候传来悲伤的消息了…… 即使经过几个月的努力,您的模型也可能表现不佳。这可能会令人沮丧,但这是机器学习开发过程的一部分。您必须承认失败是可能的,并准备在必要时调整您的方法。 重要的是要记住,每一次失败都是为未来学习和改进的机会。 结论 构建人工智能驱动的功能需要仔细规划、研究和实施。从小事做起、记录一切并定期与团队沟通至关重要。并且永远记住在实施任何事情之前评估人工智能是否必要。 请记住,失败是可能的,但这是学习和改进的机会。 唯一永不失败的人就是那些从未尝试过的人。 有用的资源: 我的个人博客 为什么必须编写自动化测试 机器学习规则 作者:马丁·津克维奇 开发成本如何随时间变化 理解 MVP 经过 亨里克·克尼伯格 也出现 。 在这里