Eino

고 관습을 따르는 언어 모델 애플리케이션 프레임워크

go get github.com/cloudwego/eino

고에서 언어 모델 애플리케이션을 만드는 프레임워크입니다. 랭체인과 구글 ADK 같은 앞선 프레임워크에서 개념을 가져오되 고 관습에 맞게 다시 설계했습니다. 채팅 모델과 도구, 검색기, 템플릿 같은 재사용 부품이 있고 주요 제공자 구현이 공식으로 제공됩니다. 에이전트 개발 도구는 도구 사용과 다중 에이전트 조율, 맥락 관리, 사람이 개입하도록 멈추고 다시 잇는 기능을 담았습니다. 부품을 그래프와 작업 흐름으로 엮으면 단독으로 돌리거나 에이전트의 도구로 노출할 수 있습니다. 복잡한 작업에는 문제를 단계로 쪼개고 하위 에이전트에 나눠 맡기는 구성이 따로 있습니다.

판단

이럴 때 씁니다

  • 고로 된 서비스에 에이전트를 넣어야 할 때
  • 부품을 그래프로 엮어 재사용하고 싶을 때
  • 사람이 중간에 개입해 멈추고 잇는 흐름이 필요할 때

이럴 땐 쓰지 마세요

  • 파이썬 생태계 예제를 그대로 쓸 수 없습니다
  • 판이 0.9x 대라 규격이 바뀔 수 있습니다
  • 부품 구현이 파이썬 쪽만큼 많지는 않습니다

차별점

  • 고 관습에 맞춰 처음부터 설계했습니다.
  • 부품을 그래프와 작업 흐름으로 엮어 재사용합니다.
  • 엮은 흐름을 에이전트의 도구로 그대로 노출합니다.
  • 멈추고 다시 잇는 사람 개입 지점을 기본 제공합니다.

워크플로

  1. 01의존성을 받습니다.
  2. 02채팅 모델을 설정합니다.
  3. 03도구를 붙여 에이전트를 만듭니다.
  4. 04실행기로 질의를 돌리고 이벤트를 받습니다.
  5. 05복잡한 작업은 하위 에이전트로 나눕니다.

주요 명령

명령설명
go get github.com/cloudwego/eino핵심 모듈을 받습니다.
go get github.com/cloudwego/eino-ext제공자 구현이 들어 있는 확장 저장소입니다.

함정

설치 전에 확인하세요

  • 부품 구현은 별도 저장소에 있습니다. 핵심만 받으면 제공자가 붙지 않습니다.
  • 판이 0.9x 대입니다. 에이전트 개발 도구 규격이 아직 움직입니다.
  • 도구 호출 순환을 프레임워크가 안에서 돌립니다. 직접 제어하려면 구성 방식이 달라집니다.
  • 예제는 별도 저장소에 있습니다. 본 저장소만 보면 실행 코드를 찾기 어렵습니다.

비교

고에서 언어 모델을 쓰려면 보통 HTTP 클라이언트부터 직접 짭니다. 이쪽은 부품과 조율 계층을 갖춰 두었고 고의 타입 체계에 맞게 만들었습니다. 대신 파이썬 쪽에 비해 통합 구현의 수가 적습니다.

최근 변경

중첩된 체크포인트 자료가 두 번 쌓이던 문제를 고쳤습니다. 파일 하나당 읽을 수 있는 크기 상한과 예산을 고려해 잘라 내는 기능도 함께 들어갔습니다.