把一个AI应用拆成四层:输入、判断、执行、复核

把一个AI应用拆成四层:输入、判断、执行、复核

聊 AI 应用时,很容易把注意力全放在模型那一层,结果做完发现:出问题的地方往往不在模型。我习惯先把一个应用拆成四层,逐层想清楚各自的职责,再决定哪里用 AI。

四层分别管什么

层职责常见错误
输入收拢、清洗、结构化把脏数据直接丢给模型
判断理解意图、决定走哪条路让模型做本该由规则定的判断
执行调用确定性的代码或接口让模型“顺便”改数据
复核校验结果、给回退入口没有复核,输出即结论

输入层要先解决格式、缺失、超长、重复。这层做扎实,后面三层的复杂度能降一大半。

判断层最容易越界。像“这个问题要不要查外部数据”“用户有没有权限”,这类二值规则写在代码里更稳,不必交给模型去“理解”。

执行层必须是确定性的:取数、写入、发送,都由函数完成,模型只提供参数。描述这些函数的参数、类型、默认值时,BackendWiki 的接口文档写法 是很好的模板——参数列清楚,模型才不容易传错。

复核层常被当成可选项,其实是四层里最不能省的:格式校验、引用是否齐全、失败是否可见、人能否接手。

一个具体例子

给一份活动规则做问答:输入层把规则切成带编号的条目;判断层用规则判断“问题是否涉及时间或条件”;执行层检索对应条目;复核层检查回答有没有带上条目编号,没有就转人工。模型只出现在“理解问题”和“组织语言”两处,其余都是普通代码。

这样拆完,出问题时能立刻定位到层,而不用反复调提示词碰运气。任务编排的具体做法可以参考 WorkBuddy 官方文档。

小结

一个能用的 AI 应用,模型常常只占四分之一。把输入、判断、执行、复核分开,最大的好处不是架构好看,而是知道该改哪里:答案不对看判断层,数据不对看执行层,格式不对看复核层。