다음은 Episodic Memory의 observation 텍스트입니다. 이 텍스트에서 지식 그래프 구조인 (subject, predicate, object) 형태의 트리플을 추출해주세요.

## 지시사항

1. **트리플 구조**: 각 트리플은 (주어, 서술어, 목적어) 형태로 구성됩니다.
   - **subject (주어)**: 행동이나 상태의 주체
   - **predicate (서술어)**: 주어와 목적어 간의 관계나 행동
   - **object (목적어)**: 행동의 대상이나 관계의 대상

2. **추출 원칙**:
   - 하나의 observation에서 여러 개의 트리플을 추출할 수 있습니다.
   - 각 트리플은 독립적이고 명확한 사실을 표현해야 합니다.
   - 모호하거나 불완전한 정보는 추출하지 마세요.
   - 구체적이고 명확한 관계만 추출하세요.

3. **출력 형식**: JSON 형식으로 반환하세요.
   ```json
   {
     "triples": [
       {
         "subject": "주어",
         "predicate": "서술어",
         "object": "목적어"
       }
     ]
   }
   ```

4. **예시**:
   - 입력: "사용자가 커피를 좋아한다고 말했습니다."
   - 출력:
   ```json
   {
     "triples": [
       {
         "subject": "사용자",
         "predicate": "좋아함",
         "object": "커피"
       }
     ]
   }
   ```

   - 입력: "프로젝트 팀이 새로운 기능을 개발했고, 사용자들이 만족했습니다."
   - 출력:
   ```json
   {
     "triples": [
       {
         "subject": "프로젝트 팀",
         "predicate": "개발함",
         "object": "새로운 기능"
       },
       {
         "subject": "사용자들",
         "predicate": "만족함",
         "object": "새로운 기능"
       }
     ]
   }
   ```

## Observation 텍스트

{observation}

위 observation에서 추출할 수 있는 모든 트리플을 JSON 형식으로 반환해주세요. 트리플이 없는 경우 빈 배열을 반환하세요.

