본문 바로가기
IT 트렌드/가볍게 배우는 신기술 이야기

ChatGPT 5 - Codex 사용하여 개발하기 | VSCode 연동편

by KBerry 2025. 10. 9.

목차

     

    이런 고민, 해보셨나요? (Hook)

    • “모델 답변이 들쭉날쭉해서 자동화 품질이 흔들려요.”
    • “코드는 굴러가는데, 유지보수성이 너무 낮아요.”
    • “프롬프트/지침을 바꾸니 결과가 확 좋아졌는데, 기록과 재현성이 부족해요.”

    이번 글은 ChatGPT 지침을 체계화하고, 그 지침에 맞춰 파이썬 코드를 전면 교체한 실전 경험을 정리했습니다. 

     

    먼저 Codex 가 뭔지 살펴보겠습니다.

    Codex란?

    https://openai.com/ko-KR/index/introducing-codex/

    여기서 알 수 있듯이, 초기 기반: Codex는 GPT-3 모델의 후손으로, 특히 프로그래밍에 최적화된 버전으로 처음 출시되었습니다.
    현재 모델 (업데이트됨): 지금 ChatGPT 사이드바 등을 통해 일반적으로 제공되는 Codex 기능은 최신 모델인 GPT-5-Codex에 의해 구동됩니다. GPT-5-Codex는 OpenAI의 최신 GPT-5 계열 모델을 소프트웨어 엔지니어링 작업에 맞게 더욱 최적화한 버전입니다. 

    주요 기능 : 

    구분 내용
    코드 생성/수정 자연어 프롬프트를 입력하면 코드를 작성하거나 수정합니다.
    코드베이스 질문 코드베이스에 대한 질문을 이해하고 답변할 수 있습니다.
    격리된 환경 각 작업은 코드베이스가 미리 로드된 격리된 가상 환경(샌드박스)에서 독립적으로 처리되어 안전합니다.
    작업 실행 능력 파일을 읽고 편집할 수 있으며, 테스트 하네스, 린터, 타입 체커 등 다양한 명령을 실행할 수 있습니다.
    자동 테스트 및 수정 코드를 작성한 후 자체적으로 테스트를 수행하고, 실패하면 코드를 반복적으로 수정하여 성공적인 결과를 도출합니다.
    GitHub 통합
    GitHub 저장소와 연결하여 코드베이스를 불러오고, 변경 사항에 대한 Pull Request(PR)를 자동으로 생성할 수 있습니다.
    진행 상황 모니터링
    작업의 복잡성에 따라 수 분에서 수십 분이 소요되며, 실시간으로 진행 상황을 확인할 수 있습니다.

     

    접근 및 사용 : 

    접근 방법: 현재 ChatGPT의 사이드바를 통해 'Codex' 기능으로 접근할 수 있습니다.
    사용자: 주로 ChatGPT Pro, Enterprise, Team 등 유료 플랜 사용자에게 제공됩니다 (플랜에 따라 접근 가능 여부가 다를 수 있음).

    테스트 기반 개발까지 수행하는 지능형 코딩 에이전트로서 개발 생산성 향상을 목표로 합니다.

     

    AI로 날개 단 Naver 뉴스 요약 크롤러: VSCode와 OpenAI Codex로 자동화하기

    Naver News를 요약해주는 크롤러 및 자동화 Python을 작성중이었다고 가정해 봅시다.

    배경

    매일 업데이트되는 네이버 뉴스의 주요 기사를 일일이 읽고 요약하는 일은 꽤 번거로운 작업입니다. 그런데 개발자가 모든 코드를 직접 작성하지 않고, AI 코딩 비서의 도움을 받아 이런 뉴스 요약 크롤러를 만든다면 어떨까요? 이번 포스트에서는 기존의 레거시 뉴스 크롤러OpenAI Codex를 이용해 VSCode 상에서 리팩토링하고, 네이버 뉴스 상위 5개 기사를 자동으로 요약해주는 Python 크롤러로 재탄생시킨 사례를 공유합니다. 자동화와 AI의 힘으로 초보 개발자도 어떻게 생산성을 높일 수 있는지 하나씩 살펴보겠습니다.

    OpenAI Codex 활용 예시

    리팩토링 과정에서 OpenAI Codex의 도움을 받아 생산성을 크게 높일 수 있었습니다. Codex는 GPT 계열 모델 중에서도 코드 작업에 특화된 버전으로, 코드베이스에 대한 질문에 답하거나 새로운 기능을 작성하는 등 다양한 작업을 수행할 수 있는 AI 모델입니다. VSCode 편집기 내에서 확장 기능을 통해 Codex에 코드를 설명해 달라거나 개선 방향을 물어보면, AI가 관련 제안을 즉시 제공해주므로 개발 흐름이 매우 빨라졌습니다.

    예를 들어, 기존 코드를 개선하기 전에 Codex에게 내 코드를 일단 분석해줄래? 라고 요청하니, 아래와 같은 핵심 요약을 얻을 수 있었습니다: (예시)

    • 전체 흐름
      • 실행 진입점은 main.py:9에서 URL을 설정하고, 옵션 객체들을 생성한 뒤 summarize_url 호출을 통해 전체 파이프라인을 구동합니다.
      • summarize_url generate.py:488에서 HTML 크롤링→본문 추출→프롬프트 생성→LLM 호출→결과 포장까지 단일 함수 안에서 순차적으로 수행합니다.
      • 완료된 결과는 main.py:93에서 JSON/Markdown 파일로 저장되어 outputs/ 이하에 기록됩니다.
      주요 구성요소
      • LLM 호출 옵션과 HTTP 재시도 설정을 묶은 GenOptions(generate.py:59)는 Ollama /api/generate 요청을 위한 옵션 사전을 생성합니다.
      • 크롤링 단계는 CrawlOptions(generate.py:86)로 요청 모드(Plain vs. Selenium), 타임아웃, 재시도 등을 제어하며 _requests_fetch(generate.py:257)와 _selenium_fetch(generate.py:281) 중 하나를 사용합니다.
      • 본문 추출은 도메인 특화 로직(generate.py:393)과 일반 추출 로직을 결합해 제목·본문을 정제하고, 인용문은 extract_quotes(generate.py:436)에서 별도로 캡처합니다.
      • 최종 프롬프트는 build_prompt(generate.py:451)에서 요약/재작성 요구사항을 한국어 지시어로 구성해 Ollama에 전달합니다.
      • 결과 직렬화 유틸은 save_as_json save_as_markdown(generate.py:559, generate.py:564)이 담당하며 UTF-8로 저장합니다.
      • SecurityOptions(generate.py:115)는 도메인 화이트리스트/블랙리스트, 드라이런, 헤더 마스킹 등 안전장치를 제공합니다.
      개선 여지
      • 도메인 허용 검사 (generate.py:328)가 단순 부분 문자열 매칭이라 evilnaver.com도 허용될 수 있습니다; 정확한 도메인 비교(endswith, tld 분리 등)로 강화하는 것이 좋겠습니다.
      • fetch_html 재시도 시에도 requests.Session을 재사용하므로 쿠키 공유는 되지만, 실패 로그에는 HTTP 상태 외 추가 정보가 제한적입니다; 응답 본문 일부를 디버그 레벨에서만 노출하는 옵션을 고려할 수 있습니다.
      • 프롬프트 작성부(generate.py:451)가 고정 문자열로만 구성되어 있어 요약/재작성 스타일을 동적으로 바꾸기 어렵습니다; 템플릿화하거나 외부 설정화하면 재사용성이 높아집니다.
      • requirements.txt에는 현재 코드에서 사용하지 않는 패키지(undetected-chromedriver, tenacity, openai, fake-useragent 등)가 포함되어 있어 환경 구축 시 불필요한 설치를 유발합니다.
      • Selenium 사용 분기(generate.py:321)가 활성화되면 매번 ChromeDriverManager().install()을 호출하므로 네트워크에 민감합니다; 캐시 경로 지정이나 사전 설치 안내가 있으면 안정성이 좋아집니다.
      기타 참고
      • generate_old.py는 Ollama 호출만 담당하는 이전 버전으로 보이나 현재 파이프라인에서 사용되지 않습니다; 유지 의도가 없다면 정리하거나 README에 목적을 명시하는 편이 혼선을 줄입니다.
      • 로거 초기화(generate.py:33)는 동일 이름 로거 재호출 시 기존 핸들러를 재사용합니다; 다중 실행 환경이라면 핸들러 중복 추가가 없다는 장점이 있습니다.
      필요시면 특정 함수 동작을 더 깊게 살펴보거나, 테스트 실행 방법을 정리해 드릴 수 있습니다.

     

    위와 같이 Codex가 코드베이스를 자동으로 이해하고 요약해주므로, 개발자는 큰 그림을 빠르게 파악하고 누락된 부분이 없는지 검토할 수 있었습니다. 또한 Codex를 대화형으로 활용하여 "~~함수를 리팩토링해줘", "~~기능을 추가해줘" 등의 명령을 내리면 원하는 기능의 초기 코드 초안을 빠르게 생성해주어 시간을 절약할 수 있었습니다. 이러한 AI 보조를 통해 복잡한 구현도 부담을 줄이며 진행할 수 있었죠.

    핵심 함수: Ollama 요약 요청과 결과 처리

    이번 프로젝트의 하이라이트는 뉴스 내용의 자동 요약 기능입니다. 새로운 코드에서는 오픈소스 LLM(Local LLM) 모델을 활용해 이 작업을 수행하는데, 이를 위해 우선 요약에 필요한 각종 파라미터를 관리하는 SummarizerConfig 클래스와, 실제로 LLM에 요약 요청을 보내는 request_ollama 함수를 구현했습니다. 요약에는 Ollama라는 로컬 LLM 서버를 활용하였는데, Ollama는 PC에서 오픈소스 대형 언어 모델(예: Llama2)을 구동하고 REST API를 통해 프롬프트에 대한 응답을 생성할 수 있게 해주는 플랫폼입니다. 이를 사용하면 외부 OpenAI API를 호출하지 않고도 로컬에서 직접 AI 요약을 수행할 수 있어, 데이터 유출 걱정을 줄이고 비용 없이도 고성능 요약을 활용할 수 있습니다.

    아래는 request_ollama 함수의 주요 부분을 발췌한 코드입니다. 이 함수는 주어진 기사 본문을 Ollama 서버에 보내 요약을 생성하고, 결과를 반환하는 역할을 합니다:

    def request_ollama(prompt: str, config: SummarizerConfig, logger: logging.Logger) -> str:
        payload = {
            "system": config.system_prompt,       # 사전 정의된 요약 지시 프롬프트
            "prompt": prompt,                     # 요약 대상 기사 본문 텍스트
            "temperature": config.temperature,
            "top_p": config.top_p,
            "repeat_penalty": config.repeat_penalty,
            "num_ctx": config.num_ctx
        }
        url = config.base_url.rstrip("/") + "/api/generate"
        last_exc: Optional[Exception] = None
        for attempt in range(1, config.retries + 1):
            try:
                resp = requests.post(url, json=payload,
                                     timeout=(config.connect_timeout, config.read_timeout))
                resp.raise_for_status()
                data = resp.json()
                summary_text = data.get("response", "")
                return summary_text.strip()
            except Exception as e:
                last_exc = e
                logger.error(f"요약 요청 실패 (시도 {attempt}): {e}")
                time.sleep(1)
        # 모든 시도가 실패하면 예외 발생
        raise last_exc if last_exc else RuntimeError("요약 요청 실패")

     

    위 함수에서는 config로부터 Ollama API 서버 주소(URL)와 요약 프롬프트, 그리고 temperature 등의 파라미터를 가져와 JSON 형식의 payload를 구성합니다. 그런 다음 requests.post를 통해 해당 URL (base_url/api/generate)로 요약 요청을 보내고, 응답을 JSON으로 받아 파싱합니다. 정상 응답이면 내부에서 요약된 텍스트를 추출하여 반환하고, 만약 실패하면 로그를 남긴 뒤 정해진 횟수만큼 재시도하도록 구현되었습니다. 모든 시도에서 실패한 경우 최종 예외를 일으켜 상위 로직에서 처리할 수 있게 합니다.

     

    payload에 포함된 system 프롬프트에는 요약 생성 규칙이 한국어로 담겨 있습니다. 예를 들어 "기사 내용을 읽고 두 개의 핵심 포인트 목록과 하나의 요약 문단을 작성하세요" 와 같은 지시를 미리 넣어 두어, 모델이 항상 일정한 포맷으로 (- 핵심 포인트 bullet 두 줄 + 요약 본문) 응답을 생성하도록 유도했습니다. 이렇게 받아온 모델의 응답 텍스트에 대해서는, 코드에서 각 줄을 검사하여 '- ' 로 시작하는 부분은 핵심 포인트 목록으로, 나머지 부분은 요약 본문으로 분리했습니다. 그리고 이 정보를 Python 객체로 구조화한 뒤 파일로 저장하거나 출력하는 식입니다. (개선된 코드에서는 요약 결과를 딕셔너리로 모아 JSON 파일로 저장하고, 마크다운 형식으로도 정리하여 outputs/naver_summary.md로 저장합니다.)

     

    또한 개발 단계에서 요약 API 없이도 동작을 검증할 수 있도록 dry_run 모드를 지원하여, 이 모드에서는 실제 Ollama 요청을 건너뛰고 임시로 준비된 더미 요약 결과를 반환하게 했습니다. 이렇게 하면 Ollama 환경이 준비되지 않은 상태에서도 크롤러의 나머지 부분(크롤링 및 파일 출력 등)을 테스트할 수 있어 편리합니다.

     

    크롤러 실행 결과 (Dry-run)

    VSCode를 Codex를 사용하여 편집한 모습
    VSCode를 Codex를 사용하여 편집한 모습

     

    위 그림은 VSCode 환경에서 새로 작성된 크롤러를 실행한 모습입니다. 좌측 패널에는 Codex가 생성한 코드 변경 요약 내용이 표시되고, 우측에는 generate.py 파일의 request_ollama 함수 구현 코드가 열려 있습니다. 하단의 터미널(Output 창)에는 프로그램을 실행한 로그가 실시간으로 출력되고 있습니다. 각 뉴스 기사에 대해 [INFO] 로그로 기사 URL이 표시된 다음, 두 개의 - 핵심 포인트 항목과 요약 본문이 차례로 출력되는 것을 볼 수 있습니다. 이러한 형태로 5개의 주요 뉴스 기사에 대한 요약이 순차적으로 터미널에 나타나며, 실행 완료 후에는 모든 결과가 하나의 마크다운 리포트 파일로도 저장됩니다.

    예를 들어 터미널 출력 로그의 일부는 다음과 같습니다:

    [12:44:24] INFO naver_summarizer - https://n.news.naver.com/article/055/0001298525
    [12:44:24] INFO naver_summarizer - - 핵심 포인트 예시 1
    [12:44:24] INFO naver_summarizer - - 핵심 포인트 예시 2
    [12:44:24] INFO naver_summarizer - 요약 본문 예시입니다. ...

     

    (위 내용은 형식을 보여드리기 위한 예시이며, 실제 실행 시에는 해당 시각의 인기 뉴스 기사들이 요약되어 출력됩니다.) 프로그램 실행 후 outputs/naver_summary.md 파일을 열어보면, 각 기사별로 제목, 링크, 핵심 요약 포인트, 요약 본문이 보기 좋게 정리된 마크다운 문서를 확인할 수 있습니다. 이제 터미널 로그를 일일이 복사하지 않고도 한눈에 요약 결과를 공유하거나 검토할 수 있게 된 것이죠.

    마무리 및 Codex 활용 팁

    이번 포스팅에서는 OpenAI Codex를 활용하여 낡은 뉴스 크롤러를 리팩토링하고, 네이버 뉴스 상위 기사들을 자동으로 요약해주는 파이썬 크롤러로 재구축한 과정을 살펴보았습니다. AI 코딩 도구의 도움으로 반복적이고 까다로운 작업 일부를 자동화하고, 핵심 로직의 개선과 새로운 기능 구현에 집중함으로써 단기간에 유지보수성이 높은 결과물을 얻을 수 있었습니다.

    마지막으로, Codex와 같은 AI 코딩 도구를 활용할 때 유용한 몇 가지 팁을 정리하면 다음과 같습니다:

    • 명확한 요청 작성: Codex에게 원하는 작업을 시킬 때는 요구사항을 구체적으로 설명하는 것이 중요합니다. 예를 들어 "네이버 뉴스 메인 페이지의 HTML을 파싱해 상위 5개 기사 링크를 추출하는 함수 작성"처럼 목적과 조건을 상세히 제시하면 더 정확한 코드를 생성합니다. 필요한 경우 원하는 출력 형식이나 예시도 함께 알려주세요.
    • 작은 단위로 나누어 진행: 한 번에 지나치게 많은 수정이나 생성을 요구하기보다, 작업을 작은 단계로 쪼개어 Codex를 활용하세요. 예를 들어 먼저 "기사 리스트를 가져오는 함수 작성", 다음으로 "가져온 기사 본문을 요약하는 부분 추가" 식으로 단계별로 물어보면 Codex의 응답을 검토하며 진행하기 수월합니다. 이렇게 하면 생성된 코드의 문제를 부분적으로 확인하고 수정 지시를 내리기가 쉬워집니다.
    • 코드 검토와 테스트는 필수: Codex가 만들어준 코드라고 해서 바로 신뢰해서는 안 됩니다. AI가 생성한 코드도 사람이 작성한 코드와 마찬가지로 오류가 있을 수 있으므로, 항상 직접 리뷰하고 테스트를 거치세요. 실제로 Codex를 효과적으로 활용하는 개발자들은 Codex를 유능한 주니어 개발자가 코드를 짜주는 도구로 여기고, 자신은 그 코드의 리뷰어가 된다는 마음가짐으로 임한다고 합니다. 즉, Codex가 초안을 만들면 개발자가 그 Diff를 꼼꼼히 살펴보며 프로젝트의 스타일 가이드에 맞는지, 버그나 빠진 부분은 없는지 검토한 후 필요하면 수정이나 추가 지시를 하는 식입니다. 자동화 테스트나 린터 등을 함께 활용하면 더욱 안전하게 Codex를 활용할 수 있습니다.
    • 지속적 학습의 기회로 활용: Codex의 제안을 살펴보면 내가 몰랐던 파이썬 라이브러리 사용법이나 더 효율적인 구현 방법을 발견하는 등 학습의 기회가 되기도 합니다. AI가 항상 최적의 답을 주는 것은 아니지만, 때로는 새로운 접근법을 제시해주기도 하므로 이를 참고해보세요. 물론 프로젝트에 적용할 때는 해당 코드의 장단점을 이해하고 판단하는 과정이 필요합니다.
    • 언어 설정 유연하게: Codex는 한국어로도 질문을 이해하고 답변할 수 있지만, 복잡한 코딩 문맥에서는 영어로 질문하는 편이 더 정확한 응답을 얻는 데 유리할 때가 있습니다. 영어로 된 방대한 프로그래밍 지식 학습 덕분에 정확도가 높은 경우가 많기 때문입니다. 상황에 따라 한국어 설명 + 코드 조각 등의 형태로 혼용하여 시도해보고, 가장 효과적인 프롬프트 방식을 찾아가는 것도 좋습니다.

    OpenAI Codex와 같은 AI 코딩 도구는 초심자 개발자에게도 든든한 조력자가 되어줄 수 있습니다. 자동 완성 이상의 활용법을 익히면, 반복 작업을 줄이고 새로운 기술에도 과감히 도전해볼 수 있는 자신감을 얻게 됩니다. 다만 어디까지나 코드의 최종 책임은 개발자에게 있음을 항상 염두에 두고, Codex를 똑똑한 보조 개발자로 삼아 똑똑하게 활용해 보시기 바랍니다!

    (여담) ollama를 통한 명령어 수행

    Codex가 수행까지 가이드 하는 모습
    Codex가 수행까지 가이드 하는 모습

    - 모델 다운로드 및 수행까지

    • 먼저 가상환경(선택 사항)을 활성화한 뒤 pip install -r requirements.txt로 의존성을 설치하세요.
    • Ollama 데스크톱 앱 또는 서버를 실행하고, 사용할 모델(예: mistral:7b-instruct)을 ollama pull mistral:7b-instruct 명령으로 미리 내려받습니다.
    • 준비가 끝나면 프로젝트 루트(d:\Dev\My_Maker)에서 다음과 같이 실행하면 됩니다
    python main.py --count 5 --model mistral:7b-instruct

     

    • 옵션 설명:
      • --count는 요약할 기사 수(기본 5)
      • --model은 Ollama 모델 이름(미입력 시 코드 기본값)
      • --dry-run을 추가하면 Ollama 호출 없이 더미 요약으로 테스트
      • --output-dir로 결과 저장 경로 지정 가능
    • 실행 후 outputs/naver_summary.json과 outputs/naver_summary.md에 결과가 생기며, 콘솔에도 요약 미리보기가 표시됩니다.

    수행화면

    위 명령어를 통해 수행하면, 모델까지 선정이 되는 것이다.

     

    수행 명령어와 CPU, Memory 점유화면Memory 점유 축소
    수행 명령어와 CPU, Memory 점유화면

    [14:17:17] INFO naver_summarizer - ===== Naver Main News Summary =====
    [14:17:17] INFO naver_summarizer - 1. [속보] 중국, 희토류·기술 수출통제 강화…미중 갈등 재점화 가능성 (매일경제)
    [14:17:17] INFO naver_summarizer -     https://n.news.naver.com/article/009/0005570374
    [14:17:17] INFO naver_summarizer -     1. 요약
    [14:17:17] INFO naver_summarizer -       중국이 희토류와 기술 수출을 통제하는 조치를 강화한 것으로 알려졌습니다. 미국과의 갈등 이 재점화될 가능성이 있습니다.
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer -     2. 주요 사실
    [14:17:17] INFO naver_summarizer -        - 중국은 희토류 및 기술 수출을 강화하는 조치를 취하였습니다.
    [14:17:17] INFO naver_summarizer -        - 미국과의 갈등이 재점화될 가능성이 있습니다.
    [14:17:17] INFO naver_summarizer -     ...
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer - 2. [속보] 정청래 “추석 민심, ‘뻔뻔한 내란당 빨리 해체 안 하고 뭐하냐’고 말해” (매일경제)    
    [14:17:17] INFO naver_summarizer -     https://n.news.naver.com/article/022/0004073781
    [14:17:17] INFO naver_summarizer -     1. 요약: 정청래는 추석 민심에서 '뻔뻔한 내란당 빨리 해체 안 하고 뭐하냐'라는 말을 했습니다.
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer -     2. 주요 사실:
    [14:17:17] INFO naver_summarizer -        - 정청래가 추석 민심에서 발표한 말
    [14:17:17] INFO naver_summarizer -        - 정청래가 '뻔뻔한 내란'이라는 표현을 사용했음
    [14:17:17] INFO naver_summarizer -        - 정청래가 해체를 빨리 하라는 의미로 이르렀음
    [14:17:17] INFO naver_summarizer -     ...
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer - 3. "싸워 이기면 빌린 돈 갚을게"..폭행·협박한 20대 집유 (kbc광주방송)
    [14:17:17] INFO naver_summarizer -     https://n.news.naver.com/article/660/0000094401
    [14:17:17] INFO naver_summarizer -     1. 요약
    [14:17:17] INFO naver_summarizer -        - 20대 인물이 부산 지구에서 폭행과 협박으로 한 사람을 집유했다.
    [14:17:17] INFO naver_summarizer -        - 이 사건에서 빌린 돈을 잠금하고 있었고, 사건 해결 후 갚을 계획이다.
    [14:17:17] INFO naver_summarizer -        - 관련 정보는 부산지법 서부지원에서 발표했다.
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer -     2. 주요 사실 요약
    [14:17:17] INFO naver_summarizer -     ...
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer - 4. '방산특수' 한화 시총, 1년 새 3배 성장…10대그룹 3∼7위 모두 변동 (주간조선)
    [14:17:17] INFO naver_summarizer -     https://n.news.naver.com/article/053/0000052784
    [14:17:17] INFO naver_summarizer -     1. 요약
    [14:17:17] INFO naver_summarizer -         - 최근 2일 오후, 추석 명절을 앞두고 코스피는 최고가를 기록했다.
    [14:17:17] INFO naver_summarizer -         - 한화 시총은 1년 새로운 3배 성장한 것으로 나타났다.
    [14:17:17] INFO naver_summarizer -         - 10대 그룹 모두 변동이 있었다.
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer -     2. 주요 사실
    [14:17:17] INFO naver_summarizer -     ...
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer - 5. 美 이어 EU도 철강 관세 50%…여야 합의 'K-스틸법'은 제자리 (전자신문)
    [14:17:17] INFO naver_summarizer -     https://n.news.naver.com/article/030/0003357679
    [14:17:17] INFO naver_summarizer -     1. 요약: 8일 경기도 평택항에서 철강 제품이 쌓여있는 모습이 공개됐다. 이 외에도, 미국과 EU도 철강 관세 50% 가격 지원을 시작했다고 보도되었다. 이러한 상황에서 "K-스틸법"은 제자리에 유지되고 있음을 알 수 있다.
    [14:17:17] INFO naver_summarizer -
    [14:17:17] INFO naver_summarizer -     2. 주요 사실 요약:
    [14:17:17] INFO naver_summarizer -        - 8일 경기도 평택항에서 철강 제품이 쌓여있는 모습 공개
    [14:17:17] INFO naver_summarizer -        - 미국과 EU도 철강 관세 50% 가격 지원 시작
    [14:17:17] INFO naver_summarizer -        - "K-스틸법"은 제자리에 유지
    [14:17:17] INFO naver_summarizer -     ...

     

    --끝--