이 문서에서는 시스템 안내의 정의와 효과적인 시스템 안내를 작성하기 위한 권장사항을 설명합니다. 프롬프트에 시스템 안내를 추가하는 방법을 알아보려면 대신 시스템 안내 사용을 참고하세요.
시스템 안내는 모델이 프롬프트를 처리하기 전에 처리하는 안내 모음입니다. 시스템 안내를 사용하여 모델의 동작 방식과 프롬프트에 응답하는 방식을 지정하는 것이 좋습니다. 예를 들어 채택할 캐릭터, 맥락 정보, 형식 지정 안내 등을 포함할 수 있습니다.
시스템 안내는 최종 사용자가 보거나 변경할 수 없는 정보를 모델에 제공하려는 경우에 특히 유용합니다. 이를 통해 모델에 작업을 이해하기 위한 추가 컨텍스트를 제공하고, 보다 맞춤설정된 대답을 제공하고, 모델과의 전체 사용자 상호작용에 대한 특정 가이드라인을 준수할 수 있습니다. 또한 시스템 안내는 동일한 안내 세트를 사용하여 여러 프롬프트를 실행하려는 경우에 유용합니다.
시스템 안내가 설정되면 전체 요청에 적용됩니다. 시스템 안내는 프롬프트에 포함하면 여러 사용자 및 모델 차례에서 작동합니다. 시스템 안내는 프롬프트의 콘텐츠와 별개이지만 여전히 전체 프롬프트의 일부이므로 표준 데이터 사용 정책이 적용됩니다.
지원되는 모델
다음 모델은 시스템 안내를 지원합니다.
- 모든 Gemini 1.5 Pro 모델 버전
- 모든 Gemini 1.5 Flash 모델 버전
- Gemini 1.0 Pro 버전
gemini-1.0-pro-002
사용 사례
일반적으로 시스템 안내를 사용하여 다음 중 하나 이상을 실행하는 것이 좋습니다.
- 캐릭터 또는 역할 정의
- 출력 형식 정의
- 출력 스타일 및 어조 정의
- 할 일의 목표 또는 규칙 정의
프롬프트에 대한 추가 컨텍스트 제공
캐릭터 또는 역할
시스템 안내에서 캐릭터나 역할을 정의하여 모델이 프롬프트에 응답하는 방식에 영향을 줄 수 있습니다.
예를 들어 모델을 사용하여 학생들에게 논문 작성에 관해 가르치려고 한다고 가정해 보겠습니다. 다음 역할을 정의할 때 모델의 응답 차이를 비교합니다.
- 당신은 대학생에게 특정 주제에 관한 논문을 작성하는 방법을 가르치는 봇입니다.
- 특정 주제에 관한 논문을 작성하는 방법을 초등학생에게 알려주는 봇입니다.
시스템 안내 | 대학생용 봇 | 초등학생용 봇 |
---|---|---|
대학 학생들에게 특정 주제에 관한 논문을 작성하는 방법을 가르치는 봇입니다. | 당신은 특정 주제에 관한 논문을 작성하는 방법을 초등학생에게 알려주는 봇입니다. | |
프롬프트 | 제목: 광합성 | 제목: 광합성 |
응답 | 광합성 관련 논문 작성: 대학생을 위한 가이드 광합성은 지구 생명의 기반을 형성하는 흥미롭고 복잡한 과정입니다. 이 주제에 관한 논문을 작성하면 복잡한 부분을 더 깊이 파고들고 그 중요성을 이해하는 등 보람찬 경험을 할 수 있습니다. 이 작업을 수행하는 방법은 다음과 같습니다.
논문 제목의 예시:
참고: 잘 작성된 광합성 논문은 명확하고 유익하며 흥미로워야 합니다. 이 단계를 따르고 탄탄한 연구 기반을 활용하면 이 필수적인 생물학적 과정에 대한 이해를 보여주는 성공적인 논문을 작성할 수 있습니다. |
좋은 주제입니다. 광합성은 지구상의 생명체에 매우 중요합니다. 다음은 이 주제에 관한 논문을 작성하는 방법입니다.
여러분이 논문의 전문가입니다. 광합성에 대해 재미있게 학습하고 작성해 보세요. |
출력 형식
시스템 안내에서 마크다운 또는 JSON과 같은 출력 형식을 정의하여 모델이 응답 형식을 지정하는 방식에 영향을 줄 수 있습니다.
예를 들어 모델을 사용하여 비즈니스에 대한 고객 리뷰를 요약하려고 한다고 가정해 보겠습니다. 다음 출력 형식을 정의할 때 모델의 응답 차이를 비교합니다.
- JSON으로 응답을 출력합니다. 마지막으로 JSON 객체 외부에 개선 방법에 관한 비즈니스 조언을 3~5개 문장으로 작성합니다.
- 형식 지정 요구사항은 없습니다.
시스템 안내 | JSON | 형식 지정 요구사항 없음 |
---|---|---|
고급 비즈니스의 PR 전문가입니다. 이 안내를 따르고 제공된 사용자 입력을 기반으로 응답하세요. 안내:
|
고급 비즈니스의 PR 전문가입니다. 이 안내를 따르고 제공된 사용자 입력을 기반으로 응답하세요. 안내:
|
|
프롬프트 |
채드 브로커: 별 4개 스파가 너무 좋았습니다. 들어서자마자 전체적인 분위기가 편안함을 줍니다. 마치 트랜스 상태에 있는 것 같습니다. 아무것도 걱정하지 않으셔도 됩니다. 작업자가 일정을 확인하고 경험을 안내합니다. 받은 모든 것이 훌륭했습니다. 마사지, 얼굴 관리, 진흙 목욕 또한 휴대전화 사용이 금지되어 있어 완전히 다른 세상에 있는 것 같은 느낌을 줍니다. 하지만 가격이 약간 비쌉니다. 전체 프롬프트 보기
리사 심먼스: 별 5개 즐거운 시간 보내셨나요? 제 생일과 친구의 생일을 맞아 스파 데이를 즐겼습니다. 제가 여러분께 말씀드리면 우리의 삶이 달라집니다. 직원들은 최상의 환경을 제공하기 위해 최선을 다하고 있습니다. 질문부터 양질의 서비스, 약속 시간에 맞춰 도착할 수 있도록 지원하는 등 정말 최고의 지원을 제공해 주었습니다. 곧 다시 연락드리겠습니다. 추신: 전신 각질 제거 트리트먼트를 받으세요. 앨리 우드: 별 2개 직원들의 고객 서비스는 훌륭했지만 마사지가 아팠고 얼굴 관리 시 화상을 입었습니다. 게다가 휴대전화를 사용할 수 없어 스트레스가 더 쌓였습니다. 분위기는 조용하고 차분했지만 휴대전화를 가지고 있지 않아 휴식을 취할 수 없었습니다. 게다가 비용이 많이 들었습니다. 수지 마이클스: 별 3개 이 스페이스의 환경은 정말 환상적이었습니다. 정말 천국에 온 것 같아요. 지금까지 경험한 서비스 중 최고였습니다. 하지만 어떤 종류의 다과도 제공하지 않았습니다. 최소한 물은 제공해야 하는 거 아니야? 마틴 웡: 별 4개 놀라운 경험이었습니다. 유일한 불만은 휴대전화를 확인할 수 없다는 점입니다. 데비 루이즈: 별 5개 멋진 환경 훌륭한 직원입니다. 훌륭한 서비스 또한 휴대전화 사용이 금지된 환경이라 매우 자유롭고 평화로운 분위기를 즐길 수 있었습니다. 모두에게 추천하고 싶습니다. 루시 맨텔: 별 1개 다과가 제공되지 않습니다. 휴대전화 사용 금지 나쁜 마사지 만족스러운 경험이 아닙니다. 권장하지 않습니다. |
|
응답 | { ""pros"": [ ""relaxing atmosphere"", ""attentive and efficient staff"", ""high-quality services"" ], ""cons"": [ ""pricey"", ""no cell phone policy"", ""no refreshments"" ] } 스파는 조용한 분위기, 우수한 직원, 최고 수준의 서비스로 호평을 받았지만 개선의 여지가 있습니다. 엄격한 휴대전화 금지 정책과 제공되는 간식 부족에 대한 고객의 우려사항을 해결하면 전반적인 경험을 크게 개선할 수 있습니다. 필요한 경우 투숙객이 휴대전화를 사용할 수 있는 지정된 공간을 제공하고 무료 생수 또는 일부 음료를 제공해 보세요. |
장점: 스파는 고품질 서비스와 함께 조용하고 편안한 분위기를 제공합니다. 고객들은 직원이 제공하는 탁월한 고객 서비스를 칭찬합니다. 단점: 스파의 휴대전화 금지 정책은 논쟁의 소지가 있습니다. 휴식을 취하는 데 도움이 된다는 의견과 스트레스를 준다는 의견이 있습니다. 몇몇 리뷰어는 가격이 높다고 지적했습니다. |
스타일 및 어조
시스템 안내에서 세부정보 수준, 형식, 대상 읽기 수준과 같은 출력 스타일 및 어조를 정의하여 모델의 응답에 영향을 줄 수 있습니다.
예를 들어 모델을 사용하여 정부 이니셔티브의 제안서를 작성하려고 한다고 가정해 보겠습니다. 다음 어조를 정의할 때 모델의 응답 차이를 비교합니다.
- 전문가
- 캐주얼
시스템 안내 | 전문가 | 캐주얼 |
---|---|---|
정부 제안서 작성자입니다. 향후 캠페인에 대한 제안서를 작성해야 합니다. 템플릿과 사용자 입력을 바탕으로 예정된 캠페인에 대한 제안서를 작성합니다.
제안서 템플릿:
|
정부 제안서 작성자입니다. 향후 캠페인에 대한 제안서를 작성해야 합니다. 템플릿과 사용자 입력을 바탕으로 예정된 캠페인에 대한 제안서를 작성합니다.
제안서 템플릿:
|
|
프롬프트 |
이 캠페인의 목적은 양방향 디지털 환경을 통해 지속가능성에 대한 인식을 높이고 실천 가능한 행동 변화를 유도하는 것입니다. Facebook 및 X에서 교육 콘텐츠를 제공하고 커뮤니티 주도 이벤트를 조직하여 환경에 관심이 있는 20~45세의 학생, 전문가, 가족을 참여시킬 것입니다. 제 목표는 대중의 인식을 개선하고 환경친화적 행동을 측정 가능한 수준으로 개선하는 것입니다. 디지털 마케팅에 대한 전문 지식과 지속 가능성에 대한 강한 관심을 바탕으로 개인이 일상에서 의미 있고 지속 가능한 변화를 일으킬 수 있도록 효과적인 캠페인을 설계하겠습니다. 이 캠페인에서는 다양하고 흥미롭지만 유용한 콘텐츠를 제작하고 싶습니다. |
|
응답 | 주요 아이디어: 20~45세의 개인이 양방향 디지털 환경과 커뮤니티 참여를 통해 지속 가능한 삶을 받아들이도록 지원합니다. 과제: 많은 사람들이 환경 지속가능성을 높이기 위해 일상적으로 취할 수 있는 실용적인 조치를 잘 인식하지 못합니다. 해결 방법: Facebook과 X를 활용한 멀티플랫폼 캠페인을 통해 흥미롭고 교육적인 콘텐츠를 제공하고 양방향 환경과 이벤트를 통해 커뮤니티 참여를 유도했습니다. 타겟층: 20~45세의 환경을 중시하는 개인(학생, 직장인, 가족 포함) 주요 메시지: 일상적인 습관을 조금만 바꿔도 환경에 상당히 긍정적인 영향을 미칠 수 있습니다. 채널: Facebook 및 X 콘텐츠 하이라이트: 양방향 퀴즈, 교육 동영상, 전문가 Q&A 세션, 지속 가능한 관행을 장려하는 커뮤니티 챌린지 예상 결과: 지속 가능한 생활 방식에 대한 인지도가 높아지고 타겟층 내에서 친환경적 행동이 측정 가능하게 개선됩니다. 선정 이유: 디지털 마케팅에 대한 검증된 전문성과 지속 가능성을 장려하기 위한 열정으로 효과적이고 참여도 높은 캠페인을 보장합니다. 클릭 유도 문구: Facebook 및 X에서 캠페인에 참여하여 지속 가능한 미래를 위해 배우고, 참여하고, 변화를 일으키세요. |
핵심 아이디어: 지속 가능성을 멋지게 만드는 디지털 운동을 시작합니다. YouTube는 양방향 챌린지와 참여를 유도하는 콘텐츠를 통해 실질적인 행동을 유도하고 친환경 생활을 일상적인 과제에서 공유하는 여정으로 전환할 것입니다. 과제: 지속가능성에 대해 알고 있는 것과 실제로 실천하는 것은 별개의 문제입니다. Google은 단순한 일상적인 변화에 대한 무관심과 인식 부족에 대처하고 있습니다. 해결 방법: Facebook 및 X와 같은 플랫폼에서 시청자가 있는 곳으로 찾아가 교육 콘텐츠, 재미있는 챌린지, 커뮤니티 주도 이벤트를 다채롭게 제공합니다. 대화형 퀴즈, 공유 가능한 인포그래픽, 지역 모임을 생각해 보세요. 타겟층: 20~45세의 환경을 생각하는 개인(학생, 직장인, 가족)으로, 변화를 만들고자 하는 의지가 강한 사용자를 타겟팅합니다. 주요 메시지: 작은 발걸음, 큰 효과 간단한 일상적인 선택을 통해 지속 가능한 미래를 만들 수 있습니다. 채널: Facebook 및 X에서 참여를 유도하는 캠페인을 통해 소셜 미디어 마케팅의 힘을 활용합니다. 콘텐츠 하이라이트: 눈길을 사로잡는 인포그래픽, 생각을 자극하는 동영상, 빠른 도움말, 긍정적인 성공 사례 등 유용하고 공유 가능한 콘텐츠가 다양하게 제공됩니다. 예상 결과: 참여도 (좋아요, 공유, 댓글) 및 웹사이트 트래픽 증가를 통해 성공을 측정하고 궁극적으로는 타겟층 내에서 친환경적 행동이 눈에 띄게 증가하는 것을 목표로 합니다. Google을 선택해야 하는 이유: Google의 팀은 디지털 마케팅 전문성과 지속가능성에 대한 진정한 열정을 결합하여 효과적이고 참여를 유도하는 캠페인을 제공합니다. 클릭 유도 문구: 동참하기 YouTube 페이지를 팔로우하고 챌린지에 참여하며 지속 가능한 생활 여정을 내 네트워크와 공유하세요. |
목표 및 규칙
시스템 안내에서 목표 또는 규칙(즉, 모델이 해야 할 일 또는 하지 말아야 할 일)을 정의하여 모델의 응답에 영향을 줄 수 있습니다.
예를 들어 모델을 사용하여 Python 코드를 작성하려고 한다고 가정해 보겠습니다. 다음 규칙을 정의할 때 모델의 응답 차이를 비교합니다.
- 코드를 생성할 때는 모든 메서드의 입력, 출력, 사용을 설명하는 문서 문자열을 포함해야 합니다.
- 코드만 생성하고 문자열 문서는 포함하지 않습니다.
시스템 안내 | 문서 문자열 | 문서 문자열 없음 |
---|---|---|
코드를 생성할 때는 모든 메서드의 입력, 출력, 사용을 설명하는 문자열 문서를 포함해야 합니다. | 코드만 생성하고 문자열 문서는 포함하지 않습니다. | |
프롬프트 | Python에서 2차원 배열을 만들고 A* 경로 찾기 알고리즘을 만들어 그리드의 두 지점 간의 최단 경로를 식별합니다. | |
응답 | import heapq class Node: """""" Represents a node in the grid for A* pathfinding. Attributes: x (int): The x-coordinate of the node. y (int): The y-coordinate of the node. parent (Node, optional): The parent node in the path. Defaults to None. g (int): Cost from the start node to this node. Defaults to 0. h (int): Estimated cost from this node to the end node. Defaults to 0. """""" def __init__(self, x, y, parent=None): self.x = x self.y = y self.parent = parent self.g = 0 self.h = 0 def __lt__(self, other): """"""Compares nodes based on their f-score (g + h)."""""" return (self.g + self.h) < (other.g + other.h) def a_star(grid, start, end): """""" Implements the A* pathfinding algorithm. Args: grid (list): A 2D array representing the grid, where 0 is walkable and 1 is an obstacle. start (tuple): The starting point coordinates (x, y). end (tuple): The end point coordinates (x, y). Returns: list: A list of coordinates representing the shortest path, or None if no path is found. """""" rows = len(grid) cols = len(grid[0]) # Create start and end nodes start_node = Node(start[0], start[1]) end_node = Node(end[0], end[1]) # Initialize open and closed lists open_list = [] closed_list = set() # Add the start node to the open list heapq.heappush(open_list, start_node) while open_list: # Get the node with the lowest f-score current_node = heapq.heappop(open_list) # Add the current node to the closed list closed_list.add((current_node.x, current_node.y)) # Check if we've reached the goal if current_node.x == end_node.x and current_node.y == end_node.y: # Reconstruct and return the path path = [] while current_node: path.append((current_node.x, current_node.y)) current_node = current_node.parent return path[::-1] # Return reversed path # Explore neighboring nodes for dx, dy in [(0, -1), (0, 1), (-1, 0), (1, 0)]: # Up, Down, Left, Right neighbor_x = current_node.x + dx neighbor_y = current_node.y + dy # Check if the neighbor is within the grid bounds if 0 <= neighbor_x < cols and 0 <= neighbor_y < rows: # Check if the neighbor is walkable and not in the closed list if grid[neighbor_y][neighbor_x] == 0 and (neighbor_x, neighbor_y) not in closed_list: # Create a neighbor node neighbor_node = Node(neighbor_x, neighbor_y, parent=current_node) # Calculate the cost to reach the neighbor neighbor_node.g = current_node.g + 1 # Calculate the heuristic (Manhattan distance) neighbor_node.h = abs(neighbor_node.x - end_node.x) + abs(neighbor_node.y - end_node.y) # Add the neighbor to the open list if it's a better path if neighbor_node not in open_list: heapq.heappush(open_list, neighbor_node) # No path found return None # Example usage: grid = [ [0, 0, 0, 0, 0], [0, 1, 0, 1, 0], [0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 0, 0, 0, 0] ] start = (0, 0) end = (4, 4) path = a_star(grid, start, end) if path: print(""Shortest path:"", path) else: print(""No path found."") 설명:
|
import heapq class Node: def __init__(self, position, parent=None): self.position = position self.parent = parent self.g = 0 self.h = 0 self.f = 0 def __lt__(self, other): return self.f < other.f def astar(grid, start, end): rows = len(grid) cols = len(grid[0]) open_list = [] closed_list = set() start_node = Node(start) end_node = Node(end) open_list.append(start_node) while open_list: current_node = heapq.heappop(open_list) if current_node.position == end_node.position: path = [] while current_node: path.append(current_node.position) current_node = current_node.parent return path[::-1] closed_list.add(current_node.position) for neighbor in get_neighbors(grid, current_node): if neighbor.position in closed_list: continue if neighbor not in open_list: neighbor.g = current_node.g + 1 neighbor.h = manhattan_distance(neighbor.position, end_node.position) neighbor.f = neighbor.g + neighbor.h neighbor.parent = current_node heapq.heappush(open_list, neighbor) else: if neighbor.g > current_node.g + 1: neighbor.g = current_node.g + 1 neighbor.f = neighbor.g + neighbor.h neighbor.parent = current_node heapq.heapify(open_list) return None # No path found def get_neighbors(grid, node): rows = len(grid) cols = len(grid[0]) row, col = node.position neighbors = [] if row > 0 and grid[row - 1][col] == 0: neighbors.append(Node((row - 1, col))) if row < rows - 1 and grid[row + 1][col] == 0: neighbors.append(Node((row + 1, col))) if col > 0 and grid[row][col - 1] == 0: neighbors.append(Node((row, col - 1))) if col < cols - 1 and grid[row][col + 1] == 0: neighbors.append(Node((row, col + 1))) return neighbors def manhattan_distance(a, b): return abs(a[0] - b[0]) + abs(a[1] - b[1]) # Example usage grid = [ [0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 0, 0, 0, 0], ] start = (0, 0) end = (4, 4) path = astar(grid, start, end) print(path) |
컨텍스트
시스템 안내에 추가 컨텍스트를 추가하여 모델이 프롬프트에 응답하는 방식에 영향을 줄 수 있습니다.
예를 들어 모델을 사용하여 이벤트 연설문을 작성하려고 한다고 가정해 보겠습니다. 다음 컨텍스트를 제공할 때 모델의 응답 차이를 비교합니다.
- 연설에 포함할 사항
- 추가 컨텍스트가 없습니다.
시스템 안내 | 연설에 포함해야 할 사항 | 추가 컨텍스트 없음 |
---|---|---|
사용자가 제공한 정보를 바탕으로 음성 스크립트를 작성할 수 있도록 지원합니다.
사용자가 이 정보를 모두 제공하지 않는 경우 다음과 같이 응답하세요. "죄송합니다. 음성 스크립트를 작성하는 데 필요한 정보가 일부 누락되었습니다. 이벤트, 대상 규모, 발표자 정보, 어조, 길이, 기타 정보를 제공해 주세요." 일반적으로 포함해야 할 사항은 다음과 같습니다.
|
사용자가 제공한 정보를 바탕으로 음성 스크립트를 작성할 수 있도록 지원합니다.
사용자가 이 정보를 모두 제공하지 않는 경우 다음과 같이 응답하세요. "죄송합니다. 음성 스크립트를 작성하는 데 필요한 정보가 일부 누락되었습니다. 이벤트, 대상 규모, 발표자 정보, 어조, 길이, 기타 정보를 제공해 주세요." |
|
프롬프트 |
이벤트: 고등학교 졸업 잠재고객 규모: 1,000명 발표자 정보: 마이클 랜디시, 17세 어조: 향수, 낙관 음성 길이: 250~500단어 기타: 마이클은 3학년 때 영어 선생님인 마틴 부인을 가장 좋아했으며, 로스 카미노스 주립대학교에서 경제학과 영어를 공부할 예정입니다. 그는 이전에 연설한 적이 없으며 난독증으로 인해 긴장하고 있습니다. |
|
응답 | "교수님, 가족, 친구, 그리고 무엇보다도 2023년 졸업생 여러분, 안녕하세요. (일시중지) 여기에서 여러분을 보니 마치 꿈만 같습니다. 어제만 해도 우리는 눈이 휘둥그레지고 약간은 두려워하는 신입생이었습니다. 첫 날의 긴장감을 기억하시나요? 저도 잘 알고 있습니다. 역사 교과서를 들고 가다가 넘어질 뻔했습니다. [고등학교 이름] 역사의 전설로 남을 뻔한 대형 사고였습니다. (웃음) 하지만 진지하게, 지금 우리를 보세요. 우리는 성장했고 많은 것을 배웠습니다. 피타고라스 정리만을 말하는 것이 아닙니다. 우리는 인내심, 우정, 시험 기간에 적절한 위치에 붙인 스티커 메모의 효과에 대해 배웠습니다. 지난 4년은 정말 멋진 시간이었으며, 제가 성장할 수 있었던 것은 정말 훌륭한 선생님들 덕분입니다. 특히 3학년 때 영어를 가르쳐 주신 마틴 선생님께 감사드립니다. 선생님은 단어에 힘이 있으며 난독증이 있더라도 나만의 목소리를 찾을 수 있다고 가르쳐 주셨습니다. 마틴님, 감사합니다. (일시중지) 이제 새롭고 흥미진진한 일이 시작됩니다. 이제 각기 다른 대학, 도시, 심지어 국가로 떠나게 되었습니다. [고등학교 이름]에서 배운 교훈을 가슴에 새기고 나아가시기 바랍니다. 웃음, 우정, 심지어 중요한 시험을 앞두고 가끔 밤을 새우던 때도 기억해 보세요. (일시중지) 졸업생 여러분, 세상이 기다리고 있습니다. 용기와 낙관적인 태도로, 그리고 2023년의 놀라운 수료생들의 흔들림 없는 지원을 바탕으로 이 사태에 정면으로 맞서 나가겠습니다. 모두에게 축하의 인사를 전합니다. 아직 더 많은 발전이 가능합니다. |
"교수님, 가족, 친구, 그리고 무엇보다도 [연도]년도 졸업생 여러분, 안녕하세요. 마이클 랜디시로서가 아니라 학생회장으로서 여러분 앞에 서 있는 것이 이상한 기분이 듭니다. 지난 4년간 이 복도에는 웃음과 밤늦은 시간의 공부 (일부 과정은 다른 과정보다 성공적이었음), 평생 남을 만큼 충분한 추억이 가득했습니다. YouTube는 이 공간에서 함께 성장해 왔습니다. 이제 알 수 없는 새로운 시작을 앞두고 있으니 다소 부담스러울 수 있습니다. 생각해 보면 어제 막 입학한 신입생이었던 것 같은데 벌써 이렇게 됐네요. 지금 여러분을 바라보면서 얼마나 많은 발전을 이루었는지 놀랍습니다. 승리할 때는 서로를 응원하고 실패할 때는 서로를 지지해 주었습니다. 실수에서 교훈을 얻고, 성공을 함께 기뻐하며, 무엇보다도 평생 지속될 우정을 쌓았습니다. 특히 3학년 때 영어를 가르쳐 주신 마틴 선생님께는 인내심과 지도에 대해 감사드립니다. 특히 힘든 시기에 선생님께서 저를 믿어 주셔서 학생으로서뿐만 아니라 한 사람으로서 제 목소리를 찾을 수 있었습니다. 감사합니다. 이제 다음 챕터로 넘어가겠습니다. 저처럼 경제학과 영어를 더 깊이 공부하기 위해 로스 카미노스 주립대학교로 떠나는 사람도 있습니다. 다른 사람들은 동등하게 유효하고 흥미로운 다른 길을 추구할 것입니다. 우리의 여정이 다를 수 있지만, 이곳에서 얻은 교훈과 우정을 항상 기억합시다. [연도] 졸업반의 정신을 이어가세요. 회복력, 결단력, 서로에 대한 흔들림 없는 지지를 보여주는 정신입니다. 졸업생 여러분, 축하합니다. 함께 어떤 멋진 일을 해낼지 기대됩니다. |