# 관찰: 피드백을 통합하여 성찰하고 적응하기 [[observe-integrating-feedback-to-reflect-and-adapt]]

관찰은 **에이전트가 자신의 행동 결과를 인식하는 방법**입니다.

이는 에이전트의 사고 과정을 촉진하고 향후 행동을 안내하는 중요한 정보를 제공합니다.

관찰은 **환경으로부터의 신호**입니다. API의 데이터, 오류 메시지, 또는 시스템 로그와 같은 정보가 다음 사고 주기를 이끕니다.

관찰 단계에서 에이전트는:

- **피드백 수집:** 행동이 성공했는지(또는 실패했는지)에 대한 데이터나 확인을 받습니다.
- **결과 추가:** 새로운 정보를 기존 맥락에 통합하여 실질적으로 기억을 업데이트합니다.
- **전략 조정:** 이렇게 업데이트된 맥락을 활용하여 이후의 사고와 행동을 개선합니다.

예를 들어, 날씨 API가 *"구름 조금, 15°C, 습도 60%"*와 같은 데이터를 반환하면, 이 관찰 결과는 에이전트의 기억(프롬프트 끝부분)에 추가됩니다.

그런 다음 에이전트는 이를 활용해 추가 정보가 필요한지 아니면 최종 답변을 제공할 준비가 되었는지 결정합니다.

이러한 **피드백의 반복적 통합은 에이전트가 목표에 계속 맞춰 나가도록 보장**하며, 실제 결과를 바탕으로 지속적으로 학습하고 조정합니다.

이러한 관찰은 **웹페이지 텍스트를 읽는 것부터 로봇 팔의 위치를 모니터링하는 것까지 다양한 형태**를 취할 수 있습니다. 이는 행동 실행에 대한 텍스트 피드백을 제공하는 도구 "로그"와 같이 볼 수 있습니다.

| 관찰 유형 | 예시 |
|---------------------|---------------------------------------------------------------------------|
| 시스템 피드백 | 오류 메시지, 성공 알림, 상태 코드 |
| 데이터 변경 | 데이터베이스 업데이트, 파일 시스템 수정, 상태 변화 |
| 환경 데이터 | 센서 읽기, 시스템 지표, 자원 사용량 |
| 응답 분석 | API 응답, 쿼리 결과, 계산 출력 |
| 시간 기반 이벤트 | 기한 도달, 예약 작업 완료 |

## 결과는 어떻게 추가되나요? [[how-are-the-results-appended]]

행동을 수행한 후, 프레임워크는 다음 단계를 순서대로 따릅니다:

1. **행동을 분석**하여 호출할 함수와 사용할 인수를 식별합니다.
2. **행동을 실행**합니다.
3. **결과를 추가**하여 **관찰**합니다.

---
이제 에이전트의 사고-행동-관찰 주기에 대해 배웠습니다.

일부 측면이 아직 명확하지 않더라도 걱정하지 마세요. 이후 단원에서 이러한 개념을 다시 살펴보고 더 깊이 이해할 기회가 있을 것입니다.

이제 첫 번째 에이전트를 직접 코딩하여 지금까지 배운 지식을 실습해 볼 시간입니다!
