feat: make tool return messages more explicit [LET-7145] (#8986)
prompt
This commit is contained in:
@@ -383,12 +383,12 @@ def memory_replace(agent_state: "AgentState", label: str, old_str: str, new_str:
|
||||
# snippet = "\n".join(new_value.split("\n")[start_line : end_line + 1])
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
# success_msg += self._make_output(
|
||||
# snippet, f"a snippet of {path}", start_line + 1
|
||||
# )
|
||||
# success_msg += f"A snippet of core memory block `{label}`:\n{snippet}\n"
|
||||
success_msg += "Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
# return None
|
||||
return success_msg
|
||||
@@ -454,14 +454,12 @@ def memory_insert(agent_state: "AgentState", label: str, new_str: str, insert_li
|
||||
agent_state.memory.update_block_value(label=label, value=new_value)
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
# success_msg += self._make_output(
|
||||
# snippet,
|
||||
# "a snippet of the edited file",
|
||||
# max(1, insert_line - SNIPPET_LINES + 1),
|
||||
# )
|
||||
# success_msg += f"A snippet of core memory block `{label}`:\n{snippet}\n"
|
||||
success_msg += "Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
return success_msg
|
||||
|
||||
@@ -532,12 +530,12 @@ def memory_rethink(agent_state: "AgentState", label: str, new_memory: str) -> No
|
||||
agent_state.memory.update_block_value(label=label, value=new_memory)
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
# success_msg += self._make_output(
|
||||
# snippet, f"a snippet of {path}", start_line + 1
|
||||
# )
|
||||
# success_msg += f"A snippet of core memory block `{label}`:\n{snippet}\n"
|
||||
success_msg += "Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
# return None
|
||||
return success_msg
|
||||
|
||||
@@ -401,14 +401,11 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
snippet = "\n".join(new_value.split("\n")[start_line : end_line + 1])
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
# success_msg += self._make_output(
|
||||
# snippet, f"a snippet of {path}", start_line + 1
|
||||
# )
|
||||
# success_msg += f"A snippet of core memory block `{label}`:\n{snippet}\n"
|
||||
success_msg += (
|
||||
"Review the changes and make sure they are as expected (correct indentation, "
|
||||
"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
# return None
|
||||
@@ -549,9 +546,10 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
await self.agent_manager.update_memory_if_changed_async(agent_id=agent_state.id, new_memory=agent_state.memory, actor=actor)
|
||||
|
||||
return (
|
||||
f"The core memory block with label `{label}` has been edited. "
|
||||
"Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). "
|
||||
"Edit the memory block again if necessary."
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). "
|
||||
f"Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
# Extended mode: parse codex-like patch operations for memory blocks
|
||||
@@ -692,7 +690,11 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
else:
|
||||
raise ValueError(f"Unknown operation kind: {kind}")
|
||||
|
||||
return "Successfully applied memory patch operations:\n- " + "\n- ".join(results)
|
||||
return (
|
||||
"Successfully applied memory patch operations. "
|
||||
"Your system prompt has been recompiled with the updated memory contents and is now active in your context.\n\n"
|
||||
"Operations completed:\n- " + "\n- ".join(results)
|
||||
)
|
||||
|
||||
async def memory_insert(
|
||||
self,
|
||||
@@ -753,16 +755,11 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
await self.agent_manager.update_memory_if_changed_async(agent_id=agent_state.id, new_memory=agent_state.memory, actor=actor)
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
# success_msg += self._make_output(
|
||||
# snippet,
|
||||
# "a snippet of the edited file",
|
||||
# max(1, insert_line - SNIPPET_LINES + 1),
|
||||
# )
|
||||
# success_msg += f"A snippet of core memory block `{label}`:\n{snippet}\n"
|
||||
success_msg += (
|
||||
"Review the changes and make sure they are as expected (correct indentation, "
|
||||
"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
return success_msg
|
||||
@@ -798,14 +795,11 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
await self.agent_manager.update_memory_if_changed_async(agent_id=agent_state.id, new_memory=agent_state.memory, actor=actor)
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
# success_msg += self._make_output(
|
||||
# snippet, f"a snippet of {path}", start_line + 1
|
||||
# )
|
||||
# success_msg += f"A snippet of core memory block `{label}`:\n{snippet}\n"
|
||||
success_msg += (
|
||||
"Review the changes and make sure they are as expected (correct indentation, "
|
||||
"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
# return None
|
||||
@@ -833,7 +827,10 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
# Update the agent state with the updated memory from the database
|
||||
agent_state.memory = updated_agent_state.memory
|
||||
|
||||
return f"Successfully deleted memory block '{label}'"
|
||||
return (
|
||||
f"Successfully deleted memory block '{label}'. "
|
||||
f"Your system prompt has been recompiled without this memory block and is now active in your context."
|
||||
)
|
||||
|
||||
except NoResultFound:
|
||||
# Catch the specific error and re-raise with human-readable names
|
||||
@@ -856,7 +853,10 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
)
|
||||
await self.agent_manager.rebuild_system_prompt_async(agent_id=agent_state.id, actor=actor, force=True)
|
||||
|
||||
return f"Successfully updated description of memory block '{label}'"
|
||||
return (
|
||||
f"Successfully updated description of memory block '{label}'. "
|
||||
f"Your system prompt has been recompiled with the updated description and is now active in your context."
|
||||
)
|
||||
|
||||
except NoResultFound:
|
||||
# Catch the specific error and re-raise with human-readable names
|
||||
@@ -879,7 +879,10 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
await self.block_manager.update_block_async(block_id=memory_block.id, block_update=BlockUpdate(label=new_label), actor=actor)
|
||||
await self.agent_manager.rebuild_system_prompt_async(agent_id=agent_state.id, actor=actor, force=True)
|
||||
|
||||
return f"Successfully renamed memory block '{old_label}' to '{new_label}'"
|
||||
return (
|
||||
f"Successfully renamed memory block '{old_label}' to '{new_label}'. "
|
||||
f"Your system prompt has been recompiled with the renamed memory block and is now active in your context."
|
||||
)
|
||||
|
||||
except NoResultFound:
|
||||
# Catch the specific error and re-raise with human-readable names
|
||||
@@ -906,7 +909,10 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
agent_state.memory.set_block(persisted_block)
|
||||
|
||||
await self.agent_manager.update_memory_if_changed_async(agent_id=agent_state.id, new_memory=agent_state.memory, actor=actor)
|
||||
return f"Successfully created memory block '{label}'"
|
||||
return (
|
||||
f"Successfully created memory block '{label}'. "
|
||||
f"Your system prompt has been recompiled with the new memory block and is now active in your context."
|
||||
)
|
||||
|
||||
async def memory_str_replace(self, agent_state: AgentState, actor: User, path: str, old_str: str, new_str: str) -> str:
|
||||
"""Replace text in a memory block."""
|
||||
@@ -963,10 +969,11 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
await self.agent_manager.rebuild_system_prompt_async(agent_id=agent_state.id, actor=actor, force=True)
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
success_msg += (
|
||||
"Review the changes and make sure they are as expected (correct indentation, "
|
||||
"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
return success_msg
|
||||
@@ -1029,10 +1036,11 @@ class LettaCoreToolExecutor(ToolExecutor):
|
||||
await self.agent_manager.rebuild_system_prompt_async(agent_id=agent_state.id, actor=actor, force=True)
|
||||
|
||||
# Prepare the success message
|
||||
success_msg = f"The core memory block with label `{label}` has been edited. "
|
||||
success_msg += (
|
||||
"Review the changes and make sure they are as expected (correct indentation, "
|
||||
"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
success_msg = (
|
||||
f"The core memory block with label `{label}` has been successfully edited. "
|
||||
f"Your system prompt has been recompiled with the updated memory contents and is now active in your context. "
|
||||
f"Review the changes and make sure they are as expected (correct indentation, "
|
||||
f"no duplicate lines, etc). Edit the memory block again if necessary."
|
||||
)
|
||||
|
||||
return success_msg
|
||||
|
||||
Reference in New Issue
Block a user