gemini cli에게 다음과 같은 작업을 요청한다고 가정합니다.
"1.txt부터 10.txt에 적힌 모든 영어 문장을 번역해서 1_번역.txt 부터 10_번역.txt까지 만들어줘"
그러면 gemini cli는 10개의 txt파일을 번역해서 10개의 파일을 만듭니다. gemini cli가 작동하는 과정을 지켜보면, 마치 10개의 파일을 따로따로 읽어서 각각을 번역한 다음에 각각의 파일을 만드는 것처럼보입니다. 그러나 실제로는 그렇지 않습니다.
실제로는 1.txt의 번역과정이 2.txt 번역과정에 반영이 됩니다. 그리고 1.txt, 2.txt의 번역과정이 3.txt번역과정에 반영이 됩니다.
다시말해
이 아니라
이라고 할 수 있습니다.
앞의 맥락을 고려해서 작업을 이어나가는 것은 대체로 도움이 되는 일이지만, 병렬작업이 가능한 경우에는 앞의 맥락을 고려하는 것은 토큰 낭비, 요금 낭비, 성능낭비라고 할 수 있습니다. 다음과 같은 방법을 쓰면 도움이 될 것 같습니다.
# 1) .env 파일이 존재하면 모든 변수(export)로 설정
if [ -f .env ]; then
set -a # 앞으로 나오는 모든 변수 할당을 자동으로 export
source .env # .env 파일 내용 읽어들이기
set +a # allexport 옵션 해제
fi
# 2) API 키가 로드되었으므로 이제 gemini 호출 시 --key 옵션 없이도 작동합니다.
for n in {1..10}; do
gemini -y -p "${n}.txt를 생성하고. 그 안에 영어로 된 명언 하나를 만들어주세요. 최대한 창의적인 것이여야 합니다."
done
이 코드는 git bash에서 작동하는 코드인데, 이 코드를 test.sh라고 저장하고, git bash에는 저장된 폴더로 이동한 뒤에, ./test.sh라고 입력하면 됩니다. 코드를 실행하면 1.txt부터 10.txt까지 파일을 생성하고, 안에 영어로 된 명언을 만들어줍니다.
#1)은 api를 불러오는 과정인데, api로 불러오지 않으면 분당 할당량이 순식간에 초과되어 에러를 띄웁니다. api로 gemini cli를 작동시키는 방법은 https://gradientdescent.tistory.com/47를 참고해주세요
gemini -y -p에서 -y는 gemini cli의 모든 동작은 허용한다는 뜻입니다. -p는 프롬프트를 실행시킨다는 뜻입니다.
# 1) .env 파일이 존재하면 모든 변수(export)로 설정
if [ -f .env ]; then
set -a # 앞으로 나오는 모든 변수 할당을 자동으로 export
source .env # .env 파일 내용 읽어들이기
set +a # allexport 옵션 해제
fi
# 2) API 키가 로드되었으므로 이제 gemini 호출 시 --key 옵션 없이도 작동합니다.
gemini -y -p "너 자신을 알라.. 라는 말은 누가헀더라? "
gemini -y -p "내가 처음에 어떤 질문을 했지?"
test를 위해 위 코드를 실행시켜보겠습니다.
gemini -y -p "너 자신을 알라.. 라는 말은 누가헀더라?"
에 대한 대답으로 소크라테스를 언급했고
gemini -y -p "내가 처음에 어떤 질문을 했지?"
에 대한 대답으로 앞의 질문을 고려하지 않고, 질문한적이 없다고 응답했습니다.
'AI' 카테고리의 다른 글
google cli 사용시 gemini 2.5 pro로 고정하는 법 (0) | 2025.07.06 |
---|---|
자료분석에 특화된 AI - NotebookLM (2) | 2025.07.03 |
AI로 특정 단어가 들어간 스프레드 시트의 셀의 배경색을 한꺼번에 바꾸기 (1) | 2025.07.01 |
gemini cli로 모의고사 문제 추출하기 (0) | 2025.06.30 |
AI Studio에서 API가져오기 (0) | 2025.06.30 |