Venue: NeurIPS 2022 Workshop LaReL

Reviews:

final_score: rating: 7: Good paper, accept
review_content: **Summary**:
- The paper presents an approach to generate task plans represented as pythonic programs. The main idea is to prompt large language models with program-like specifications of available objects, actions, and executable example programs. 

**Strengths**:
- The idea of constraining the space of generated plans by prompting the model with available objects, actions, and executable plans is interesting. 

**Weaknesses**
The paper does not comment on or address the following questions:
- How would such a model be extended to settings where the list of objects is significantly larger than the size of the prompt the transformer can attend to?
- Conditioning on a list of objects and executable programs is a neat trick to increase the likelihood that the generated plans are constrained to the vocabulary defined. However, there are no guarantees. Therefore, it is important and interesting for an audience to understand, in practice, in what situations prompting alone insufficiently constrain the generated plans. A discussion of plan failures would be interesting to see. 

review_title: PROGPROMPT: Generating Situated Robot Task Plans using Large Language Models

final_score: rating: 8: Top 50% of accepted papers, clear accept
review_content: 
This paper presents a good and original idea, showcases interesting experiments and is well written. Here are a few comments:

Something that I’d like to see discussed is how to handle imperfection in the actions. If something is not asserted, the agent does an action to fulfill the precondition. But what if it fails? Shouldn’t we have some form of while loop executed as long as the precondition is not satisfied? Shouldn’t we have mechanisms to revert to a default configuration in case this doesn’t work? 

This approach alleviates the need to hard-code the rules of the environment, but does not alleviate the need to hard-code the list of objects and list of actions. How could add the capacity to discover new objects during execution and add them on the fly? The capacity to build more sophisticated primitives as we learn and reuse them later on? How could we further reduce the hard-coding here?

You could make a wider argument about the use of LMs for planning. LMs are not only good for task decomposition and reasoning; they are especially good at capturing aspects of human culture. With LMs, agents could power new capabilities: exploration biases (search for knives in kitchens, not in the bedroom), theory of mind (A wanted a knife, he’s probably in the kitchen looking for it), social interactions (say hello and be polite when interacting with people), etc. Most of these things could not be learned by a standalone RL agent — they are cultural and need to be learned with/from humans, eg via an LM. See a more complete argument in that direction in [1].

[1] Colas et al., 2022 – Vygotskian Autotelic Artificial Intelligence: Language and Culture Internalization for Human-Like AI

Typos:
* Please make Figure 1 bigger, the text is hardly readable
* What’s the error in Table 1? std ? sem? other? Computed over the 5 runs, the 10 task, or both?
* Table 1: please define SR, Exec and GCR in the legend. The definitions given in the text are not sufficient to understand what these metrics are, and they are important!

review_title: Review -- ProgPrompt: Generating Situated Robot Task Plans using Large Language Models

Decision: Accept