Google AI Studio와 함께 짧은 동의어를 사용해 프롬프트 최적화

발행: (2025년 12월 25일 오전 05:02 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

What I Built

이탈리아어는 멋진 언어이지만 생성형 인공지능과 관련해서는 한 가지 큰 단점이 있습니다: 동의어가 풍부하다는 점입니다. 이는 문학에는 좋지만, 간결해야 하는 프롬프트 작성에는 적합하지 않죠. 그래서 저는 사용된 단어들의 길이를 최적화하는 애플리케이션을 만들기로 했습니다.

그래서 프롬프트에 사용된 단어들을 더 짧은 동의어로 교체해 토큰을 절약하는 간단한 앱을 만들기로 했습니다. 그 결과 초기 프롬프트보다 짧아진 프롬프트가 생성되었으며, 이는 에이전시 애플리케이션에 가져오기 더 적합합니다: 이는 더 복잡한 프로젝트의 초안에 불과합니다.

아래는 제가 애플리케이션의 초기 구조를 만들기 위해 사용한 프롬프트입니다. 저는 모델에 API를 통해 전송하도록 설계된 구조를 사용하지 않았고, 단순히 자연어로 제 앱이 가져야 할 기능을 설명했습니다. 지금까지 vibe‑coding을 해본 적이 없으며, 앞으로도 다시 할지는 모르겠습니다.

Please, make an app that replaces words in given sentences with
shorter synonyms to save tokens while editing prompts: it must have
a text area for writing the prompt (supporting cut’n’paste and
drag’n’drop functionalities from existing text files) and a preview
area with the result.

The output should be downloadable as a file, use Markdown for it
and consider it could be imported in Python applications by third
parties; provide the option to interactively approve/reject
every single change.

이 작은 애플리케이션은 Gemini 3 Flash를 사용해 동의어를 검색합니다: 제 아이디어는 LLM 모델을 사용하지 않고도 같은 서비스를 제공하는 것으로, 최종 프롬프트에만 토큰이 소비되게 하는 것입니다. 두 번째 프롬프트를 사용해 첫 번째 프롬프트를 절약하는 것은 의미가 없겠죠. 동의하시나요?

저는 복사‑붙여넣기와 기존 파일의 드래그‑앤‑드롭 기능만 지원하도록 요청했습니다. 하지만 보시다시피 Google AI Studio는 더 나아가 초기 프롬프트의 전체 부분을 재작성하도록 제안하기도 합니다. 이는 생성형 AI의 장점이지만, 필수적인 요구사항은 아니었습니다.

어쨌든 Gemini는 제안된 변경 사항을 수락하거나 거부할 수 있는 검토 기능을 올바르게 포함했습니다. 제 데모에서는 모든 변경을 수락했으며, 결과는 매우 만족스러웠습니다. 다만, 이번 실험에서는 이탈리아어 대신 영어를 사용했다는 점을 강조하고 싶습니다.

데모

당신은 내 프로젝트의 애플릿에 접근할 수 있습니다. 청구를 활성화해야 했기 때문에 배포하지 않았으며, 그렇게 할 의도도 없습니다. 링크를 열려면 Google 계정에 로그인해야 하지만, 나는 당신이 무엇을 보게 될지 전혀 모릅니다. 왜냐하면 나는 계속 같은 모드만 보고 있기 때문입니다.

Prompt Shrinker

나는 미리보기와 소스 코드를 쉽게 전환할 수 있지만, 손님에게 부여한 권한은 읽기 전용입니다. 동일한 프롬프트로 앱을 테스트한 결과 261자를 절약하여 효율성을 52 % 향상시켰습니다. 이 애플리케이션이 원래 목적을 넘어섰다는 점을 고려해야 합니다.

Build an app shortens text to save tokens while editing prompts: input
field to write down the prompt (with clipboard support and file
drag-drop) and result preview; exportable, use Markdown for it and
Python‑compatible; interactive review.

나는 단어를 더 짧은 동의어로 교체하도록 요청했지만, 앱이 전체 구절을 교체했습니다. 이는 내가 요청한 것보다 확실히 효율적이지만, LLM 모델을 사용해야만 가능합니다. 내 장기 프로젝트에서는 처음부터 후자를 제외할 예정입니다.

나의 경험

Google AI Studio가 Reactvibe‑coding 모드에서 애플리케이션을 만드는 기본 프레임워크로 선택한 이유를 정말 이해하지 못하겠습니다. 제 생각엔 Angular를 선택하는 것이 더 타당했을 텐데, 트렌드를 따르기 위해 의도적으로 그렇게 했다고 생각합니다. 그렇긴 하지만…

  • 앱이 첫 시도에 바로 작동했다는 점에 감탄했습니다. 이를 생성하기 위해 사용한 프롬프트는 완벽하게 설계된 것이 아니었습니다: 저는 vibe‑coding을 하지 않지만, 모델을 제 요구에 맞게 어떻게 유도해야 하는지 알고 있습니다. 저는 초보자처럼 도구에 접근하기 위해 의도적으로 그렇게 하지 않았습니다.
  • 가장 중요한 용어를 대문자로 강조하거나, 폴더 구조 예시를 제공하고, 사용할 라이브러리를 지정할 수도 있었지만, 내가 원하는 것을 높은 수준에서 설명하기만 하면 작동하는 MVP를 얻을 수 있었습니다: 매우, 매우 흥미롭습니다.
  • 반면에, 이 앱은 패키지 매니저를 구현하지 않습니다. 컴포넌트와 서비스를 서로 다른 폴더에 구분해 두긴 하지만, 각각의 스크립트를 HTML에 직접 로드합니다. React로 앱을 만들 때 제가 기대하는 방식과는 다릅니다.
  • 그것만으로도 충분하지 않다면, 이 애플리케이션은 제가 명시적으로 요청하지 않은 Tailwind CSS를 사용합니다. 프롬프트를 바꿔서 제외(opt‑out)할 수 있겠지만, 저는 제외보다는 포함(opt‑in)을 선호했을 것입니다. 패키지 매니저를 사용하지 않는 것과 비교하면 모순되는 것처럼 보입니다.
  • 소스를 다운로드하면 상황이 바뀝니다: 패키지 매니저 지원을 위한 설정 파일과 package.json이 마법처럼 나타납니다. 여전히 일부 HTML 스크립트가 see… (발췌가 여기서 끊깁니다).

추가 참고 사항

우리가 없어도 될 프론트엔드에서 무언가를 로드하고 싶다면, 위에서 언급한 종속성을 고려하세요.

팔로우하기

저는 네트워킹을 즐깁니다.

Back to Blog

관련 글

더 보기 »