Google AI Studio와 함께 짧은 동의어를 사용해 프롬프트 최적화
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 계정에 로그인해야 하지만, 나는 당신이 무엇을 보게 될지 전혀 모릅니다. 왜냐하면 나는 계속 같은 모드만 보고 있기 때문입니다.
나는 미리보기와 소스 코드를 쉽게 전환할 수 있지만, 손님에게 부여한 권한은 읽기 전용입니다. 동일한 프롬프트로 앱을 테스트한 결과 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가 React를 vibe‑coding 모드에서 애플리케이션을 만드는 기본 프레임워크로 선택한 이유를 정말 이해하지 못하겠습니다. 제 생각엔 Angular를 선택하는 것이 더 타당했을 텐데, 트렌드를 따르기 위해 의도적으로 그렇게 했다고 생각합니다. 그렇긴 하지만…
- 앱이 첫 시도에 바로 작동했다는 점에 감탄했습니다. 이를 생성하기 위해 사용한 프롬프트는 완벽하게 설계된 것이 아니었습니다: 저는 vibe‑coding을 하지 않지만, 모델을 제 요구에 맞게 어떻게 유도해야 하는지 알고 있습니다. 저는 초보자처럼 도구에 접근하기 위해 의도적으로 그렇게 하지 않았습니다.
- 가장 중요한 용어를 대문자로 강조하거나, 폴더 구조 예시를 제공하고, 사용할 라이브러리를 지정할 수도 있었지만, 내가 원하는 것을 높은 수준에서 설명하기만 하면 작동하는 MVP를 얻을 수 있었습니다: 매우, 매우 흥미롭습니다.
- 반면에, 이 앱은 패키지 매니저를 구현하지 않습니다. 컴포넌트와 서비스를 서로 다른 폴더에 구분해 두긴 하지만, 각각의 스크립트를 HTML에 직접 로드합니다. React로 앱을 만들 때 제가 기대하는 방식과는 다릅니다.
- 그것만으로도 충분하지 않다면, 이 애플리케이션은 제가 명시적으로 요청하지 않은 Tailwind CSS를 사용합니다. 프롬프트를 바꿔서 제외(opt‑out)할 수 있겠지만, 저는 제외보다는 포함(opt‑in)을 선호했을 것입니다. 패키지 매니저를 사용하지 않는 것과 비교하면 모순되는 것처럼 보입니다.
- 소스를 다운로드하면 상황이 바뀝니다: 패키지 매니저 지원을 위한 설정 파일과
package.json이 마법처럼 나타납니다. 여전히 일부 HTML 스크립트가 see… (발췌가 여기서 끊깁니다).
추가 참고 사항
우리가 없어도 될 프론트엔드에서 무언가를 로드하고 싶다면, 위에서 언급한 종속성을 고려하세요.
팔로우하기
저는 네트워킹을 즐깁니다.
