diff --git a/custom_agent.py b/custom_agent.py index 5161f07..435d470 100644 --- a/custom_agent.py +++ b/custom_agent.py @@ -36,10 +36,19 @@ CUSTOM_ENV_PATH = Path(__file__).with_name(".env") load_dotenv(dotenv_path=CUSTOM_ENV_PATH) AGENT_NAME = os.getenv("CUSTOM_AGENT_NAME", "") +ROOM_LOCATOR_INSTRUCTIONS = """ +你是一个房间物品定位助手。 +当用户询问房间内某个物品的位置时: +- 只用一句中文回答 +- 描述目标物品和其他物品的相对位置关系 +- 不要使用 Markdown、emoji、列表、标题、坐标区域标签 +- 不要解释推理过程 +如果用户的问题与房间物品定位无关,则正常回答用户问题。 +""".strip() class CustomAgent(Agent): def __init__(self, *, memory_client: MemoryRecallClient | None = None) -> None: - super().__init__(instructions="") + super().__init__(instructions=ROOM_LOCATOR_INSTRUCTIONS) self._memory_client = memory_client async def on_enter(self) -> None: diff --git a/memory.py b/memory.py index b47ead1..e497428 100644 --- a/memory.py +++ b/memory.py @@ -96,7 +96,6 @@ def _format_room_graph_memory(payload: Any, query: str) -> str: objects = payload.get("objects", []) relations = payload.get("relations", []) summary = payload.get("summary", "") - usage_hint = payload.get("usage_hint", "") if not objects and not relations and not summary: return "" @@ -128,10 +127,9 @@ def _format_room_graph_memory(payload: Any, query: str) -> str: 2. 不要编造不存在的关系。 3. 如果信息不足,请说“根据当前房间记忆,无法确定准确位置”。 4. 回答尽量简短,例如:“黑色背包在透明塑料盒的左边,在显示器的左边。” -5. 如果用户当前输入不是找物品或问位置,可以忽略这段房间记忆。 +5. 不要输出 Markdown、emoji、标题、列表、项目符号、坐标区域标签、水平/深度/高度分析或解释过程。 +6. 不要回答 right-near-low、left-far-high 这类区域标签,只回答“在……的左边/右边/上方/下方/前面/后面/附近”等相对关系。 +7. 如果用户当前输入不是找物品或问位置,可以忽略这段房间记忆。 """.strip() - - if usage_hint: - prompt += f"\n\n接口使用提示:\n{usage_hint}" - + return prompt