이 문서에서는 시스템 안내 정의와 효과적인 시스템 안내를 작성하기 위한 권장사항을 설명합니다. 시스템 안내를 프롬프트에 추가하는 방법은 대신 시스템 안내 사용을 참조하세요.
시스템 안내는 모델에서 프롬프트를 처리하기 전에 처리하는 안내 모음입니다. 시스템 안내를 사용하여 모델의 동작 방식과 프롬프트에 응답하는 방식을 지정하는 것이 좋습니다. 예를 들어 적용할 페르소나, 문맥에 맞는 정보, 형식 지정 안내 등을 포함할 수 있습니다.
시스템 안내는 최종 사용자가 보거나 변경할 수 없는 정보를 모델에 제공하려는 경우에 특히 유용합니다. 이를 통해 모델에게 태스크를 이해하도록 추가 컨텍스트를 제공하고 더욱 맞춤설정된 응답을 제공하며 모델과의 전체 사용자 상호작용에 대한 특정 가이드라인을 준수할 수 있습니다. 또한 시스템 안내는 같은 안내 세트를 사용하여 프롬프트 여러 개를 실행하려는 경우에 유용합니다.
시스템 안내가 설정되면 전체 요청에 적용됩니다. 시스템 안내는 프롬프트에 포함되면 여러 사용자와 모델 차례에서 작동합니다. 시스템 안내는 프롬프트 콘텐츠와 별개이지만 여전히 전체 프롬프트의 일부이므로 표준 데이터 사용 정책이 적용됩니다.
지원되는 모델
다음 모델에서는 시스템 안내를 지원합니다.
- 모든 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 세션, 지속 가능한 실천을 장려하는 커뮤니티 챌린지 예상 결과: 지속 가능한 생활 실천에 대한 인지도가 높아지고 타겟층 내에서 친환경적 행동이 측정 가능하게 개선됩니다. Google을 선택해야 하는 이유: 디지털 마케팅에 대한 검증된 전문성과 지속 가능성을 장려하기 위한 열정으로 효과적이고 참여도 높은 캠페인을 보장합니다. 클릭 유도 문구: Facebook 및 X에서 캠페인에 참여하여 지속 가능한 미래를 위해 배우고 참여하며 변화를 일으키세요. |
기본 개요: 지속 가능성을 멋지게 만드는 디지털 운동을 시작합니다. 대화형 챌린지와 참여하는 콘텐츠를 통해 실질적인 행동을 유도하고 친환경 생활을 일상적인 과제에서 공유 여정으로 전환합니다. 문제점: 지속 가능성에 대해 알고 있는 것과 실제로 실천하는 것은 별개의 문제입니다. Google은 단순하고 일상적인 변화에 대한 무관심과 인식 부족을 없애기 위해 최선을 다하고 있습니다. 해결 방법: Facebook 및 X와 같은 플랫폼에서 잠재 고객과 만나 다채로운 교육 콘텐츠, 재미있는 챌린지, 커뮤니티 주도 이벤트를 제공합니다. 대화형 퀴즈, 공유 가능한 인포그래픽, 지역 모임을 예로 들 수 있습니다. 타겟층: 환경을 생각하는 학생, 전문가, 가족 등 20~45세 개인으로, 변화를 만들고자 하는 의지가 강한 개인을 대상으로 합니다. 주요 메시지: 작은 발걸음, 큰 효과 간단한 일상적인 선택을 통해 더욱 지속 가능한 미래를 만들 수 있습니다. 채널: Facebook 및 X에서 참여를 유도하는 캠페인을 통해 소셜 미디어 마케팅의 힘을 활용합니다. 콘텐츠 하이라이트: 눈길을 사로잡는 인포그래픽, 생각을 자극하는 동영상, 빠른 도움말, 긍정적인 영감을 주는 사례를 포함하여 유용하고 공유 가능한 콘텐츠가 다양하게 제공됩니다. 예상 결과: 참여도(좋아요, 공유, 댓글) 및 웹사이트 트래픽 증가를 통해 성공을 측정하고 궁극적으로 타겟층 내에서 친환경적 행동이 눈에 띄게 증가하는 것을 목표로 합니다. Google을 선택해야 하는 이유: Google의 팀은 디지털 마케팅 전문성과 지속 가능성에 대한 진정한 열정을 바탕으로 효과적인 참여 유도 캠페인을 제공합니다. 클릭 유도 문구: 동참하세요! 페이지를 팔로우하고 챌린지에 참여하며 지속 가능한 삶의 여정을 네트워크와 공유하세요. |
목표 및 규칙
시스템 안내에서 목표 또는 규칙(즉, 모델이 해야 할 일 또는 하지 말아야 할 일)을 정의하여 모델 응답에 영향을 줄 수 있습니다.
예를 들어 모델을 사용하여 Python 코드를 작성하려고 한다고 가정해 보겠습니다. 다음 규칙을 정의할 때 모델 응답 차이를 비교합니다.
- 코드를 생성할 때는 모든 메서드의 입력, 출력, 사용을 설명하는 docstring을 포함해야 합니다.
- 코드만 생성하고 docstring을 포함하지 않습니다.
시스템 안내 | Docstring | Docstring 없음 |
---|---|---|
코드를 생성할 때는 모든 메서드의 입력, 출력, 사용을 설명하는 docstring을 포함해야 합니다. | 코드만 생성하고 docstring을 포함하지 않습니다. | |
프롬프트 | 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년간 이 복도에는 웃음, 늦은 시간까지의 보충 수업(모든 보충 수업이 성공적인 것은 아니였지만요), 평생 남을 만큼 충분한 추억이 가득했습니다. 우리는 이 공간에서 함께 성장해 왔습니다. 이제 알 수 없는 새로운 시작 앞에 서 있습니다. 조금은 떨리네요. 생각해 보면 어제 갓 입학한 신입생이었던 것 같은데 둘러보니 벌써 이렇게 됐네요. 지금 여러분을 바라보면서 우리가 얼마나 발전했는지 보면 놀랍습니다. 승리할 때는 서로를 응원하고 실패할 때는 서로를 지지해 주었습니다. 실수에서 교훈을 얻고 성공을 함께 기뻐하며 무엇보다도 평생 지속될 우정을 쌓았습니다. 특히 3학년 때 영어를 가르쳐 주신 마틴 선생님께 감사드립니다. 선생님의 인내와 지도는 저에게 큰 힘이 되었습니다. 특히 힘든 시기에 선생님께서 저를 믿어 주셔서 학생으로서뿐만 아니라 한 사람으로서 제 목소리를 찾을 수 있게 되었습니다. 감사합니다. 이제 우리는 다음 챕터로 넘어갑니다. 저처럼 경제학과 영어를 더 깊이 공부하기 위해 로스 카미노스 주립대학교로 떠나는 사람도 있을 것입니다. 다른 졸업생들도 저처럼 유효하고 흥미로운 다른 길을 찾을 것입니다. 우리의 여정이 다를 수 있지만 이곳에서 배운 교훈과 쌓은 우정을 항상 기억합시다. [연도] 졸업반의 정신인 회복력, 결단력, 서로에 대한 흔들림 없는 지지를 보여주는 정신을 이어갑시다. 졸업생 여러분, 축하합니다. 앞으로 어떤 멋진 성과를 거둘지 기대됩니다. |