Merge branch 'main' into cleanup

This commit is contained in:
MaxRobinsonTheGreat 2025-03-15 14:19:01 -05:00
commit eebd43e8a3
10 changed files with 2315 additions and 60 deletions

View file

@ -155,7 +155,7 @@ def aggregate_results(local_folders):
success = int(extract_result(folder_path))
successful += success
if "missing" in folder_path:
if "missing" in folder_path and not is_base(folder_path):
missing_successful += success
missing_total += 1
if is_base(folder_path):

View file

@ -9,6 +9,30 @@ import sys
import os
import time
BLOCKED_ACTIONS_COOKING = [
'!activate', '!attackPlayer', '!checkBlueprint', '!checkBlueprintLevel',
'!clearChat', '!clearFurnace', '!consume', '!craftable', '!discard', '!endConversation',
'!endGoal', '!entities', '!equip', '!followPlayer', '!getBlueprint', '!getBlueprintLevel',
'!goToBed', '!help', '!modes', '!moveAway', '!newAction', '!placeHere', '!putInChest',
'!restart', '!setMode', '!stay', '!stfu', '!stop'
]
BLOCKED_ACTIONS_CRAFTING = [
'!activate', '!attack', '!attackPlayer', '!checkBlueprint', '!checkBlueprintLevel',
'!clearChat', '!clearFurnace', '!consume', '!craftable', '!discard', '!endConversation',
'!endGoal', '!entities', '!followPlayer', '!getBlueprint', '!getBlueprintLevel',
'!goToBed', '!help', '!modes', '!newAction', '!putInChest', '!restart',
'!searchForEntity', '!setMode', '!stay', '!stfu', '!stop', '!takeFromChest',
'!viewChest'
]
BLOCKED_ACTIONS_CONSTRUCTION = [
'!activate', '!attackPlayer', '!clearChat', '!clearFurnace', '!collectBlocks',
'!consume', '!craftable', '!discard', '!endConversation', '!endGoal', '!entities',
'!equip', '!followPlayer', '!getBlueprint', '!getBlueprintLevel', '!goToBed',
'!help', '!modes', '!moveAway', '!newAction', '!placeHere', '!putInChest',
'!restart', '!searchForBlock', '!searchForEntity', '!setMode', '!stay', '!stfu',
'!stop', '!takeFromChest', '!viewChest'
]
def read_settings(file_path):
"""Read and parse the settings.js file to get agent profiles."""
with open(file_path, 'r', encoding='utf-8') as file:
@ -71,35 +95,8 @@ def check_task_completion(agents):
except (FileNotFoundError, json.JSONDecodeError) as e:
print(f"Error reading memory for agent {agent}: {e}")
continue
return False # Default to failure if no conclusive result found
def update_results_file(task_id, success_count, total_count, time_taken, experiment_results, results_filename):
"""Update the results file with current success ratio and time taken."""
success_ratio = success_count / total_count
with open(results_filename, 'w') as f: # 'w' mode overwrites the file each time
f.write(f"Task ID: {task_id}\n")
f.write(f"Experiments completed: {total_count}\n")
f.write(f"Successful experiments: {success_count}\n")
f.write(f"Success ratio: {success_ratio:.2f}\n")
f.write(f"Time taken for last experiment: {time_taken:.2f} seconds\n")
# Write individual experiment results
for i, result in enumerate(experiment_results, 1):
f.write(f"Experiment {i}: {'Success' if result['success'] else 'Failure'}, Time taken: {result['time_taken']:.2f} seconds\n")
# Write aggregated metrics
total_time = sum(result['time_taken'] for result in experiment_results)
f.write(f"\nAggregated metrics:\n")
f.write(f"Total experiments: {total_count}\n")
f.write(f"Total successful experiments: {success_count}\n")
f.write(f"Overall success ratio: {success_ratio:.2f}\n")
f.write(f"Total time taken: {total_time:.2f} seconds\n")
f.write(f"Average time per experiment: {total_time / total_count:.2f} seconds\n")
f.write(f"Last updated: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
def set_environment_variable_tmux_session(session_name, key, value):
"""Set an environment variable for the current process."""
subprocess.run(["tmux", "send-keys", "-t", session_name, f"export {key}={value}", "C-m"])
@ -124,6 +121,9 @@ def launch_parallel_experiments(task_path,
task_ids = json_data.keys()
task_type = json_data[list(task_ids)[0]]["type"]
# split the task_ids into num_parallel groups
task_ids = list(task_ids)
task_ids_split = [task_ids[i::num_parallel] for i in range(num_parallel)]
@ -149,8 +149,15 @@ def launch_parallel_experiments(task_path,
api=api,
insecure_coding=insecure_coding,
num_agents=num_agents,
url=url)
url=url,
task_type=task_type)
time.sleep(5)
for i in range(20):
for i in range(len(servers)):
session_name = str(servers[i][1] - 55916)
subprocess.run(["tmux", "send-keys", "-t", "server_" + session_name, f"/op @a", "C-m"])
time.sleep(10)
def launch_server_experiment(task_path,
task_ids,
@ -165,7 +172,8 @@ def launch_server_experiment(task_path,
bucket_name="mindcraft-experiments",
template_profile="profiles/tasks/collab_profile.json",
insecure_coding=False,
url="http://127.0.0.1:8000/v1"):
url="http://127.0.0.1:8000/v1",
task_type="techtree"):
"""
Launch a Minecraft server and run experiments on it.
@param task_path: Path to the task file
@ -194,7 +202,9 @@ def launch_server_experiment(task_path,
models = [model] * 2
apis = [api] * 2
else:
agent_names = [f"Andy_{session_name}", f"Jill_{session_name}", f"Bob_{session_name}"]
agent_names = []
for i in range(num_agents):
agent_names.append(f"Agent_{i}_{session_name}")
models = [model] * 3
apis = [api] * 3
make_profiles(agent_names, models, apis, template_profile=template_profile, url=url)
@ -205,6 +215,11 @@ def launch_server_experiment(task_path,
agent_profiles_str = f"'[\"{agent_profiles[0]}\"]'"
elif num_agents == 2:
agent_profiles_str = f"'[\"{agent_profiles[0]}\", \"{agent_profiles[1]}\"]'"
else:
agent_profiles_str = "'["
for agent in agent_profiles[:-1]:
agent_profiles_str += f'\"{agent}\", '
agent_profiles_str += f"\"{agent_profiles[-1]}\"]'"
print(agent_profiles_str)
launch_world(server_path, session_name="server_" + session_name, agent_names=agent_names)
@ -218,16 +233,25 @@ def launch_server_experiment(task_path,
set_environment_variable_tmux_session(session_name, "INSECURE_CODING", "true")
# you need to add the bots to the world first before you can add them as op
cmd = f"node main.js --task_path example_tasks.json --task_id debug_multi_agent_timeout"
cmd = f"node main.js --task_path example_tasks.json --task_id debug_{num_agents}_agent_timeout"
subprocess.run(["tmux", "send-keys", "-t", session_name, cmd, "C-m"])
time.sleep(20)
time.sleep(40)
subprocess.run(["tmux", "send-keys", "-t", "server_" + session_name, f"/op {agent_names[0]}", "C-m"])
# add the bots as op
for agent in agent_names:
subprocess.run(["tmux", "send-keys", "-t", "server_" + session_name, f"/op {agent}", "C-m"])
time.sleep(1)
# op_script_content = "sleep 5\n\op @p" * 20
# op_script_file = f"./tmp/op_script_{session_name}.sh"
# make_script_file_and_run(op_script_content, "server_" + session_name, op_script_file)
if task_type == "cooking":
set_environment_variable_tmux_session(session_name, "BLOCKED_ACTIONS", BLOCKED_ACTIONS_COOKING)
elif task_type == "techtree":
set_environment_variable_tmux_session(session_name, "BLOCKED_ACTIONS", BLOCKED_ACTIONS_CRAFTING)
elif task_type == "construction":
set_environment_variable_tmux_session(session_name, "BLOCKED_ACTIONS", BLOCKED_ACTIONS_CONSTRUCTION)
script_content = ""
for task_id in task_ids:
@ -263,23 +287,24 @@ def launch_server_experiment(task_path,
# Create a temporary shell script file
script_file = f"./tmp/experiment_script_{session_name}.sh"
make_script_file_and_run(script_content, session_name, script_file)
script_dir = os.path.dirname(script_file)
def make_script_file_and_run(script_content, session_name, file_name):
script_dir = os.path.dirname(file_name)
os.makedirs(script_dir, exist_ok=True)
assert os.path.exists(script_dir), f"Script directory {script_dir} was not created"
print(f"Created script directory: {script_dir}")
# Call the function before writing the script file
with open(script_file, 'w') as f:
with open(file_name, 'w') as f:
f.write(script_content)
assert os.path.exists(script_file), f"Script file {script_file} was not created"
assert os.path.exists(file_name), f"Script file {file_name} was not created"
script_file_run = "bash " + script_file
script_file_run = "bash " + file_name
# Execute the shell script using subprocess
subprocess.run(["tmux", "send-keys", "-t", session_name, script_file_run, "C-m"])
# subprocess.run(["tmux", "send-keys", "-t", session_name, f"/op {agent_names[0]}", "C-m"])
def make_profiles(agent_names, models, apis, template_profile="profiles/collab_profile.json", url="http://127.0.0.1:8000/v1"):

View file

@ -34,7 +34,14 @@
{"role": "assistant", "content": "Seems like we need are missing 1 peony which we can use craft 1 pink_dye which is an intermediate item, but since you already have a pink_dye, there is no need to search for peony which is used to craft pink_dye, can you pass the pink_dye to me?"},
{"role": "user", "content": "terrance: (FROM OTHER BOT) Sure, here you go !givePlayer(\"pink_dye\", 1, \"jacob\")"},
{"role": "assistant", "content": "Thanks for the pink_dye, now I can craft the pink_wool. !craftItem(\"pink_wool\", 1)"}
],
[
{"role": "user", "content": "terrance: (FROM OTHER BOT) Lets craft a cyan bed together"},
{"role": "assistant", "content": "Sure, I have !inventory\n I have a cyan_dye and oak_planks. What do you have? "},
{"role": "user", "content": "terrance: (FROM OTHER BOT) I have 1 cyan_wool and 1 oak_planks. Let me give those to you !givePlayer(\"cyan_wool\", 1, \"andy\") !givePlayer(\"oak_planks\", 1, \"andy\")"},
{"role": "assistant", "content": "Hmm seems like we don't have enough to craft a cyan bed, let me reach out to the third agent and ask for help! !startConversation(\"jacob\", Hey jacob, can you help us craft a cyan bed? We need cyan_dye and oak_planks"},
{"role": "user", "content": "jacob: (FROM OTHER BOT) Sure! Let me give those to you !givePlayer(\"cyan_dye\", 1, \"andy\") !givePlayer(\"oak_planks\", 1, \"andy\")"},
{"role": "assistant", "content": "Thanks for the items, now I can craft the cyan bed. !craftItem(\"cyan_bed\", 1)"}
]
]
}

View file

@ -1,9 +1,9 @@
{
"name": "andy",
"model": "gpt-4o-mini",
"model": "claude-3-5-haiku-latest",
"modes": {
"hunting": false
},
"conversing": "You are a task-focused Minecraft bot named $NAME. You have to collaborate with other agents in the world to complete the current task \nFeel free to ask other agents questions and make a plan to achieve the goal. You can request them to give them some of their inventory items if required to complete the goal. Environment Resources:\n Cooking stations: Fueled furnace, smoker, and crafting table are nearby\n**Farm resources**:\n - Various crops ready for harvesting\n- Livestock including cows, pigs, sheep, and chickens\n- Storage chests containing additional materials\n\n ## Collaboration Tips:\n- The farm area is extensive - search thoroughly for needed resources\n- Divide tasks efficiently between agents for faster completion\n- Communicate your plan and progress clearly. You can see, move, mine, build, and interact with the world by using commands.\n$SELF_PROMPT Act human-like as if you were a typical Minecraft player, rather than an AI. Be very brief in your responses, don't apologize constantly, don't give instructions or make lists unless asked, and don't refuse requests. Don't pretend to act, use commands immediately when requested. Do NOT say this: 'Sure, I've stopped.', instead say this: 'Sure, I'll stop. !stop'. Do NOT say this: 'On my way! Give me a moment.', instead say this: 'On my way! !goToPlayer(\"playername\", 3)'. Respond only as $NAME, never output '(FROM OTHER BOT)' or pretend to be someone else. If you have nothing to say or do, respond with an just a tab '\t'. Share resources and information with other bots! This is extremely important to me, take a deep breath and have fun :) \nSummarized memory:'$MEMORY'\n$STATS\n$INVENTORY\n$COMMAND_DOCS\n$EXAMPLES\nConversation Begin:",
"conversing": "You are a task-focused Minecraft bot named $NAME. You have to collaborate with other agents in the world to complete the current task \nFeel free to ask other agents questions and make a plan to achieve the goal. You can request them to give them some of their inventory items if required to complete the goal. General Searching Tips:\n- The farm area is extensive - search thoroughly for needed resources\n There is a chest nearby with valuable items.\n- Divide tasks efficiently between agents for faster completion\n- Communicate your plan and progress clearly. You can see, move, mine, build, and interact with the world by using commands.\n$SELF_PROMPT Act human-like as if you were a typical Minecraft player, rather than an AI. Be very brief in your responses, don't apologize constantly, don't give instructions or make lists unless asked, and don't refuse requests. Don't pretend to act, use commands immediately when requested. Do NOT say this: 'Sure, I've stopped.', instead say this: 'Sure, I'll stop. !stop'. Do NOT say this: 'On my way! Give me a moment.', instead say this: 'On my way! !goToPlayer(\"playername\", 3)'. Respond only as $NAME, never output '(FROM OTHER BOT)' or pretend to be someone else. If you have nothing to say or do, respond with an just a tab '\t'. Share resources and information with other bots! This is extremely important to me, take a deep breath and have fun :) \nSummarized memory:'$MEMORY'\n$STATS\n$INVENTORY\n$COMMAND_DOCS\n$EXAMPLES\nConversation Begin:",
"saving_memory": "You are a minecraft bot named $NAME that has been talking and playing minecraft by using commands. Update your memory by summarizing the following conversation and your old memory in your next response. Prioritize preserving important facts, things you've learned, useful tips, and long term reminders. Do Not record stats, inventory, or docs! Only save transient information from your chat history. $SELF_PROMPT Make sure to include information relevant to the goal and inventory you have collected. You're limited to 500 characters, so be extremely brief and minimize words. Compress useful information. \nOld Memory: '$MEMORY'\nRecent conversation: \n$TO_SUMMARIZE\nSummarize your old memory and recent conversation into a new memory, and respond only with the unwrapped memory text: "
}

View file

@ -35,11 +35,11 @@ export default
"show_bot_views": false, // show bot's view in browser at localhost:3000, 3001...
"allow_insecure_coding": process.env.INSECURE_CODING || false, // allows newAction command and model can write/run code on your computer. enable at own risk
"blocked_actions" : ["!checkBlueprint", "!checkBlueprintLevel", "!getBlueprint", "!getBlueprintLevel"], // commands to disable and remove from docs
"blocked_actions" : process.env.BLOCKED_ACTIONS || ["!checkBlueprint", "!checkBlueprintLevel", "!getBlueprint", "!getBlueprintLevel"] , // commands to disable and remove from docs. Ex: ["!setMode"]
"code_timeout_mins": -1, // minutes code is allowed to run. -1 for no timeout
"relevant_docs_count": 5, // Parameter: -1 = all, 0 = no references, 5 = five references. If exceeding the maximum, all reference documents are returned.
"max_messages": 15, // max number of messages to keep in context
"max_messages": 150, // max number of messages to keep in context
"num_examples": 2, // number of examples to give to the model
"max_commands": -1, // max number of commands that can be used in consecutive responses. -1 for no limit
"verbose_commands": true, // show full command syntax

View file

@ -143,7 +143,8 @@ export class CookingTaskInitiator {
const x = xStart + i;
const z = zStart + j;
await bot.chat(`/setblock ${x} ${position.y - 1} ${z} mycelium`);
await bot.chat(`/setblock ${x} ${position.y} ${z} red_mushroom`);
const mushroomType = (i + j) % 2 === 0 ? 'red_mushroom' : 'brown_mushroom';
await bot.chat(`/setblock ${x} ${position.y} ${z} ${mushroomType}`);
}
}
};
@ -312,7 +313,7 @@ export class CookingTaskInitiator {
const cookingItems = [
['minecraft:milk_bucket', 1], // Non-stackable
['minecraft:egg', 16], // Stacks to 16
['minecraft:melon_slice', 64], // Stacks to 64
['minecraft:dandelion', 64], // Stacks to 64
['minecraft:sugar', 64],
['minecraft:cocoa_beans', 64],
['minecraft:apple', 64],
@ -334,6 +335,9 @@ export class CookingTaskInitiator {
['minecraft:cooked_cod', 64],
['minecraft:gold_ingot', 64],
['minecraft:oak_planks', 64],
['minecraft:iron_ingot', 64],
['minecraft:milk_bucket', 1],
['minecraft:milk_bucket', 1],
];
// Fill the chest with random cooking items
@ -355,16 +359,16 @@ export class CookingTaskInitiator {
await new Promise(resolve => setTimeout(resolve, 300));
// Animal management
await bot.chat('/kill @e[type=item,distance=..50]');
await bot.chat('/kill @e[type=chicken,distance=..50]');
await bot.chat('/kill @e[type=cow,distance=..50]');
await bot.chat('/kill @e[type=llama,distance=..50]');
await bot.chat('/kill @e[type=mooshroom,distance=..50]');
await bot.chat('/kill @e[type=pig,distance=..50]');
await bot.chat('/kill @e[type=rabbit,distance=..50]');
await bot.chat('/kill @e[type=sheep,distance=..50]');
await bot.chat('/kill @e[type=item,distance=..200]');
await bot.chat('/kill @e[type=chicken,distance=..200]');
await bot.chat('/kill @e[type=cow,distance=..200]');
await bot.chat('/kill @e[type=llama,distance=..200]');
await bot.chat('/kill @e[type=mooshroom,distance=..200]');
await bot.chat('/kill @e[type=pig,distance=..200]');
await bot.chat('/kill @e[type=rabbit,distance=..200]');
await bot.chat('/kill @e[type=sheep,distance=..200]');
await bot.chat(`/kill @e[type=item,distance=..50]`);
await bot.chat(`/kill @e[type=item,distance=..200]`);
await new Promise(resolve => setTimeout(resolve, 300));

View file

@ -198,7 +198,7 @@ export class Task {
let add_string = '';
if (this.task_type === 'cooking') {
add_string = '\nIn the end, all the food should be given to Andy.';
add_string = '\nIn the end, all the food items should be given to one single player.';
}
// If goal is a string, all agents share the same goal

View file

@ -0,0 +1,537 @@
{
"multiagent_cooking_1_bread_1_cooked_mutton_hells_kitchen": {
"conversation": "We need to make bread and cooked_mutton together. You are supposed to make cooked_mutton and I am supposed to make ('bread',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"bread": 1,
"cooked_mutton": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make bread, but you don't have the recipe for it!\n\nYour partner needs to make cooked_mutton. You have their recipe:\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make cooked_mutton, but you don't have the recipe for it!\n\nYour partner needs to make bread. You have their recipe:\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 4,
"max_steps_per_recipe": 2,
"unique_target_items": 2,
"overall_difficulty_score": 4,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_baked_potato_1_golden_carrot_hells_kitchen": {
"conversation": "We need to make baked_potato and golden_carrot together. You are supposed to make golden_carrot and I am supposed to make ('baked_potato',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"baked_potato": 1,
"golden_carrot": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make baked_potato, but you don't have the recipe for it!\n\nYour partner needs to make golden_carrot. You have their recipe:\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make golden_carrot, but you don't have the recipe for it!\n\nYour partner needs to make baked_potato. You have their recipe:\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 5,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_cooked_mutton_1_mushroom_stew_hells_kitchen": {
"conversation": "We need to make cooked_mutton and mushroom_stew together. You are supposed to make mushroom_stew and I am supposed to make ('cooked_mutton',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"cooked_mutton": 1,
"mushroom_stew": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
],
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make cooked_mutton, but you don't have the recipe for it!\n\nYour partner needs to make mushroom_stew. You have their recipe:\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make mushroom_stew, but you don't have the recipe for it!\n\nYour partner needs to make cooked_mutton. You have their recipe:\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 5,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_cake_1_golden_carrot_hells_kitchen": {
"conversation": "We need to make golden_carrot and cake together. You are supposed to make cake and I am supposed to make ('golden_carrot',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"golden_carrot": 1,
"cake": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make golden_carrot, but you don't have the recipe for it!\n\nYour partner needs to make cake. You have their recipe:\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make cake, but you don't have the recipe for it!\n\nYour partner needs to make golden_carrot. You have their recipe:\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 8,
"max_steps_per_recipe": 5,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_cooked_mutton_1_golden_carrot_hells_kitchen": {
"conversation": "We need to make cooked_mutton and golden_carrot together. You are supposed to make golden_carrot and I am supposed to make ('cooked_mutton',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"cooked_mutton": 1,
"golden_carrot": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
],
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make cooked_mutton, but you don't have the recipe for it!\n\nYour partner needs to make golden_carrot. You have their recipe:\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make golden_carrot, but you don't have the recipe for it!\n\nYour partner needs to make cooked_mutton. You have their recipe:\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 5,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_baked_potato_1_bread_hells_kitchen": {
"conversation": "We need to make bread and baked_potato together. You are supposed to make baked_potato and I am supposed to make ('bread',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"bread": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make bread, but you don't have the recipe for it!\n\nYour partner needs to make baked_potato. You have their recipe:\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make baked_potato, but you don't have the recipe for it!\n\nYour partner needs to make bread. You have their recipe:\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 4,
"max_steps_per_recipe": 2,
"unique_target_items": 2,
"overall_difficulty_score": 4,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_cake_1_mushroom_stew_hells_kitchen": {
"conversation": "We need to make mushroom_stew and cake together. You are supposed to make cake and I am supposed to make ('mushroom_stew',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"mushroom_stew": 1,
"cake": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
],
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make mushroom_stew, but you don't have the recipe for it!\n\nYour partner needs to make cake. You have their recipe:\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make cake, but you don't have the recipe for it!\n\nYour partner needs to make mushroom_stew. You have their recipe:\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 8,
"max_steps_per_recipe": 5,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_baked_potato_1_cake_hells_kitchen": {
"conversation": "We need to make cake and baked_potato together. You are supposed to make baked_potato and I am supposed to make ('cake',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"cake": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make cake, but you don't have the recipe for it!\n\nYour partner needs to make baked_potato. You have their recipe:\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make baked_potato, but you don't have the recipe for it!\n\nYour partner needs to make cake. You have their recipe:\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 7,
"max_steps_per_recipe": 5,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_baked_potato_1_cooked_mutton_hells_kitchen": {
"conversation": "We need to make cooked_mutton and baked_potato together. You are supposed to make baked_potato and I am supposed to make ('cooked_mutton',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"cooked_mutton": 1,
"baked_potato": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
],
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make cooked_mutton, but you don't have the recipe for it!\n\nYour partner needs to make baked_potato. You have their recipe:\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make baked_potato, but you don't have the recipe for it!\n\nYour partner needs to make cooked_mutton. You have their recipe:\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 4,
"max_steps_per_recipe": 2,
"unique_target_items": 2,
"overall_difficulty_score": 4,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_golden_carrot_1_mushroom_stew_hells_kitchen": {
"conversation": "We need to make golden_carrot and mushroom_stew together. You are supposed to make mushroom_stew and I am supposed to make ('golden_carrot',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"golden_carrot": 1,
"mushroom_stew": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
],
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make golden_carrot, but you don't have the recipe for it!\n\nYour partner needs to make mushroom_stew. You have their recipe:\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make mushroom_stew, but you don't have the recipe for it!\n\nYour partner needs to make golden_carrot. You have their recipe:\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 6,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_bread_1_mushroom_stew_hells_kitchen": {
"conversation": "We need to make mushroom_stew and bread together. You are supposed to make bread and I am supposed to make ('mushroom_stew',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"mushroom_stew": 1,
"bread": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make mushroom_stew, but you don't have the recipe for it!\n\nYour partner needs to make bread. You have their recipe:\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make bread, but you don't have the recipe for it!\n\nYour partner needs to make mushroom_stew. You have their recipe:\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 5,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_cake_1_cooked_mutton_hells_kitchen": {
"conversation": "We need to make cake and cooked_mutton together. You are supposed to make cooked_mutton and I am supposed to make ('cake',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"cake": 1,
"cooked_mutton": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"cooked_mutton": [
"Step 1: Kill a sheep and pick up 1 mutton that is dropped.",
"Step 2: Go to furnace and use it to cook the mutton."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make cake, but you don't have the recipe for it!\n\nYour partner needs to make cooked_mutton. You have their recipe:\nRecipe for cooked_mutton:\nStep 1: Kill a sheep and pick up 1 mutton that is dropped.\nStep 2: Go to furnace and use it to cook the mutton.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make cooked_mutton, but you don't have the recipe for it!\n\nYour partner needs to make cake. You have their recipe:\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 7,
"max_steps_per_recipe": 5,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_bread_1_golden_carrot_hells_kitchen": {
"conversation": "We need to make golden_carrot and bread together. You are supposed to make bread and I am supposed to make ('golden_carrot',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"golden_carrot": 1,
"bread": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"golden_carrot": [
"Step 1: Go to the farm and collect 1 carrot.",
"Step 2: Go to the chest and collect gold ingots and convert them to gold nuggets.",
"Step 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make golden_carrot, but you don't have the recipe for it!\n\nYour partner needs to make bread. You have their recipe:\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make bread, but you don't have the recipe for it!\n\nYour partner needs to make golden_carrot. You have their recipe:\nRecipe for golden_carrot:\nStep 1: Go to the farm and collect 1 carrot.\nStep 2: Go to the chest and collect gold ingots and convert them to gold nuggets.\nStep 3: Go to the crafting table and surround the carrot with gold nuggets to create a golden carrot.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 5,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_baked_potato_1_mushroom_stew_hells_kitchen": {
"conversation": "We need to make baked_potato and mushroom_stew together. You are supposed to make mushroom_stew and I am supposed to make ('baked_potato',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"baked_potato": 1,
"mushroom_stew": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"baked_potato": [
"Step 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).",
"Step 2: Go to the furnace and bake the potato."
],
"mushroom_stew": [
"Step 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.",
"Step 2: Go to the chest and grab a bowl.",
"Step 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make baked_potato, but you don't have the recipe for it!\n\nYour partner needs to make mushroom_stew. You have their recipe:\nRecipe for mushroom_stew:\nStep 1: Go to the farm and collect 1 red mushroom and 1 brown mushroom.\nStep 2: Go to the chest and grab a bowl.\nStep 3: Go to the crafting table and combine both the mushrooms and bowl to make mushroom stew.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make mushroom_stew, but you don't have the recipe for it!\n\nYour partner needs to make baked_potato. You have their recipe:\nRecipe for baked_potato:\nStep 1: Go to the farm and collect 1 potato (search for 'potatoes' (not 'potato')).\nStep 2: Go to the furnace and bake the potato.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 5,
"max_steps_per_recipe": 3,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
},
"multiagent_cooking_1_bread_1_cake_hells_kitchen": {
"conversation": "We need to make cake and bread together. You are supposed to make bread and I am supposed to make ('cake',)but I only have YOUR recipe and you only have access to MY recipe! Let's exchange information and get cooking!",
"agent_count": 2,
"target": {
"cake": 1,
"bread": 1
},
"type": "cooking",
"timeout": 300,
"recipes": {
"cake": [
"Step 1: Go to the farm and collect 3 wheat, 2 sugar cane.",
"Step 2: Go to the chest and grab 3 milk buckets.",
"Step 3: Go to the chest and grab an egg.",
"Step 4: Go to the crafting table and craft the sugarcane into sugar.",
"Step 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake."
],
"bread": [
"Step 1: Go to the farm and collect 3 wheat.",
"Step 2: Go to the crafting table and use the wheat to craft bread."
]
},
"blocked_access_to_recipe": [],
"goal": {
"0": "You need to make cake, but you don't have the recipe for it!\n\nYour partner needs to make bread. You have their recipe:\nRecipe for bread:\nStep 1: Go to the farm and collect 3 wheat.\nStep 2: Go to the crafting table and use the wheat to craft bread.\n\nYou must communicate effectively to exchange recipe information and complete both dishes.",
"1": "You need to make bread, but you don't have the recipe for it!\n\nYour partner needs to make cake. You have their recipe:\nRecipe for cake:\nStep 1: Go to the farm and collect 3 wheat, 2 sugar cane.\nStep 2: Go to the chest and grab 3 milk buckets.\nStep 3: Go to the chest and grab an egg.\nStep 4: Go to the crafting table and craft the sugarcane into sugar.\nStep 5: Go to the crafting table and combine all ingredients (3 wheat, 2 sugar, 1 egg, and milk bucket) to make a cake.\n\nYou must communicate effectively to exchange recipe information and complete both dishes."
},
"task_type": "cooking",
"difficulty_metrics": {
"total_recipe_steps": 7,
"max_steps_per_recipe": 5,
"unique_target_items": 2,
"overall_difficulty_score": 5,
"difficulty_category": "medium"
},
"difficulty": "medium"
}
}

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,16 @@
},
"type": "debug"
},
"debug_multi_agent_timeout": {
"debug_1_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 1,
"initial_inventory": {
"iron_ingot": 1
},
"type": "debug",
"timeout": 60
},
"debug_2_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 2,
"initial_inventory": {
@ -29,7 +38,67 @@
}
},
"type": "debug",
"timeout": 30
"timeout": 60
},
"debug_3_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 3,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
},
"2": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_4_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 4,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
},
"2": {
"iron_ingot": 1
},
"3": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_5_agent_timeout": {
"goal": "Just stand at a place and don't do anything",
"agent_count": 5,
"initial_inventory": {
"0": {
"iron_ingot": 1
},
"1": {
"iron_ingot": 1
},
"2": {
"iron_ingot": 1
},
"3": {
"iron_ingot": 1
},
"4": {
"iron_ingot": 1
}
},
"type": "debug",
"timeout": 60
},
"debug_different_goal": {
"goal": {