Boyce/W
@holdno ·
1 min
AI

AI native 的 API 设计要求

过去我们倾向于将 API 设计成高级的、抽象的,这是一种人体工学 UX,因为我们预期人类用户是偷懒的、喜欢用预设值的、目标导向的。高级 API 的缺陷也很明显,就是它失去了灵活性,复杂的参数组合被隐藏起来了。

但 AI 和人类不同,它习惯于将能填的参数填满,它多打几个 token 也不会手疼,人体工学 UX 对它来说没有意义。这意味着面向 AI 的 API 应当是有充分的可组合性的,足够做低级操作的。

两者的对比也可以描述 MCP 和 skills 的区别:前者是建立在 openapi 风格上的,其习惯是高级的;后者是建立在 shell 风格上的,其习惯是低级的。

其实 best practice 是没有变的:优秀的抽象,充分正交的参数和合理的默认值,这对 AI 和人类来说都是可以降低心智负担而保持灵活性的。

尤其是当我们考虑到,一套 API 可能既要被人类使用又要被 AI 使用。比如我在设计 agent memories 时,既要用代码强制注入一部分 memories,又要允许 agent 自主查询 memories。

Best practice 没有变,AI 提醒我它更重要了。

*注:本文中 AI 指的是 LLM agent

From: tg @mmmmmmeowwwww

0

Comments

Loading comments...