오늘 끝나면
LLM 연동
- ✓LLM 연동의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 LLM이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
자연어로 로봇에 일을 시키다 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
Physical AI · 19
LLM
연동
“컵을 집어 싱크대에”. 사람은 이렇게 자연어로 시킨다.
LLM이 이 한 줄을 하위 작업으로 쪼개 로봇 스킬을 차례로 호출한다.
상식과 계획은 LLM이 맡고, 실제 손발 움직임은 로봇이 맡는다. 역할을 나누는 것이다.
자연어로 로봇에 지시하기
지금까지 로봇은 좌표와 각도, 코드로 시켰다. “move_to(0.4, 0.2), close_gripper” 같은 식이다.
사람은 그렇게 말하지 않는다. “그 컵 좀 싱크대에 갖다 놔” 한마디면 끝난다.
이 한 문장 안에는 어디로 갈지, 무엇을 잡을지, 어디에 놓을지가 다 생략돼 있다.
사람은 상식으로 채워 듣지만, 로봇은 그 빈칸을 채우지 못한다.
그 빈칸을 메우는 자리에 LLM을 끼운다.
GPT나 Gemini 같은 대형 언어모델이 사람 문장을 읽고, 로봇이 실행할 수 있는 구체적 단계로 번역한다.
말 그대로 사람 말과 로봇 동작 사이의 통역사 역할이다.
그래서 인터페이스가 바뀐다.
버튼이나 조이스틱, 전용 코드 대신 자연어 한 줄이 명령이 된다. Physical AI의 사용자 경험이 통째로 달라지는 지점이다.
“그 컵 좀 싱크대에 갖다 놔”
어디로 갈지, 무엇을 잡을지, 어디 놓을지가 다 생략됐다
move_to(cup)
close_gripper(cup)
pick(cup)
move_to(sink) · place(sink)
LLM이 명령을 하위 작업으로 분해
핵심 동작은 분해(decomposition)다. 큰 명령 하나를 작은 단계 여러 개로 쪼갠다.
“컵을 싱크대에”는 사실 한 동작이 아니다.
컵 앞으로 이동하고, 그리퍼를 벌리고, 컵을 잡고, 들어올리고, 싱크대로 이동해 내려놓는다.
사람은 당연히 아는 이 순서를 LLM이 명시적인 목록으로 적어낸다.
이게 가능한 이유는 LLM이 인터넷의 방대한 글에서 “물건을 옮긴다”가 어떤 절차인지 이미 배웠기 때문이다.
그릇은 들기 전에 잡아야 하고 잡기 전에 다가가야 한다는 상식, 이런 절차적 지식이 분해의 재료다.
이렇게 단계로 쪼개 푸는 방식을 작업 계획(task planning)이라 부른다.
예전엔 사람이 규칙으로 일일이 짜던 계획을 이제 언어모델이 명령마다 즉석에서 생성한다.
- 1이동move_to(cup)컵 앞으로
- 2그리퍼open_gripper()벌리기
- 3집기close_gripper(cup)잡기
- 4들기pick(cup)들어올림
- 5이동move_to(sink)싱크대로
- 6놓기place(sink)내려놓기
절차적 상식을 명시적 목록으로 푸는 것, 작업 계획(task planning)
단계를 로봇 스킬에 매핑, 직접 해보기
분해한 단계는 결국 로봇이 실제로 가진 동작 위에서 굴러야 한다.
로봇은 미리 만들어둔 스킬(skill) 몇 개만 할 줄 안다.
move_to, pick, place, 그리퍼 여닫기. 이게 로봇의 어휘 전부다.
LLM이 쪼갠 각 단계는 이 스킬 중 하나의 호출로 매핑된다.
명령을 넣고 “분해”를 누르면 자연어가 번호 매긴 단계로 펼쳐지고, 각 단계 아래에 호출할 스킬이 close_gripper(컵)처럼 붙는다.
로봇이 모르는 사물이나 장소를 적으면 계획이 나오지 않는다. 스킬에 매핑할 데가 없기 때문이다.
아래 슬라이더로 실행 중 실패 단계를 늘려 보자.
스킬이 실패하면 결과가 LLM에 되먹여지고, LLM이 상황을 다시 보고 계획을 고친다. 계획과 실행이 한 루프로 도는 폐루프(closed-loop)다.
위 버튼을 누르면 LLM이 단계로 쪼갠다.
먼저 명령을 분해해 실행하면 폐루프가 켜진다.
상식은 LLM, 실행은 로봇
LLM 하나에 다 맡기지 않고 두 부분으로 나누는 이유는, 둘이 잘하는 게 서로 다르기 때문이다.
LLM은 상식과 언어, 계획을 잘한다. 하지만 모터를 정밀하게 돌리지 못하고, 0.01초 단위로 힘을 조절하지 못한다. 글로 배운 모델이라 물리적 실행이 없다.
로봇 스킬은 그 반대다. 정확한 동작은 하지만 새 명령을 이해하거나 절차를 스스로 짜지 못한다.
그래서 위층(머리)에 LLM을, 아래층(손발)에 로봇 스킬을 둔다.
이 두 층 구조를 계층적 제어(hierarchical control)라 부른다. 위는 무엇을 어떤 순서로 할지, 아래는 어떻게 할지를 맡는다.
유명한 예가 구글의 SayCan이다.
LLM이 “할 만한 행동(Say)”을 후보로 내면, 로봇이 “지금 실제로 할 수 있는지(Can)”를 점수로 매긴다. 둘을 곱해 다음 스킬을 고른다. 상식과 실행 가능성을 함께 보는 것이다.
잘하는 것은 계획, 못하는 것은 모터 정밀 제어
잘하는 것은 정밀 동작, 못하는 것은 새 명령 이해와 계획
SayCan, LLM이 “할 만한 것”과 로봇이 “할 수 있는 것”을 곱한다
한계와 다음, 분해를 넘어 직접 행동으로
LLM 플래너는 강력하지만 만능은 아니다. 세 가지 약점이 있다.
첫째, LLM은 세상을 직접 보지 못한다. 컵이 어디 있는지, 잡았는지를 텍스트 설명에만 의존한다. 그래서 인식과 상태 보고를 따로 붙여줘야 한다.
둘째, 미리 만든 스킬 안에서만 계획할 수 있다. 로봇에 없는 동작은 아무리 잘 쪼개도 하지 못한다.
셋째, 글로 배운 절차 지식이 물리 현실과 어긋날 때가 있다. “당연히 될 것”이라 계획해도 무게나 마찰, 모양 때문에 실패한다. 그래서 앞에서 본 폐루프 되먹임이 필수다.
그래서 흐름이 한 발 더 나아간다.
명령을 단계로 쪼개 스킬을 부르는 대신, 카메라 영상과 자연어 명령을 받아 모터 동작을 바로 뱉는 VLA(Vision-Language-Action) 모델로 간다. 언어와 시각, 행동을 한 신경망에 합친다. 다음 20강 주제다.
Q. LLM을 로봇에 붙이는 핵심 이점은?
자연어 명령을 상식적으로 하위 작업으로 분해해준다.“컵을 싱크대에” 같은 생략 많은 한 문장을, LLM이 가진 절차적 상식으로 이동하고 집고 놓는 단계로 펼쳐 로봇 스킬에 매핑한다.
그래서 사람은 코드나 좌표 대신 말로 시키고, 정밀 실행은 로봇 스킬이 맡는다. 상식과 계획은 LLM이, 실행은 로봇이 맡는 식으로 역할이 나뉜다.
| 약점 | 대응 |
|---|---|
| 세상을 직접 보지 못함 | 인식과 상태 보고를 따로 붙인다 |
| 있는 스킬 안에서만 계획 | 없는 동작은 하지 못한다 |
| 글 지식 ≠ 물리 현실 | 폐루프 되먹임으로 보정한다 |