본문 바로가기
AI

구글 바드 Bard 코딩 활용 방법

by 누워서 코딩 2023. 5. 16.

Google Bard는 구글의 인공지능(AI) 실험으로, 현재는 베타 버전이지만 챗GPT처럼 프로그래밍적인 기능도 갖추고 있다. 기능의 구성은 생성적 인공지능과 함께 코드 생성, 코드 디버깅, 그리고 설명과 같은 프로그래밍 및 소프트웨어 개발 작업을 돕는 기능도 갖추고 있다.

 

 

최근 업데이트에서는 C++, Go, Java, Javascript, Python 및 Typescript를 비롯한 대략 20여 개 이상의 프로그래밍 언어를 지원하여 프로그래밍 및 소프트웨어 개발 작업을 보다 쉽게 도와주고 있다. Bard는 프로그래밍 언어를 알지 못하는 사용자도 쉽게 사용할 수 있다.

구글 바드 사용법

구글 바드 사용법은 간단하다. 먼저 체험이나 사용을 위해서는 먼저 다음 구글 바드 페이지로 접속해야 한다.

챗GPT처럼 프롬프트에 명령을 하고 답변을 받는 간단한 방식이다. Bard는 코드 생성 기능 외에도 코드 스니펫을 설명하는 데도 도움이 되는데, 이것은 프로그래밍을 처음 배우는 초보 프로그래머나 코드 블록이 어떻게 출력하는 내용을 이해하기에도 유용하다. "Google/jax GitHub 저장소 내의 코드에 대해 말해주세요."와 같은 식으로 Bard에게 코드를 설명해 달라고 요청할 수도 있다.

 

 

또한, Bard는 작성한 코드를 포함하여 코드를 디버그하는 데도 도움이 된다. Bard가 의도한 대로 작동하지 않는 코드나 오류 메시지가 표시된 경우 "이 코드가 작동하지 않습니다. 수정해 주세요."라고 Bard에게 말하면 디버그를 도와준다.

 

다음은 실제 바드 실험 버전에서 파이썬 언어로 '달력' 프로그램을 작성해 달라고 요청해 본 예시이다. 

Bard
Bard

코드를 복사 후 편집 툴(VS Code)로 붙여 넣고 실행해 보자.

calendar.py
calendar.py

만약 편집툴인 VS Code(Microsoft Visual Studio Code) 설치 되어 있지 않다면, 다운로드 후 설치를 한 후에 테스트를 진행 해보자.

f@DESKTOP-ANPHVDJ:~$ /bin/python3 /home/f/Test/calendar.py
Enter year: 2023
Enter month: 5
Traceback (most recent call last):
  File "/home/freeman/Test/calendar.py", line 10, in <module>
    main()
  File "/home/freeman/Test/calendar.py", line 7, in main
    print(calendar.month(year, month))
AttributeError: module 'calendar' has no attribute 'month'

 

위와 같은 에러가 발생 하는데, 이 에러를 바드 프롬프트창에 그대로 붙여 넣은 다음 엔터를 눌러보자.

AttributeError: module 'calendar' has no attribute 'month'

 

그러니 처음 예시의 month함수는 python 3.10 버전에서 선언된 함수이므로, 이 보다 상위 버전(3.11)에서는 'formonth'함수를 대신 사용하라는 친절한 답변과 함께 예제 코드도 함께 업데이트해준다. 

 

챗GPT 3.5 기반 테스트 By 노션 AI 

이번에는 동일한 명령으로 노션 AI에서 달력 프로그램을 작성해 달라고 요청해 봤다. 참고로 노션 AI의 프로그래밍 기능은 오픈AI의 3세대 모델인 GPT-3 기반이다. 

calendar
calendar

처음 코드는 역시 바드 AI와 동일한 예제 코드를 보여준다. 그리고 동일한 에러를 프롬프트창에 입력 후 엔터해보니 여기서 차이점이 분명히 보인다.

calendar-month
calendar-month

바드 AI는 파이썬 3.10 이하 버전에서 사용하는 예제 코드이며, 최신 버전인 파이썬 3.11 버전을 지우거나 아니면 3.11 버전을 위한 함수인 formatmonth() 함수의 사용을 권하는, 보다 정확성이 높은 답변을 보인 것과는 차이점이 분명 보였다.

 

하지만 알려준대로 수정해도 에러가 발생했다. 그래서 에러 코드로 질의를 여러번 거친 후 달력 프로그램이 완성되긴 했다.

import datetime

def main():
  year = int(input("Enter year: "))
  month = int(input("Enter month: "))

  days = [None] * 31
  for i in range(1, 31):
    days[i - 1] = i

  header = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
  table = []
  for i in range(len(header)):
    row = []
    for j in range(7):
      try:
        row.append(days[i * 7 + j])
      except IndexError:
        row.append(None)
    table.append(row)

  print('<table border="1">')
  for row in table:
    print('<tr>')
    for cell in row:
      if cell is None:
        print('<td></td>')
      else:
        print('<td>', cell, '</td>')
    print('</tr>')
  print('</table>')

if __name__ == "__main__":
  main()

달력-프로그램
달력-프로그램

 

예제로 생성하는 코드들이 한번에 정리 되어 보여주지 않는 점은 GPT-3나 GPT-4나 비슷한 듯 보여 이 부분은 조금 아쉽긴 했지만, 에러 코드를 질문 했음에도 부정확한 같은 답변만 보여주던 기존 GPT-3 보다는 조금 더 진보되었다고 볼 수 있지 않을까?

결론

이 예제 코드 하나만으로 프로그래밍 전체 성능의 수준을 판단하기엔 한계가 있다는 점은 분명하다. 또한 노션AI의 프로그래밍 기능은 GPT-3 기반이라 현재 GPT-4 기반의 챗GPT와 비교하기도 애매한 부분 역시 있다. 하지만 이런 간단하고 기본적인 예제 코드 하나만 비교해 봐도 해당 AI의 알고리즘의 성능이란 게 어느 정도는 짐작되는 측면도 분명 있다. 어쨌든 이번 테스트로 알아낸 내 결론은 최소한 바드 AI는 프로그래밍 성능 부분에서만은 오픈 AI의 이전 GPT-3 보다는 좀 더 진보된 성능인 것으로 짐작이 된다. 그리고 이 주제는 추후에 더 많은 실험과 데이트를 축적한 이 후에 심화된 주제로 다시 다뤄볼까 한다.

 

결론은 현재 챗GPT나 노션의 프로그래밍 AI 기능을 사용하려면 유료로만 사용이 가능하다. 따라서 바드 AI가 실험 버전이긴 하지만 지금은 무료로 사용이 가능하고 성능도 GPT-3 보다도 우수하기에 사용하지 않을 이유가 전혀 없어 보인다.

 

이 블로그의 다른 글 읽기

대규모 언어 모델 Dalai LLaMA 모델 다운로드 및 설치 방법

AI 최강자 챗GPT vs LLaMA

AutoGPT 다운로드 설치 및 사용법

댓글