1. 논문 정보
- 논문명: Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
- 저자: Michael Ahn, Anthony Brohan, Noah Brown, Yevgen Chebotar, Brian Ichter, Sergey Levine, Andy Zeng et al.
- 소속: Robotics at Google, Everyday Robots
- 공개: 2022년 4월 arXiv 공개, CoRL 2022 발표, PMLR 2023 게재
- 분야: Robotics, Artificial Intelligence, Large Language Model, Robot Planning
- 키워드: SayCan, PaLM-SayCan, LLM, Affordance, Value Function, Language-conditioned Policy, Long-horizon Task Planning
2. 한 줄 요약
SayCan은 LLM의 언어 이해·계획 능력과 로봇의 실제 실행 가능성을 결합해, 사람이 내린 추상적인 자연어 명령을 로봇이 수행 가능한 행동 순서로 바꾸는 방법이다.
조금 더 풀어서 말하면, LLM은 “무엇을 해야 하는지”를 판단하고, 로봇의 value function은 “지금 이 로봇이 실제로 할 수 있는지”를 판단한다.
예를 들어 사람이 “음료를 쏟았는데 도와줘”라고 말하면, LLM은 스펀지를 가져오는 것이 적절하다고 판단할 수 있다. 하지만 스펀지가 현재 보이지 않거나 집을 수 없는 위치에 있다면, 로봇은 바로 “스펀지를 집기”를 선택하면 안 된다. SayCan은 이런 상황에서 “스펀지를 찾기”처럼 실제로 가능한 행동을 먼저 선택하도록 만든다.

3. 왜 이 논문을 읽었는가?
최근 로봇 분야에서는 LLM을 이용해 로봇에게 자연어 명령을 내리는 연구가 많아지고 있다.
하지만 LLM은 텍스트 기반 지식에는 강하지만, 실제 로봇이 어떤 행동을 할 수 있는지, 현재 물체가 어디에 있는지, 로봇 팔이 그 물체를 잡을 수 있는지는 알지 못한다.
예를 들어 LLM에게 “쏟은 음료를 치우려면 어떻게 해야 해?”라고 물으면, “걸레를 가져와서 닦아라”처럼 그럴듯한 답을 할 수 있다. 하지만 해당 로봇이 걸레를 잡을 수 없는 구조이거나, 걸레가 주변에 없다면 그 계획은 실제로 실행될 수 없다.
SayCan은 이 문제를 다루는 대표적인 논문이다. 특히 LLM을 로봇 제어기로 바로 사용하는 것이 아니라, 로봇이 가진 skill과 affordance 정보를 함께 사용해 현실에서 가능한 행동을 고르게 만든다는 점이 중요하다.
로봇 개발 관점에서 보면, 이 논문은 LLM을 어떻게 로봇 시스템 안에 안전하게 넣을 수 있는지 보여주는 좋은 출발점이라고 볼 수 있다.
4. 기존 방식의 한계
기존 로봇 시스템은 사람이 명령을 매우 구체적으로 내려야 하는 경우가 많았다.
예를 들어 “음료를 쏟았는데 도와줘”라고 말하는 대신,
“스펀지를 찾아라”
→ “스펀지를 집어라”
→ “나에게 가져와라”
처럼 사람이 직접 작업을 여러 단계로 나눠줘야 했다.
이 방식은 사용자가 로봇의 동작 단위를 잘 알고 있을 때는 가능하지만, 일반 사용자가 매번 이렇게 명령을 쪼개서 내리기는 어렵다.
반대로 LLM은 추상적인 명령을 잘 이해하고, 상식적인 행동 순서를 만들 수 있다. 하지만 LLM만 사용하면 또 다른 문제가 생긴다. LLM은 실제 로봇의 몸, 센서, 그리퍼, 주변 환경을 알지 못한다.
즉, 기존 방식에는 다음과 같은 한계가 있었다.
첫째, 로봇 policy는 짧고 구체적인 명령에는 강하지만, 복잡한 고수준 명령을 스스로 분해하기 어렵다.
둘째, LLM은 계획을 잘 세우지만, 그 계획이 현재 로봇에게 실제로 가능한지는 모른다.
셋째, 고전적인 task planning 방식은 로봇의 행동 조건과 결과를 사람이 직접 정의해야 하는 경우가 많아서, 복잡한 실제 환경으로 확장하기 어렵다.
SayCan은 이 한계를 “LLM의 계획 능력”과 “로봇의 실행 가능성 판단”을 결합하는 방식으로 해결하려고 한다.
5. SayCan의 핵심 아이디어
SayCan의 핵심은 논문 제목에 그대로 들어 있다.
“Do As I Can, Not As I Say”
직역하면 “내가 말한 대로 하지 말고, 내가 할 수 있는 대로 해라”에 가깝다.
여기서 Say는 LLM이 판단하는 부분이고, Can은 로봇이 실제로 할 수 있는지를 판단하는 부분이다.
SayCan은 각 후보 행동에 대해 두 가지 점수를 계산한다.
첫 번째는 LLM score이다.
이 행동이 사용자의 목표를 달성하는 데 얼마나 적절한지를 나타낸다.
두 번째는 affordance score이다.
이 행동을 현재 로봇이 실제로 성공시킬 가능성이 얼마나 높은지를 나타낸다.
예를 들어 후보 행동이 다음과 같이 있다고 해보자.
- find a sponge
- pick up the sponge
- bring it to you
- pick up the coke can
- done

사용자의 명령이 “콜라를 쏟았는데 닦을 것을 가져와줘”라면, LLM 입장에서는 “pick up the sponge”가 매우 적절해 보일 수 있다. 하지만 현재 스펀지가 로봇 시야에 없다면, 로봇 입장에서는 바로 집을 수 없다. 이때 affordance score가 낮게 나오고, 대신 “find a sponge”가 선택된다. 즉, SayCan은 의미적으로 적절하면서도 실제로 가능한 행동을 고르는 구조이다.
6. SayCan 아키텍처 개요
SayCan의 전체 구조를 단순화하면 다음과 같다.
사용자 자연어 명령
→ 가능한 skill 목록
→ LLM이 각 skill의 유용성 평가
→ 로봇 value function이 각 skill의 실행 가능성 평가
→ 두 점수를 결합
→ 가장 높은 점수의 skill 선택
→ 로봇이 해당 skill 실행
→ 실행 결과를 반영해 다음 skill 선택
→ done이 선택될 때까지 반복
조금 더 구체적으로 보면 다음과 같은 흐름이다.
Natural Language Instruction
→ Skill Library
→ Language Model Score
→ Affordance / Value Function Score
→ Combined Score
→ Selected Skill
→ Low-level Robot Policy
→ Robot Action
→ Next Planning Step
이 구조에서 중요한 점은 LLM이 직접 로봇의 모터 명령을 출력하지 않는다는 것이다.
LLM은 “다음에 어떤 skill을 선택하는 것이 좋은가?”를 판단한다. 실제 로봇 제어는 이미 학습된 low-level policy가 담당한다.
따라서 SayCan은 LLM 기반 planner와 로봇 skill policy를 연결하는 중간 구조라고 볼 수 있다.
7. 데이터셋과 학습 방식
SayCan은 하나의 end-to-end 모델을 처음부터 학습하는 방식이 아니다.
이미 학습된 LLM과, 로봇이 수행할 수 있는 저수준 skill policy, 그리고 각 skill의 성공 가능성을 예측하는 value function을 결합한다.
로봇의 skill은 자연어로 표현된다.
예를 들면 다음과 같다.
- find a coke can
- pick up the coke can
- bring it to you
- find a sponge
- pick up the sponge
- go to the table
- done
각 skill은 실제 로봇 policy와 연결되어 있다. 즉, “pick up the coke can”이라는 문장은 단순한 텍스트가 아니라, 로봇이 실제로 수행할 수 있는 행동 단위이다.
논문에서는 로봇의 저수준 policy와 value function을 학습하기 위해 기존 로봇 학습 방법을 사용한다. 대표적으로 BC-Z 계열의 imitation learning 방식과 MT-Opt 계열의 reinforcement learning 기반 value function이 사용된다.
여기서 value function은 매우 중요한 역할을 한다.
일반적인 LLM planner는 “이 행동이 말이 되는가?”를 판단한다. 반면 SayCan의 value function은 “이 행동이 현재 상태에서 성공할 수 있는가?”를 판단한다.
즉, value function은 LLM의 계획을 실제 로봇 환경에 grounding하는 역할을 한다.
8. 실험 결과
SayCan은 office kitchen과 mock office kitchen 환경에서 평가되었다.
평가에는 총 101개의 자연어 명령이 사용되었다. 이 명령들은 단순한 pick-and-place 명령만 포함한 것이 아니라, 사람이 실제로 말할 법한 추상적이고 긴 명령도 포함한다.
예를 들면 다음과 같은 명령이다.
“운동을 막 끝냈는데, 회복할 수 있게 간식과 음료를 가져다줘.”
이 명령은 단순히 특정 물체 하나를 집는 문제가 아니다. 로봇은 음료와 간식이 무엇인지 이해해야 하고, 각각을 찾아서 가져오는 여러 단계를 계획해야 한다.
실험 결과 PaLM-SayCan은 101개 task에서 plan success 84%, execution success 74%를 달성했다.
여기서 plan success는 로봇이 올바른 skill sequence를 선택했는지를 의미하고, execution success는 실제 로봇이 그 명령을 끝까지 성공적으로 수행했는지를 의미한다.
비교 결과도 중요하다.
PaLM만 사용하고 affordance grounding을 사용하지 않은 경우 plan success는 67%였다. FLAN-SayCan은 plan success 70%, execution success 61%였다. Behavioral Cloning을 직접 사용하는 방식은 long-horizon task에서 0%로 보고되었다.
이 결과는 LLM의 성능도 중요하지만, 로봇의 실제 실행 가능성을 반영하는 grounding이 없으면 충분하지 않다는 점을 보여준다.
9. 로봇을 공부하는 입장에서 본 의미
SayCan에서 가장 흥미로운 부분은 LLM을 로봇의 “두뇌 전체”로 사용하지 않는다는 점이다.
LLM은 자연어 이해와 고수준 계획을 담당한다. 하지만 실제 행동 가능성 판단과 제어는 로봇 시스템 안의 다른 모듈이 담당한다.
이 구조는 실제 로봇 개발에서도 매우 중요하다.
로봇은 단순히 좋은 문장을 생성하면 되는 시스템이 아니다. 실제 세계에서 움직여야 하고, 물체를 잡아야 하며, 실패했을 때 다시 판단해야 한다. 따라서 LLM이 아무리 좋은 계획을 세워도, 그 계획이 로봇의 현재 상태와 맞지 않으면 의미가 없다.
SayCan은 이 문제를 다음과 같이 나누어 해결한다.
LLM은 “목표를 위해 어떤 행동이 필요한가?”를 판단한다.
로봇의 affordance model은 “그 행동을 지금 할 수 있는가?”를 판단한다.
low-level policy는 “선택된 행동을 실제로 어떻게 수행할 것인가?”를 담당한다.
개발자 관점에서 보면, 이 논문은 LLM 기반 로봇 시스템을 설계할 때 다음과 같은 구조가 필요하다는 점을 알려준다.
자연어 명령 이해
→ task planning
→ skill library
→ affordance checking
→ low-level control
→ execution monitoring
→ replanning
즉, LLM을 붙였다고 해서 로봇 문제가 바로 해결되는 것이 아니라, 로봇이 가진 capability를 명확히 정의하고, LLM의 출력을 그 capability 안에서 제한하는 구조가 필요하다.
10. 한계점
SayCan은 매우 인상적인 접근이지만, 한계도 분명하다.
첫째, 로봇이 미리 가진 skill 안에서만 행동할 수 있다.
SayCan은 LLM이 자유롭게 새로운 행동을 만들어내는 구조가 아니다. 후보 skill 목록에 없는 행동은 선택할 수 없다. 따라서 실제 서비스 로봇에 적용하려면 다양한 skill을 미리 학습하고 관리해야 한다.
둘째, affordance function의 품질에 크게 의존한다.
value function이 어떤 skill의 성공 가능성을 잘못 예측하면, 로봇은 잘못된 행동을 선택할 수 있다. 예를 들어 실제로는 물체를 집을 수 없는데 가능하다고 판단하거나, 반대로 가능한 행동을 불가능하다고 판단할 수 있다.
셋째, 실행 중 실패에 대한 복구가 제한적이다.
SayCan은 매 단계에서 skill을 선택하고 실행하는 구조이지만, skill 실행 중 예상치 못한 실패가 발생했을 때 그 실패 원인을 깊게 분석하고 복구하는 능력은 제한적이다.
넷째, 실험 환경이 제한적이다.
논문은 office kitchen과 mock kitchen 환경에서 좋은 결과를 보였지만, 실제 가정이나 산업 현장은 훨씬 더 복잡하다. 조명, 사람의 움직임, 물체 배치 변화, 센서 오차, 안전 문제 등을 고려하면 추가적인 perception, memory, safety layer가 필요하다.
다섯째, LLM의 한계도 일부 그대로 남아 있다.
LLM이 명령을 잘못 해석하거나, 모호한 표현을 잘못 추론하면 전체 계획도 틀어질 수 있다. 따라서 실제 로봇에 적용하려면 사용자 확인, 실패 감지, 안전 제약 조건이 함께 들어가야 한다.
* SayCan 논문 링크
[2204.01691] Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
'Study > 논문 리뷰' 카테고리의 다른 글
| VIMA: 로봇 task를 multimodal prompt로 표현하는 방식 (0) | 2026.07.02 |
|---|---|
| PaLM-E: LLM은 어떻게 이미지와 로봇 상태를 이해할까? (0) | 2026.07.01 |
| RT-2: 웹 지식이 로봇 행동으로 전이되는 VLA 개념 (0) | 2026.07.01 |
| RT-1: 로봇도 Transformer로 제어할 수 있을까? (0) | 2026.06.24 |
| Segment Anything (0) | 2025.06.09 |