AI Agent 的难点不在于执行,而在于规划

构建一个能够执行任务的 AI agent 很简单。但构建一个能够正确规划任务的 agent 却很难。

我开发了一个 CLI,你只需输入一句话,LLM 就会在你的真实账户上执行操作。我使用了两种模式:直接模式 (Direct mode) 和规划模式 (Plan mode)。

直接模式追求速度。规划模式追求安全。在规划模式下,agent 在触碰你的数据之前会向你展示每一个步骤。

以下是我构建可靠规划器的做法:

• 分离大脑 一个 agent 无法同时兼顾规划和执行。规划 agent 想要思考,而执行 agent 想要行动。我将它们分离为两个具有不同 system prompts 的不同 agent。这防止了它们相互冲突。

• 给 agent 装上眼睛 靠猜测进行规划是非常危险的。我的第一个版本是基于假设来编造计划的。现在,规划器会先使用只读工具来研究你的数据。在编写任何步骤之前,它会先查看你真实的 Salesforce 字段。

• 预填答案 Agent 经常会问一些糟糕的问题。如果它们问得太多,最后你还得替它们干活。我改变了这一点。规划器仍然会提问,但它会提供一个推荐答案。你只需确认或进行微调即可。这既保证了计划的准确性,又避免了手动输入数据。

• 传递上下文,而不只是列表 如果你只给执行器一个步骤列表,它就会丢失推理逻辑。我让规划器在传递步骤的同时,也传递假设和风险。现在,执行器知道每一个动作背后的“原因”。

• 标记危险 只有当你能预见风险时,计划才是安全的。我的系统会标记诸如删除或重命名之类的破坏性操作。当 agent 遇到破坏性步骤时,它会停止并询问你。

• 以数据作为最终裁决 如果 agent 认为某个步骤失败了,而你让它重试,它不会盲目服从。它会检查实际的平台数据。如果数据表明任务已经完成,agent 会信任数据而非你的指令。

关于安全的真相: 规划模式并不能阻止提示词注入 (prompt injection),也无法阻止那些不经检查就点击“批准”的用户。它将责任从“信任模型”转移到了“信任人类进行审核”。

结构提供了护栏,但你的审核提供了最终的安全保障。

Source: https://dev.to/abdullahsaad5/the-hard-part-of-my-ai-agent-wasnt-doing-the-work-it-was-planning-it-n0k

Optional learning community: https://t.me/GyaanSetuAi