TL;DR

  • Flet Studio 에이전트가 앱을 실행하고 스크린샷과 콘솔을 확인할 수 있어, UI 제작과 디버깅의 반복 작업을 줄임.
  • 메시지에 이미지, PDF, 텍스트·코드 파일을 첨부하거나 클립보드의 스크린샷을 붙여넣을 수 있음.
  • 새 도구는 앱 실행, 스크린샷 촬영, 콘솔 읽기이며, 에이전트가 작업 중 여러 차례 앱을 확인할 수 있음.
  • 새 앱은 규모에 따라 src 폴더로 코드를 분리하거나 단일 파일로 구성되며, 로깅과 레이아웃·웹 API 처리도 개선됨.
  • 이번 릴리스에는 Expert 에이전트의 최신 모델, Flet 1.0.3, 장시간 작업이 중간에 멈추는 문제의 개선이 포함됨.

AI 에이전트 2분 입문

  • AI 에이전트는 대형 언어 모델(LLM, 또는 모델)을 중심으로 프롬프트, 스킬, MCP 서버, 도구가 둘러싼 반복 구조임.
  • 모델 주변의 요소는 흔히 하네스(harness)라고 불리며, 모델에 없는 지식을 제공하고 환각을 억제함.

에이전트 루프

  • 사용자가 프롬프트를 보내면 새 턴이 시작되며, 시스템 프롬프트와 사용 가능한 도구 정보가 함께 모델에 전달됨.
  • 모델은 바로 답하거나 파일 목록 확인, Flet API 문서 읽기, main.py 작성 등 도구 실행을 요청함.
  • 에이전트가 도구를 호출해 결과를 모델에 돌려보내고, 모델이 다음 작업을 결정하는 과정이 최종 답변을 내놓을 때까지 반복됨.

턴

  • 모델은 도구를 더 사용할 필요가 없다고 판단하면 최종 답변을 내놓으며, 이때 턴이 끝남.
  • 도구 호출과 그 결과는 모델이 다음 작업을 결정하는 데 활용됨.

대화와 컨텍스트 창

  • 새 프롬프트를 보내면 이전 턴의 프롬프트, 도구 호출, 도구 결과, 답변이 모두 함께 모델에 전달됨.
  • 모델 자체에는 기억이 없으므로 매번 대화 기록 전체를 다시 전송함.
  • 모든 턴의 합은 대화 또는 컨텍스트이며, 에이전트 UI에서는 보통 ‘채팅’이라고 부름.
  • 대화 길이는 모델의 최대 컨텍스트 창 크기에 제한됨. 턴이 추가될수록 전송되는 토큰이 늘어나므로 각 턴의 비용도 이전보다 커짐.

눈을 가린 채 UI 만들기

  • 대형 언어 모델은 비결정적이므로 “카운터 앱 만들기”를 열 번 요청하면 그럴듯하지만 서로 다른 결과가 열 개 나올 수 있음.
  • 프롬프트와 스킬은 결과의 범위를 좁히며, 도구는 에이전트가 실제로 할 수 있는 작업을 정함.
  • Flet 에이전트의 첫 버전에는 앱 작업 공간에서 디렉터리를 나열하고 파일을 읽고 쓰는 도구만 있었음. 정보는 모델에서 앱 작업 공간으로 한 방향으로만 흘렀음.
  • 당시에는 에이전트가 코드를 작성한 뒤 사용자가 결과를 확인하고, 누락된 버튼이나 가져오기 오류, 잘못된 레이아웃을 텍스트로 설명해야 했음.
  • 에이전트가 실행 결과를 볼 수 없으면 사용자가 화면을 설명하거나, 코드에 출력문을 추가하고 앱을 실행한 뒤 콘솔 내용을 복사해 전달해야 했음.
  • 이런 방식에서는 사용자가 계속 작업 과정에 개입해야 하며, 사실상 에이전트의 눈과 귀 역할을 맡게 됨.

루프 닫기: 눈과 귀

  • 이번 릴리스는 사용자가 파일과 스크린샷을 전달하는 기능, 에이전트가 실행 결과를 확인하는 기능을 추가해 양방향 피드백을 제공함.

파일과 스크린샷 첨부

  • 메시지에 이미지, PDF, 텍스트 파일, 코드 파일을 첨부할 수 있음.
  • 클립 버튼을 사용하거나 클립보드의 스크린샷을 붙여넣을 수 있으며, 단축키는 macOS에서 Cmd+V, Windows와 Linux에서 Ctrl+V임.
  • 첨부 이미지에 나온 양식처럼 앱을 만들거나, 설명과 다른 버튼 모양을 스크린샷으로 보여주는 방식으로 요청할 수 있음.
  • 새 앱 페이지에서도 첨부 파일을 사용할 수 있어 목업에서 바로 새 앱을 시작할 수 있음.
  • 첨부 파일을 앱 안에 넣도록 요청할 수도 있으며, 예를 들어 첨부 이미지를 로고로 사용할 수 있음.

새로운 도구 3종

  • 앱 실행: 이전에는 각 에이전트 턴이 끝난 뒤 앱이 자동으로 한 번 실행됐지만, 이제는 턴 중간에도 에이전트가 원하는 횟수만큼 앱을 다시 실행할 수 있음. 실행 시 미리보기가 다시 시작됨.
  • 스크린샷 촬영: 실행 중인 앱을 확인해 아바타가 실제로 화면 구석에 있는지 살펴보는 에이전트의 눈 역할임.
  • 콘솔 읽기: 파이썬 오류, 트레이스백, 로그 메시지를 사용자가 복사해 전달하지 않아도 되는 에이전트의 귀 역할임.

새 에이전트 실제 사용

  • 새로운 도구를 사용하면 대화가 짧아지고 사용자의 개입 없이 결과에 도달할 수 있음.

파이썬 오류 포착

  • 대시보드를 만들 때 에이전트가 Flet API를 확인하고 main.py를 작성한 뒤 앱을 실행함.
  • 콘솔에서 오류를 읽고 main.py를 수정한 다음 다시 콘솔을 확인해 오류가 사라졌는지 검증함.

레이아웃 수정

  • 화면 오른쪽 아래에 사용자 아바타를 배치하는 작업에서 에이전트가 main.py를 작성하고 스크린샷을 촬영함.
  • 첫 스크린샷에서 아바타가 모서리에 없음을 확인하고 Flet API를 살펴 코드를 수정함.
  • 다시 스크린샷을 촬영해 아바타가 올바른 위치에 있는지 확인함.

함께 디버깅

  • 클릭해야만 나타나는 버그는 에이전트가 로그 메시지를 코드 여러 위치에 추가하고 앱을 실행한 뒤, 사용자가 앱을 클릭해 보도록 요청하는 방식으로 조사할 수 있음.
  • 사용자가 조작을 마치면 에이전트가 콘솔을 읽고 문제를 수정하며 임시 로그 메시지를 제거한 뒤 앱을 다시 실행함.
  • 적절한 피드백을 받으면 에이전트가 열 턴 대신 한 턴 안에 작업을 마칠 수 있음. 턴 감소는 토큰과 크레딧 소비를 줄이고 사용자가 계속 지켜봐야 하는 부담도 덜어줌.

이번 릴리스의 기타 변경 사항

  • 새 앱은 Flet의 표준 레이아웃에 따라 코드를 src 폴더에 두고, 기능에 따라 파일을 분리함. 작은 앱은 단일 파일로 유지됨.
  • 새 앱에는 로깅이 설정되며, 에이전트는 이를 디버깅에 사용함.
  • 콘텐츠 중앙 정렬이나 페이지 하단에 푸터 배치 등 레이아웃 처리 능력이 향상됨.
  • 앱이 웹 API를 호출할 때 미리보기와 flet build로 빌드한 앱 양쪽에서 작동하는 코드를 작성함.
  • Expert 에이전트가 더 최신 모델을 사용하며, Flet Studio는 Flet 1.0.3을 사용함.
  • 에이전트가 단계를 너무 많이 수행해 장시간 작업이 중간에 멈추는 문제가 개선됨.
  • 전체 변경 사항은 Flet Studio의 ‘새로운 기능’ 목록에서 확인할 수 있음.

다음 계획

  • 실행 중인 앱에서 탭, 스와이프, 드래그 등 상호작용을 수행하는 기능이 향후 고려 대상임.
  • 단, 에이전트가 운영 데이터베이스의 데이터를 삭제하지 못하도록 적절한 안전장치가 필요함.
  • 메모리를 갖춘 자기 학습 에이전트도 향후 릴리스에서 다룰 수 있는 주제임.
  • Flet 에이전트로 만든 것과 시도한 것, 겪은 어려움을 GitHub Discussions 또는 Discord에서 공유할 수 있음.