最近读了 OpenAI 的 API 文档开始尝试写 AI Agent
发现 Agent 的核心功能是 Function Call
写着写着发现面临两个选择
选择 1. 提前通过 promp 定义好所有完整的处理流程,然后提供初始条件让 AI 自己去判断下一步做什么该调用哪个函数,本地返回函数调用结果给 AI 然后 AI 根据结果判断下一步是继续还是停止
比方说,整理本地文件,大致流程是获取本地文件列表→然后根据文件列表对文件进行归类归档→然后再次获取文件列表确认是否需要需要继续处理。让 ai 自己决定的话,就是提前把控制流程写进 prompt ,然后扔给 AI 下一步干嘛交给 AI
选择 2. 只是把 AI 当作一个更加智能的函数使用。比如上面的例子中,大致流程依旧是靠传统的写代码实现,但在难以代码化的逻辑部分(比如乱七八糟的文件名统一,判断是否还要继续进一步处理)才像调用函数一样 call 一下 ai
前者写着感觉和传统编程的逻辑实在差别太大了,这种 ai 驱动的逻辑尝试写了一下,发现写着写着就奔着一个简单的 Agent 框架去了( Function Call 的插件化,为了解决 ai 处理变量名不稳的情况将本地保存变量上下文之类的)。而且可能思考方式完全不同,写起来总感觉不适应
大家一般怎么选?
![]() |
1
frankyzf 118 天前
得看实际情况,没有固定的答案吧,任务的复杂程度和模型的能力不同需要用不同的方式。
|
![]() |
2
wxw752 117 天前
我们两种情况都有,混合使用,不过 ai 会做最后的兜底
|