들어가며
ChatGPT로 계속 Vibe Coding을 했지만, 많은 사람들이 Cursor를 이야기 해서 간단한 실습 예제를 만들어 시도해 본다. 환경 세팅, Open AI 연동을 기본으로 한다. 문제는 전에 풀었던 문제를 풀어 봐서 도구를 새로 익혀 본다.
Cursor를 설정하고, Open AI와 연동하고, 뉴스를 가져와서 요약하는 기능을 Vibe Coding하는 예제까지 만드는 작업을 해보자. 위에서 이야기 한 것과 같이 단계별로 제안해줘.
좋습니다! 그럼 단계별로 Cursor + OpenAI 연동 + 뉴스 요약기 Vibe Coding 실습을 안내해드릴게요.
실습 목표는 다음과 같습니다:
실습 목표:
Cursor에서 OpenAI API를 연동하여 웹에서 뉴스를 가져오고, 자연어 명령으로 요약하는 코드를 작성하고 다듬기
✅ 1단계: Cursor 설정 및 OpenAI API 연동
① Cursor 설치 및 실행
- https://www.cursor.so 접속 후 설치
- 실행 후 GitHub 계정으로 로그인
② OpenAI API 키 연동
- OpenAI API Key 발급 페이지에서 키 생성
- Cursor에서
Ctrl+Shift+P→Cursor Settings - 왼쪽 사이드바에서 "API Keys" 선택 →
OpenAI Key입력
💡 GPT-4 또는 GPT-4o 모델이 연동되었는지 Chat 창에서 "Which model are you using?" 같은 프롬프트로 확인 가능
✅ 2단계: 뉴스 요약 프로젝트 준비
① 새 폴더 생성
예: news-summarizer
Cursor에서 Open Folder로 열기
② Python 환경 준비
main.py파일 생성- 가상환경(optional):
python -m venv .venv source .venv/bin/activate # 또는 .venv\Scripts\activate (Windows) pip install requests openai beautifulsoup4
✅ 3단계: Vibe Coding 시작
🎯 목표: Google 뉴스에서 기사 제목을 수집하고 요약
① 자연어로 명령 (Cursor Chat 창)
Write a Python script to scrape headlines from https://news.google.com and summarize them using OpenAI's API.
Cursor가 아래와 비슷한 코드를 생성할 수 있습니다:
import requests
from bs4 import BeautifulSoup
import openai
openai.api_key = "sk-..."
def get_headlines():
url = "https://news.ycombinator.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
headlines = [a.text for a in soup.select(".titleline > a")]
return "\n".join(headlines)
def summarize(text):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{
"role": "user",
"content": f"Summarize the following headlines:\n{text}"
}]
)
return response["choices"][0]["message"]["content"]
if __name__ == "__main__":
text = get_headlines()
summary = summarize(text)
print(summary)
② Vibe Coding 실습 포인트
"Summarize the following headlines:"→ 다양한 프롬프트로 변경해보기:Summarize in 3 bullet pointsSummarize with a critical toneTranslate to Korean and summarize
- 함수 이름 바꾸기, async 적용 등 리팩터링도
Ctrl+K로 쉽게 가능
마무리 하며
상기 단계로 코드가 생성되지만, 몇번의 iteration을 통해서 에러를 수정할 수 있었다. 조금 더 익숙해질 필요가 있을 것 같다.
'Agentic Coding' 카테고리의 다른 글
| [React+Vite+Tailwind v4] Frontend 코드에서 배우기 (0) | 2025.08.20 |
|---|---|
| [React+Vite+Tailwind v4] 기본 설정하기 (1) | 2025.08.13 |
| GUI 없는 NAS에서 Selenium Docker로 단계별 도전기: 3, 4단계 (2) | 2025.07.23 |
| GUI 없는 NAS에서 Selenium Docker로 단계별 도전기: 1, 2단계 (2) | 2025.07.16 |
| GUI 없는 NAS에서 Selenium? Docker로 단계별 도전기 (4) | 2025.07.09 |
