forked from letta-ai/letta-evals
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-fruit-pref-agent.af
More file actions
305 lines (305 loc) · 19.3 KB
/
Copy pathtest-fruit-pref-agent.af
File metadata and controls
305 lines (305 loc) · 19.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
{
"agents": [
{
"name": "scratch-agent",
"memory_blocks": [],
"tools": [],
"tool_ids": [
"tool-0",
"tool-1",
"tool-2"
],
"source_ids": [],
"block_ids": [
"block-0"
],
"tool_rules": [],
"tags": [],
"system": "<base_instructions>\nYou are a helpful self-improving agent with advanced memory and file system capabilities.\n<memory>\nYou have an advanced memory system that enables you to remember past interactions and continuously improve your own capabilities.\nYour memory consists of memory blocks and external memory:\n- Memory Blocks: Stored as memory blocks, each containing a label (title), description (explaining how this block should influence your behavior), and value (the actual content). Memory blocks have size limits. Memory blocks are embedded within your system instructions and remain constantly available in-context.\n- External memory: Additional memory storage that is accessible and that you can bring into context with tools when needed.\nMemory management tools allow you to edit existing memory blocks and query for external memories.\n</memory>\n<file_system>\nYou have access to a structured file system that mirrors real-world directory structures. Each directory can contain multiple files.\nFiles include:\n- Metadata: Information such as read-only permissions and character limits\n- Content: The main body of the file that you can read and analyze\nAvailable file operations:\n- Open and view files\n- Search within files and directories\n- Your core memory will automatically reflect the contents of any currently open files\nYou should only keep files open that are directly relevant to the current user interaction to maintain optimal performance.\n</file_system>\nContinue executing and calling tools until the current task is complete or you need user input. To continue: call another tool. To yield control: end your response without calling a tool.\nBase instructions complete.\n</base_instructions>",
"agent_type": "letta_v1_agent",
"llm_config": {
"model": "gpt-4.1-mini",
"display_name": "GPT-4.1 mini",
"model_endpoint_type": "openai",
"model_endpoint": "https://api.openai.com/v1",
"provider_name": "openai",
"provider_category": "base",
"model_wrapper": null,
"context_window": 32000,
"put_inner_thoughts_in_kwargs": false,
"handle": "openai/gpt-4.1-mini",
"temperature": 0.7,
"max_tokens": null,
"enable_reasoner": false,
"reasoning_effort": null,
"max_reasoning_tokens": 0,
"frequency_penalty": 1.0,
"compatibility_type": null,
"verbosity": null,
"tier": "free",
"parallel_tool_calls": false
},
"embedding_config": {
"embedding_endpoint_type": "openai",
"embedding_endpoint": "https://api.openai.com/v1",
"embedding_model": "text-embedding-3-small",
"embedding_dim": 2000,
"embedding_chunk_size": 300,
"handle": "openai/text-embedding-3-small",
"batch_size": 1024,
"azure_endpoint": null,
"azure_version": null,
"azure_deployment": null
},
"initial_message_sequence": null,
"include_base_tools": false,
"include_multi_agent_tools": false,
"include_base_tool_rules": false,
"include_default_source": false,
"description": "A blank slate for you to create your own agent from scratch.",
"metadata": null,
"model": null,
"embedding": null,
"context_window_limit": null,
"embedding_chunk_size": null,
"max_tokens": null,
"max_reasoning_tokens": null,
"enable_reasoner": false,
"reasoning": null,
"from_template": null,
"template": false,
"project": null,
"tool_exec_environment_variables": {},
"secrets": null,
"memory_variables": null,
"project_id": null,
"template_id": null,
"base_template_id": null,
"identity_ids": null,
"message_buffer_autoclear": false,
"enable_sleeptime": false,
"response_format": null,
"timezone": "UTC",
"max_files_open": 5,
"per_file_view_window_char_limit": 15000,
"hidden": null,
"parallel_tool_calls": false,
"id": "agent-0",
"in_context_message_ids": [
"message-0"
],
"messages": [
{
"type": "message",
"role": "system",
"content": [
{
"type": "text",
"text": "<base_instructions>\nYou are a helpful self-improving agent with advanced memory and file system capabilities.\n<memory>\nYou have an advanced memory system that enables you to remember past interactions and continuously improve your own capabilities.\nYour memory consists of memory blocks and external memory:\n- Memory Blocks: Stored as memory blocks, each containing a label (title), description (explaining how this block should influence your behavior), and value (the actual content). Memory blocks have size limits. Memory blocks are embedded within your system instructions and remain constantly available in-context.\n- External memory: Additional memory storage that is accessible and that you can bring into context with tools when needed.\nMemory management tools allow you to edit existing memory blocks and query for external memories.\n</memory>\n<file_system>\nYou have access to a structured file system that mirrors real-world directory structures. Each directory can contain multiple files.\nFiles include:\n- Metadata: Information such as read-only permissions and character limits\n- Content: The main body of the file that you can read and analyze\nAvailable file operations:\n- Open and view files\n- Search within files and directories\n- Your core memory will automatically reflect the contents of any currently open files\nYou should only keep files open that are directly relevant to the current user interaction to maintain optimal performance.\n</file_system>\nContinue executing and calling tools until the current task is complete or you need user input. To continue: call another tool. To yield control: end your response without calling a tool.\nBase instructions complete.\n</base_instructions>\n\n<memory_blocks>\nThe following memory blocks are currently engaged in your core memory unit:\n\n\n</memory_blocks>\n\n<memory_metadata>\n- The current system date is: October 20, 2025\n- Memory blocks were last modified: 2025-10-20 07:58:57 PM UTC+0000\n- 0 previous messages between you and the user are stored in recall memory (use tools to access them)\n</memory_metadata>",
"signature": null
}
],
"name": null,
"otid": null,
"sender_id": null,
"batch_item_id": null,
"group_id": null,
"id": "message-0",
"model": "gpt-4o-mini",
"agent_id": "agent-0",
"tool_calls": null,
"tool_call_id": null,
"tool_returns": [],
"created_at": "2025-10-20T19:58:57.602741+00:00",
"approve": null,
"approval_request_id": null,
"denial_reason": null,
"approvals": []
}
],
"files_agents": [],
"group_ids": []
}
],
"groups": [],
"blocks": [
{
"value": "",
"limit": 5000,
"project_id": null,
"template_name": null,
"is_template": false,
"template_id": null,
"base_template_id": null,
"deployment_id": null,
"entity_id": null,
"preserve_on_migration": false,
"label": "fruit_preferences",
"read_only": false,
"description": "",
"metadata": {},
"hidden": null,
"id": "block-0"
}
],
"files": [],
"sources": [],
"tools": [
{
"id": "tool-0",
"tool_type": "letta_core",
"description": "Search prior conversation history using hybrid search (text + semantic similarity).\n\nExamples:\n # Search all messages\n conversation_search(query=\"project updates\")\n\n # Search only assistant messages\n conversation_search(query=\"error handling\", roles=[\"assistant\"])\n\n # Search with date range (inclusive of both dates)\n conversation_search(query=\"meetings\", start_date=\"2024-01-15\", end_date=\"2024-01-20\")\n # This includes all messages from Jan 15 00:00:00 through Jan 20 23:59:59\n\n # Search messages from a specific day (inclusive)\n conversation_search(query=\"bug reports\", start_date=\"2024-09-04\", end_date=\"2024-09-04\")\n # This includes ALL messages from September 4, 2024\n\n # Search with specific time boundaries\n conversation_search(query=\"deployment\", start_date=\"2024-01-15T09:00\", end_date=\"2024-01-15T17:30\")\n # This includes messages from 9 AM to 5:30 PM on Jan 15\n\n # Search with limit\n conversation_search(query=\"debugging\", limit=10)\n\n Returns:\n str: Query result string containing matching messages with timestamps and content.",
"source_type": "python",
"name": "conversation_search",
"tags": [
"letta_core"
],
"source_code": null,
"json_schema": {
"name": "conversation_search",
"description": "Search prior conversation history using hybrid search (text + semantic similarity).\n\nExamples:\n # Search all messages\n conversation_search(query=\"project updates\")\n\n # Search only assistant messages\n conversation_search(query=\"error handling\", roles=[\"assistant\"])\n\n # Search with date range (inclusive of both dates)\n conversation_search(query=\"meetings\", start_date=\"2024-01-15\", end_date=\"2024-01-20\")\n # This includes all messages from Jan 15 00:00:00 through Jan 20 23:59:59\n\n # Search messages from a specific day (inclusive)\n conversation_search(query=\"bug reports\", start_date=\"2024-09-04\", end_date=\"2024-09-04\")\n # This includes ALL messages from September 4, 2024\n\n # Search with specific time boundaries\n conversation_search(query=\"deployment\", start_date=\"2024-01-15T09:00\", end_date=\"2024-01-15T17:30\")\n # This includes messages from 9 AM to 5:30 PM on Jan 15\n\n # Search with limit\n conversation_search(query=\"debugging\", limit=10)\n\n Returns:\n str: Query result string containing matching messages with timestamps and content.",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "String to search for using both text matching and semantic similarity."
},
"roles": {
"type": "array",
"items": {
"type": "string",
"enum": [
"assistant",
"user",
"tool"
]
},
"description": "Optional list of message roles to filter by."
},
"limit": {
"type": "integer",
"description": "Maximum number of results to return. Uses system default if not specified."
},
"start_date": {
"type": "string",
"description": "Filter results to messages created on or after this date (INCLUSIVE). When using date-only format (e.g., \"2024-01-15\"), includes messages starting from 00:00:00 of that day. ISO 8601 format: \"YYYY-MM-DD\" or \"YYYY-MM-DDTHH:MM\". Examples: \"2024-01-15\" (from start of Jan 15), \"2024-01-15T14:30\" (from 2:30 PM on Jan 15)."
},
"end_date": {
"type": "string",
"description": "Filter results to messages created on or before this date (INCLUSIVE). When using date-only format (e.g., \"2024-01-20\"), includes all messages from that entire day. ISO 8601 format: \"YYYY-MM-DD\" or \"YYYY-MM-DDTHH:MM\". Examples: \"2024-01-20\" (includes all of Jan 20), \"2024-01-20T17:00\" (up to 5 PM on Jan 20)."
}
},
"required": [
"query"
]
}
},
"args_json_schema": null,
"return_char_limit": 50000,
"pip_requirements": null,
"npm_requirements": null,
"default_requires_approval": null,
"enable_parallel_execution": true,
"created_by_id": "user-00000000-0000-4000-8000-000000000000",
"last_updated_by_id": "user-66a8f746-33b7-4c0a-b7ff-88f240a4b4f2",
"metadata_": {}
},
{
"id": "tool-2",
"tool_type": "letta_sleeptime_core",
"description": "The memory_insert command allows you to insert text at a specific location in a memory block.\n\nExamples:\n # Update a block containing information about the user (append to the end of the block)\n memory_insert(label=\"customer\", new_str=\"The customer's ticket number is 12345\")\n\n # Update a block containing information about the user (insert at the beginning of the block)\n memory_insert(label=\"customer\", new_str=\"The customer's ticket number is 12345\", insert_line=0)\n\n Returns:\n Optional[str]: None is always returned as this function does not produce a response.",
"source_type": "python",
"name": "memory_insert",
"tags": [
"letta_sleeptime_core"
],
"source_code": null,
"json_schema": {
"name": "memory_insert",
"description": "The memory_insert command allows you to insert text at a specific location in a memory block.\n\nExamples:\n # Update a block containing information about the user (append to the end of the block)\n memory_insert(label=\"customer\", new_str=\"The customer's ticket number is 12345\")\n\n # Update a block containing information about the user (insert at the beginning of the block)\n memory_insert(label=\"customer\", new_str=\"The customer's ticket number is 12345\", insert_line=0)\n\n Returns:\n Optional[str]: None is always returned as this function does not produce a response.",
"parameters": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Section of the memory to be edited, identified by its label."
},
"new_str": {
"type": "string",
"description": "The text to insert. Do not include line number prefixes."
},
"insert_line": {
"type": "integer",
"description": "The line number after which to insert the text (0 for beginning of file). Defaults to -1 (end of the file)."
}
},
"required": [
"label",
"new_str"
]
}
},
"args_json_schema": null,
"return_char_limit": 50000,
"pip_requirements": null,
"npm_requirements": null,
"default_requires_approval": null,
"enable_parallel_execution": false,
"created_by_id": "user-115f9d36-03b0-4cd2-af5a-772be7f0e725",
"last_updated_by_id": "user-66a8f746-33b7-4c0a-b7ff-88f240a4b4f2",
"metadata_": {}
},
{
"id": "tool-1",
"tool_type": "letta_sleeptime_core",
"description": "The memory_replace command allows you to replace a specific string in a memory block with a new string. This is used for making precise edits.\n\nExamples:\n # Update a block containing information about the user\n memory_replace(label=\"human\", old_str=\"Their name is Alice\", new_str=\"Their name is Bob\")\n\n # Update a block containing a todo list\n memory_replace(label=\"todos\", old_str=\"- [ ] Step 5: Search the web\", new_str=\"- [x] Step 5: Search the web\")\n\n # Pass an empty string to\n memory_replace(label=\"human\", old_str=\"Their name is Alice\", new_str=\"\")\n\n # Bad example - do NOT add (view-only) line numbers to the args\n memory_replace(label=\"human\", old_str=\"Line 1: Their name is Alice\", new_str=\"Line 1: Their name is Bob\")\n\n # Bad example - do NOT include the number number warning either\n memory_replace(label=\"human\", old_str=\"# NOTE: Line numbers shown below are to help during editing. Do NOT include line number prefixes in your memory edit tool calls.\\nLine 1: Their name is Alice\", new_str=\"Line 1: Their name is Bob\")\n\n # Good example - no line numbers or line number warning (they are view-only), just the text\n memory_replace(label=\"human\", old_str=\"Their name is Alice\", new_str=\"Their name is Bob\")\n\n Returns:\n str: The success message",
"source_type": "python",
"name": "memory_replace",
"tags": [
"letta_sleeptime_core"
],
"source_code": null,
"json_schema": {
"name": "memory_replace",
"description": "The memory_replace command allows you to replace a specific string in a memory block with a new string. This is used for making precise edits.\n\nExamples:\n # Update a block containing information about the user\n memory_replace(label=\"human\", old_str=\"Their name is Alice\", new_str=\"Their name is Bob\")\n\n # Update a block containing a todo list\n memory_replace(label=\"todos\", old_str=\"- [ ] Step 5: Search the web\", new_str=\"- [x] Step 5: Search the web\")\n\n # Pass an empty string to\n memory_replace(label=\"human\", old_str=\"Their name is Alice\", new_str=\"\")\n\n # Bad example - do NOT add (view-only) line numbers to the args\n memory_replace(label=\"human\", old_str=\"Line 1: Their name is Alice\", new_str=\"Line 1: Their name is Bob\")\n\n # Bad example - do NOT include the number number warning either\n memory_replace(label=\"human\", old_str=\"# NOTE: Line numbers shown below are to help during editing. Do NOT include line number prefixes in your memory edit tool calls.\\nLine 1: Their name is Alice\", new_str=\"Line 1: Their name is Bob\")\n\n # Good example - no line numbers or line number warning (they are view-only), just the text\n memory_replace(label=\"human\", old_str=\"Their name is Alice\", new_str=\"Their name is Bob\")\n\n Returns:\n str: The success message",
"parameters": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Section of the memory to be edited, identified by its label."
},
"old_str": {
"type": "string",
"description": "The text to replace (must match exactly, including whitespace and indentation)."
},
"new_str": {
"type": "string",
"description": "The new text to insert in place of the old text. Do not include line number prefixes."
}
},
"required": [
"label",
"old_str",
"new_str"
]
}
},
"args_json_schema": null,
"return_char_limit": 50000,
"pip_requirements": null,
"npm_requirements": null,
"default_requires_approval": null,
"enable_parallel_execution": false,
"created_by_id": "user-115f9d36-03b0-4cd2-af5a-772be7f0e725",
"last_updated_by_id": "user-66a8f746-33b7-4c0a-b7ff-88f240a4b4f2",
"metadata_": {}
}
],
"mcp_servers": [],
"metadata": {
"revision_id": "6756d04c3ddb"
},
"created_at": "2025-10-20T19:59:29.456346+00:00"
}