
AI 로봇 자율주행 개발자 양성과정 · 2023.06.07 – 06.26 · 2인 팀
LLM은 "목이 말라" 같은 막연한 요청에도 그럴듯한 행동 계획을 말할 수 있습니다. 하지만 그 문장을 로봇이 실제로 실행하려면, 기기와 동작과 값이 정해진 형식으로 나와야 했습니다.
① 음성
마이크 입력을 Google STT로 텍스트로 바꿉니다
② GPT 에이전트
요청을 "기기:행동:값" 동작 목록으로 바꿉니다
③ 스케줄러
우선도에 따라 동작을 끼워 넣고 하나씩 꺼내 실행합니다
④ 로봇 두 대
이동 로봇과 로봇팔이 움직이고 success 신호로 완료를 알립니다
기기, 행동, 값은 콜론(:)으로, 동작과 동작은 별표(*)로 나눴습니다. 실제 few-shot 예시입니다.
user request: Can you dance?
GOAP: turtlebot:priority:low* turtlebot:emotion:curious*
turtlebot:speak:I'm robot so I can not dance but I'll do my best*
turtlebot:turn:left* turtlebot:turn:right* turtlebot:turn:left*
| ChatGPT | GPT-3 (few-shot, fine-tuning) | |
|---|---|---|
| 성향 | 맡긴 역할을 지키려 하고, 행동 순서가 논리적 | 예시의 형식과 말투를 잘 따라 함 |
| 문제 | 정해 둔 문법에서 자주 벗어남 | 행동 순서의 논리성은 떨어짐 |
시연에서는 안정성이 더 중요해서, fine-tuning이 가능한 GPT-3를 골랐습니다.
"목이 마르다"고 말하면 우선도를 높게 잡고 병 찾기 → 병 바라보기 → 다가가기 → 잡기 → 사람 찾기 → 다가가기 → 내려놓기 → 기쁨 표현 순서로 움직였습니다.