自主目标循环概述 | AI生成和翻译
/goal 与普通提示词的区别:
-
自主多轮循环(”Ralph 循环”) — 当你设定一个目标时,Hermes 不会只回答一次。每次回复后,一个评判 LLM(辅助模型)会评估:”这个目标完全满足了吗?”如果答案为”否”,Hermes 会自动将延续提示词反馈到同一会话中,并持续工作——一轮接一轮——直到目标完成或轮次预算(默认 20 轮)耗尽。
-
基于评判的评估 — 评判器是一个独立的 LLM 调用(可通过配置中的
auxiliary.goal_judge进行调整)。它接收目标文本 + 智能体的最后回复,并返回严格的 JSON 判断结果:{"done": true/false, "reason": "..."}。普通提示词没有自动自我评估——你需要手动决定何时完成。 -
持久化状态 — 目标状态保存在 SessionDB 中(
state_meta表)。如果你使用/resume恢复会话,目标仍然存在。普通提示词是临时的——一旦对话继续,就不再存在持久化的目标。 -
轮次预算与自动暂停 — 存在可配置的
max_turns(默认 20)。当轮次耗尽时,目标会自动暂停,并显示类似”⏸ 目标已暂停 — 已使用 20/20 轮次。使用 /goal resume 继续。”的消息。你可以恢复以继续,或清除以停止。 -
子目标 — 你可以通过
/subgoal <文本>在循环中添加中间标准。这些子目标会被附加到延续提示词(供智能体查看)和评判提示词(要求评判器满足所有标准,而不仅仅是原始目标)中。 -
用户中断处理 — 如果在目标循环中间发送新消息,它会抢占延续过程,并且目标会在该轮暂停。在你与智能体交互后,目标会重新评估。
-
保留提示词缓存 — 延续提示词是附加到会话中的普通用户角色消息。不会修改系统提示词,也不会交换工具集——提示词缓存保持不变。这是一个硬性的设计不变量。
简而言之: 普通提示词是”发射后不管”——一个问题,一个答案。/goal 是一个自主的智能体循环,它持续工作、自我评估,并在多个轮次中持久存在,直到一个独立的评判模型确认目标已达成。这就像给 Hermes 下达一个任务,而不是提出一个问题。
来源:hermes_cli/goals.py(912 行)