Singlestore는 매년 2 개의 내부 해커 톤을 주최합니다. 여기서 직원들은 원하는대로 자유롭게 일할 수 있습니다. 어떤 식 으로든 유용 할 필요는 없습니다.
이 해커 톤의 주제는 AI/ML 이었으므로 우리는 Singlestore가 우리에게 제공하는 벡터 데이터베이스와 함께 무언가를하려고 노력하고 Openai Shenanigans를 혼합했습니다.
이 프로젝트의 목표는 "포켓몬과 같은 세상에 살고있는 여러 AI 요원이 있으며, 사용자가 제공 한 작업을 달성하기 위해 협력해야합니다"라는 선을 따라 무언가를 만드는 것이 었습니다.
불행히도, 시간 제약으로 인해 단일 에이전트에 대한 AI 지원 만 구현했습니다. 신속한 엔지니어링은 쉽지 않다는 것이 밝혀졌습니다. 에이전트는 멍청하고 때로는 이미 열린 문을 여는 것과 같이 이미 수행 한 작업을 반복합니다.
에이전트는 walk(target) 과 interact(item, target) 의 두 가지 작업을 수행 할 수 있습니다. 대상으로 걸어 가면 주어진 물체 나 문자 옆에 캐릭터가 움직입니다. 예를 들어 키를 사용하여 도어를 여는 데 상호 작용을 사용할 수 있습니다.
에이전트는 자신의 행동의 결과로부터 피드백을받습니다. 예를 들어, walk(goal) Cannot walk to 'goal' because 'door' is blocking the path . 결정은 벡터 데이터베이스 (이 경우 SingleStore )의 세계 정보를 쿼리하고 프롬프트에 포함 시켜서 수행됩니다.
세계 정보에는 규칙과 상태가 포함됩니다. 예를 들어:
You can open 'door's by interacting with them using 'key'.
There is a 'door' named 'door 1'.
에이전트는 3 가지 다른 프롬프트 유형으로 제어됩니다.
cp .env{.example,}.env 파일을 편집하고 채우십시오 (Singlestore 데이터베이스 생성이 필요합니다).LEVEL=<level_name> DATABASE=[dumb|s2] python3 scripts/main.py 참고 : level_name scripts/levels 폴더 내부에서 선택한 파일의 이름입니다.