{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/leveraging-environment-interaction-for","title":"Leveraging Environment Interaction for Automated PDDL Translation and Planning with Large Language Models","arxiv_id":"2407.12979","date":"2024-07-17","proceeding":null,"authors":["Sadegh Mahdavi","Raquel Aoki","Keyi Tang","Yanshuai Cao"],"abstract":"Large Language Models (LLMs) have shown remarkable performance in various natural language tasks, but they often struggle with planning problems that require structured reasoning. To address this limitation, the conversion of planning problems into the Planning Domain Definition Language (PDDL) has been proposed as a potential solution, enabling the use of automated planners. However, generating accurate PDDL files typically demands human inputs or correction, which can be time-consuming and costly. In this paper, we propose a novel approach that leverages LLMs and environment feedback to automatically generate PDDL domain and problem description files without the need for human intervention. Our method introduces an iterative refinement process that generates multiple problem PDDL candidates and progressively refines the domain PDDL based on feedback obtained from interacting with the environment. To guide the refinement process, we develop an Exploration Walk (EW) metric, which provides rich feedback signals for LLMs to update the PDDL file. We evaluate our approach on $10$ PDDL environments. We achieve an average task solve rate of 66% compared to a 29% solve rate by GPT-4's intrinsic planning with chain-of-thought prompting. Our work enables the automated modeling of planning environments using LLMs and environment feedback, eliminating the need for human intervention in the PDDL translation process and paving the way for more reliable LLM agents in challenging problems. Our code is available at https://github.com/BorealisAI/llm-pddl-planning","url_abs":"https://arxiv.org/abs/2407.12979v2","url_pdf":"https://arxiv.org/pdf/2407.12979v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"leveraging-environment-interaction-for","repo_url":"https://github.com/borealisai/llm-pddl-planning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.12979","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.12979"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/BorealisAI/llm-pddl-planning","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/borealisai/llm-pddl-planning","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":6,"samples":[{"code_sha256_prefix":"a48f430a3e40f41e","entry":"get_domain_translation_messages","repo":"BorealisAI/llm-pddl-planning","repo_kind":"official","path":"src/prompts.py","file_url":"https://github.com/BorealisAI/llm-pddl-planning/blob/HEAD/src/prompts.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"a48f430a3e40f41e"}},{"code_sha256_prefix":"8013540e912e66b9","entry":"get_file_logger","repo":"BorealisAI/llm-pddl-planning","repo_kind":"official","path":"src/intrinsic_planning.py","file_url":"https://github.com/BorealisAI/llm-pddl-planning/blob/HEAD/src/intrinsic_planning.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"8013540e912e66b9"}},{"code_sha256_prefix":"6708a26c4482cdd8","entry":"get_random_temp_file_name","repo":"BorealisAI/llm-pddl-planning","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/BorealisAI/llm-pddl-planning/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"6708a26c4482cdd8"}},{"code_sha256_prefix":"7f4aac451242dc1d","entry":"postprocess","repo":"BorealisAI/llm-pddl-planning","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/BorealisAI/llm-pddl-planning/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7f4aac451242dc1d"}},{"code_sha256_prefix":"9f79250125130896","entry":"read_and_remove_file","repo":"BorealisAI/llm-pddl-planning","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/BorealisAI/llm-pddl-planning/blob/HEAD/src/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"9f79250125130896"}},{"code_sha256_prefix":"7cfa0cdc7168bd5b","entry":"get_problem_translation_messages","repo":"BorealisAI/llm-pddl-planning","repo_kind":"official","path":"src/prompts.py","file_url":"https://github.com/BorealisAI/llm-pddl-planning/blob/HEAD/src/prompts.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7cfa0cdc7168bd5b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}