**Code-based Approaches.** Although text-based approaches sound intuitive, they cannot guarantee faithful execution of the plan, which may lead to failure even when the plan is sound. To address this issue, code-based approaches have been proposed to generate more verifiable plans in the form of executable code in programming languages, _e.g.,_ Python or PDDL. In this way, LLMs are first prompted to generate the program and then utilize a deterministic solver to execute it. For example, FaithVolCt [442] and PAL [443] decompose a reasoning task into two stages: at the first stage, the LLM generates a plan conditioned on the query; at the second stage, a deterministic solver executes the plan to derive the final answer. Furthermore, code-based approaches can be applied to embodied agents in a similar way. For example, PROGPROMPT [530] and LLM+P [531] first utilize LLMs to generate plans in the form of python functions or PDDL files, and then leverage a virtual agent or classical planner to solve the problem according to the code-based plans.
**Code-based Approaches**. 텍스트 기반 접근 방식은 직관적으로 들리지만 계획의 충실한 실행을 보장할 수 없으므로 계획이 건전한 경우에도 실패로 이어질 수 있습니다. 이 문제를 해결하기 위해 프로그래밍 언어(예: Python 또는 PDDL)로 실행 가능한 코드 형태의 계획을 생성하는 코드 기반 접근 방식이 제안되었습니다. 이러한 방식으로 LLMs은 먼저 프로그램을 생성하도록 프롬프트를 보낸 다음 결정론적 솔버를 활용하여 실행합니다. 예를 들어, FaithVolCt [442] 및 PAL [443]은 추론 작업을 두 단계로 분해합니다. 첫 번째 단계에서는 LLM이 쿼리에 따라 계획을 생성하고, 두 번째 단계에서는 결정론적 솔버가 계획을 실행하여 최종 답을 도출합니다. 또한 코드 기반 접근 방식은 유사한 방식으로 구현된 에이전트에도 적용될 수 있습니다. 예를 들어, PROGPROMPT [530] 및 LLM+P [531]은 먼저 LLMs을 활용하여 Python 함수 또는 PDDL 파일 형태의 계획을 생성한 다음 가상 에이전트 또는 고전적 플래너를 활용하여 코드 기반 계획에 따라 문제를 해결합니다.
**코드 기반 접근 방식**. 텍스트 기반 접근 방식은 직관적으로 들리지만 계획의 충실한 실행을 보장할 수 없으므로 계획이 건전한 경우에도 실패로 이어질 수 있습니다. 이 문제를 해결하기 위해 프로그래밍 언어(예: Python 또는 PDDL)로 실행 가능한 코드 형태의 계획을 생성하는 코드 기반 접근 방식이 제안되었습니다. 이러한 방식으로 LLM은 먼저 프로그램을 생성하도록 프롬프트를 보낸 다음 결정론적 솔버를 활용하여 실행합니다. 예를 들어, FaithVolCt [442] 및 PAL [443]은 추론 작업을 두 단계로 분해합니다. 첫 번째 단계에서는 LLM이 쿼리에 따라 계획을 생성하고, 두 번째 단계에서는 결정론적 솔버가 계획을 실행하여 최종 답을 도출합니다. 또한 코드 기반 접근 방식은 유사한 방식으로 구현된 에이전트에도 적용될 수 있습니다. 예를 들어, PROGPROMPT [530] 및 LLM+P [531]은 먼저 LLM을 활용하여 파이썬 함수 또는 PDDL 파일 형태의 계획을 생성한 다음 가상 에이전트 또는 고전적 플래너를 활용하여 코드 기반 계획에 따라 문제를 해결합니다.