AI 功能需要的是产品边界,而不仅仅是更好的提示词
大多数 AI 功能都会失败。
它们失败并不是因为模型不好,而是因为开发者把模型周围的一切都当成了演示 Demo。
我最近在开发一款 iOS 健身 App。它使用 Claude 来生成运动计划。模型部分很简单:你发送上下文,然后获取计划。
真正的难点在于如何将其打造成为一个真正的产品。你必须处理:
• 每月的 AI 额度余额 • 离线模式 • 身份验证令牌(Auth token)存储 • 生成过程中的加载状态 • 添加与更换练习的不同规则 • 针对那些枯燥边缘情况的测试
这才是品质所在。
一个按钮不应仅仅是调用一个接口。它必须知道某个建议是否被允许。它需要检查用户是否在线,并检查他们是否还有剩余额度。
模型并不关心这些事情,但用户很关心。
当 AI 响应时,必须包含更新后的额度计数。UI 必须立即更新,以防止用户看到过时的数据。如果后端显示用户消耗了一个额度,UI 必须立即反映出来。
我为一个视图模型(view model)编写了 13 个测试。我测试了额度限制和离线错误。这并不是为了好玩,而是因为这些问题往往会在真实用户面前暴露出来。
网络连接失败必须有清晰的提示。不要说“意外的服务器响应”,而要说“您已离线。请重新连接以使用 AI 功能”。
发布 AI 功能,本质上就是在中间加入了一个概率性依赖项的常规软件工程。
专注于模型周围的“契约”(contract):
• 用户现在可以使用吗? • 如果网络中断会发生什么? • 使用情况是否被正确追踪? • UI 是否反映了服务器状态? • 你能否在没有模型的情况下测试边缘情况?
一旦解决了这些问题,该功能就不再感觉只是一个“点击即发送提示词”的按钮,而开始感觉像是应用程序的一部分。
不要问模型是否能回答问题,而要问这个功能能否经受住现实生活的考验。
Source: https://dev.to/toddssullivan/ai-features-need-product-edges-not-just-better-prompts-18k
Optional learning community: https://t.me/GyaanSetuAi
