{"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/arxiv-2508-13333","title":"HiFo-Prompt: Prompting with Hindsight and Foresight for LLM-based Automatic Heuristic Design","arxiv_id":"2508.13333","date":"2025-08-18","proceeding":"ICLR","authors":["Chentong Chen","Mengyuan Zhong","Ye Fan","Jialong Shi","Jianyong Sun"],"abstract":"LLM-based Automatic Heuristic Design (AHD) within Evolutionary Computation (EC) frameworks has shown promising results. However, its effectiveness is hindered by the use of static operators and the lack of knowledge accumulation mechanisms. We introduce HiFo-Prompt, a framework that guides LLMs with two synergistic prompting strategies: Foresight and Hindsight. Foresight-based prompts adaptively steer the search based on population dynamics, managing the exploration-exploitation trade-off. In addition, hindsight-based prompts mimic human expertise by distilling successful heuristics from past generations into fundamental, reusable design principles. This dual mechanism transforms transient discoveries into a persistent knowledge base, enabling the LLM to learn from its own experience. Empirical results demonstrate that HiFo-Prompt significantly outperforms state-of-the-art LLM-based AHD methods, generating higher-quality heuristics while achieving substantially faster convergence and superior query efficiency. Our code is available at https://github.com/Challenger-XJTU/HiFo-Prompt.","url_abs":"https://arxiv.org/abs/2508.13333","url_pdf":"https://arxiv.org/pdf/2508.13333","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2508.13333","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2508.13333"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Challenger-XJTU/HiFo-Prompt","reach":null}],"summary":{"ran_draft_wrong":2,"unverified":4},"by_repo_kind":{"found_in_text":{"samples":6,"ran":2,"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":0,"samples":[{"code_sha256_prefix":"4c685cfb1da8e864","entry":"_add_numba_decorator","repo":"Challenger-XJTU/HiFo-Prompt","repo_kind":"found_in_text","path":"hifo/src/hifo/methods/hifo/hifo.py","file_url":"https://github.com/Challenger-XJTU/HiFo-Prompt/blob/HEAD/hifo/src/hifo/methods/hifo/hifo.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c685cfb1da8e864"}},{"code_sha256_prefix":"ea4ce7e7fcc7fa99","entry":"add_numba_decorator","repo":"Challenger-XJTU/HiFo-Prompt","repo_kind":"found_in_text","path":"hifo/src/hifo/methods/hifo/hifo.py","file_url":"https://github.com/Challenger-XJTU/HiFo-Prompt/blob/HEAD/hifo/src/hifo/methods/hifo/hifo.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea4ce7e7fcc7fa99"}},{"code_sha256_prefix":"e50b8a41b13ae1bf","entry":"Evolution","repo":"Challenger-XJTU/HiFo-Prompt","repo_kind":"found_in_text","path":"hifo/src/hifo/methods/hifo/hifo.py","file_url":"https://github.com/Challenger-XJTU/HiFo-Prompt/blob/HEAD/hifo/src/hifo/methods/hifo/hifo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e50b8a41b13ae1bf"}},{"code_sha256_prefix":"d2df3517cfe953c3","entry":"HiFo","repo":"Challenger-XJTU/HiFo-Prompt","repo_kind":"found_in_text","path":"hifo/src/hifo/methods/hifo/hifo.py","file_url":"https://github.com/Challenger-XJTU/HiFo-Prompt/blob/HEAD/hifo/src/hifo/methods/hifo/hifo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d2df3517cfe953c3"}},{"code_sha256_prefix":"f91788ff17851f6c","entry":"InterfaceEC","repo":"Challenger-XJTU/HiFo-Prompt","repo_kind":"found_in_text","path":"hifo/src/hifo/methods/hifo/hifo.py","file_url":"https://github.com/Challenger-XJTU/HiFo-Prompt/blob/HEAD/hifo/src/hifo/methods/hifo/hifo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f91788ff17851f6c"}},{"code_sha256_prefix":"d1f2638506864a07","entry":"InterfaceLLM","repo":"Challenger-XJTU/HiFo-Prompt","repo_kind":"found_in_text","path":"hifo/src/hifo/methods/hifo/hifo.py","file_url":"https://github.com/Challenger-XJTU/HiFo-Prompt/blob/HEAD/hifo/src/hifo/methods/hifo/hifo.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d1f2638506864a07"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.AI","source":"arxiv_api"},"syntology_extracted_results":null}