본문으로 건너뛰기
ToolPotion

Oscar - Git at Google

Oscar는 소프트웨어 개발에서 유지보수 담당자의 부담을 줄이기 위해 설계된 오픈소스 기여자 에이전트 아키텍처입니다. LLM을 활용하여 의미론적 분석을 수행하고 결정론적 코드를 사용하여 작업을 실행하며, 이슈 처리, 문서 매칭 등을 자동화하여 오픈소스 프로젝트 유지보수 효율성을 개선하는 것을 목표로 합니다.

URL 방문
Oscar - Git at Google screenshot

설명

오픈소스 기여자 에이전트 아키텍처인 Oscar는 프로젝트 유지보수를 위한 자동화된 에이전트를 생성하여 오픈소스 소프트웨어 개발을 개선하는 데 중점을 둔 프로젝트입니다. 핵심 신념은 크고 작은 오픈소스 프로젝트를 유지보수하는 데 따르는 상당한 부담을 줄일 수 있다는 것입니다. 대규모 언어 모델(LLM)은 이슈 보고서 및 유지보수 담당자의 지침과 같은 자연어의 의미론적 분석을 통해 에이전트가 사람들과 원활하게 상호 작용하고 자연어 지침을 프로그램 코드로 변환할 수 있는 새로운 가능성을 제공합니다. LLM은 중요한 구성 요소이지만, 에이전트 작업의 대부분은 표준적이고 결정론적인 코드를 실행하는 것과 관련될 것입니다. 많은 개발 중심 LLM 사용과 달리 Oscar는 코드 작성 프로세스를 보강하거나 대체하는 것을 목표로 하지 않습니다. 대신, 들어오는 이슈 처리, 기존 문서와의 질문 매칭 등 덜 매력적인 유지보수 측면에 중점을 둡니다.

Oscar는 근본적으로 실험이며, 미래 방향과 학습 내용은 아직 완전히 결정되지 않았습니다. 초기 프로토타입인 @gabyhelp 봇은 이미 Go 이슈 추적기 내에서 수많은 성공적인 상호 작용을 시연했습니다. 현재 Go 프로젝트 하에서 개발 중인 Oscar는 향후 별도의 프로젝트로 분리될 가능성이 있습니다. 프로젝트의 구체적인 목표에는 이슈 및 변경 목록(CL/풀 요청) 해결 시 유지보수 담당자의 노력 감소, 포럼 질문 처리 노력 감소, 더 많은 개인이 생산적인 유지보수 담당자가 될 수 있도록 하는 것이 포함됩니다. 주요 비목표는 코딩 자동화이며, 초점은 유지보수 담당자의 부담 자동화에 있습니다.

접근 방식은 모든 소프트웨어 프로젝트가 맞춤형 에이전트를 생성하기 위해 적용할 수 있는 재사용 가능하고 확장 가능한 아키텍처를 구축하는 데 중점을 둡니다. Oscar는 Go 프로젝트에만 국한되지 않는 유지보수 담당자의 부담을 해결하는 것을 목표로 합니다. 식별된 주요 기능에는 기여자 상호 작용 중 관련 프로젝트 컨텍스트를 인덱싱하고 노출하는 것, 자연어를 사용하여 결정론적 도구를 제어하는 것, 이슈 보고서, CL/PR 및 그룹 토론을 분석하여 실시간으로 개선하고 적절하게 라벨링하며 라우팅하는 것이 포함됩니다. LLM은 자연어 처리 능력 때문에 이러한 기능에 필수적이며, 결정론적 코드는 실행을 처리합니다. 이 프로젝트는 의미론적 분석 및 자연어-프로그램 변환을 위해 LLM을 사용하고 나머지 부분은 결정론적 코드에 의존하는 것을 강조합니다.

하나의 중요한 기능은 관련 프로젝트 컨텍스트를 인덱싱하고 노출하는 것입니다. 소프트웨어 프로젝트는 복잡하며 유지보수 담당자는 항상 모든 관련 세부 정보를 기억할 수 없습니다. Oscar는 LLM 임베딩을 사용하여 프로젝트 검색 엔진을 생성하고 문서, 이슈 및 토론을 인덱싱합니다. 새로운 이슈가 발생하면 에이전트는 이 인덱스를 사용하여 유사한 과거 이슈 또는 관련 문서와 같은 관련 컨텍스트를 찾고 링크를 포함하여 응답할 수 있습니다. 이는 중복 이슈를 노출하고, 기여자에게 컨텍스트를 제공하며, 관련 과거 토론이나 버그 보고서로 안내하여 유지보수 담당자의 시간을 절약하는 등의 이점을 보여주었습니다. 보고서가 제출된 후 에이전트의 즉각적인 상호 작용은 보고자가 아직 이용 가능하고 참여하고 있을 때 보고자를 참여시키는 데 중요합니다.

또 다른 핵심 기능은 자연어를 사용하여 결정론적 도구를 제어하는 것입니다. 프로젝트가 성장함에 따라 도구 수가 증가하여 추적하고 사용하기 어렵습니다. Oscar는 자연어 요청에 따라 이슈 댓글을 편집하거나, 라벨을 추가하거나, 사람을 할당하는 시설을 구상합니다. LLM은 자연어 의도를 도구 호출과 같은 실행 가능한 형태로 번역하는 데 능숙합니다. Gemini를 사용한 예비 실험은 도구를 선택하고 호출하는 데 유망한 결과를 보여주었습니다. 자연어를 결정론적 도구 사용으로 변환하기 위해 LLM을 사용하는 이 접근 방식은 결정론적 실행과 쉬운 검증을 허용하므로 순수한 LLM "마법 지팡이" 접근 방식보다 더 효과적인 것으로 간주됩니다.

세 번째 중요한 기능은 이슈 보고서 및 CL/PR을 분석하는 것입니다. 관련 이슈를 연결하는 것 외에도 Oscar는 이슈의 주요 주제를 식별하여 적절한 라벨링(예: "성능")을 지정하는 것과 같은 의미론적 분석을 통합할 계획입니다. 또한 보고서가 유용하기 위해 추가 정보가 필요한지 여부를 결정하는 것을 목표로 합니다(예: 재현 프로그램 링크 요청 또는 코드 인라인). 에이전트는 샌드박스화된 실행 도구를 실행하여 버그 포함 릴리스를 식별하거나 git bisect를 사용하여 버그 도입 커밋을 찾을 수 있습니다. 이러한 분석은 보고서가 제출된 직후 에이전트의 24/7 가용성을 활용할 때 가장 효과적입니다.

첫 번째 프로토타입인 Gaby("Go AI bot")는 Go 이슈 추적기 내에서 @gabyhelp로 작동합니다. 소스 코드는 internal/gaby에 있습니다. Gaby는 Go 이슈, Go 문서, Gerrit 코드 검토 및 Go 프로젝트/golang-nuts 토론의 콘텐츠를 인덱싱하여 관련 링크로 새 이슈에 응답할 수 있습니다. Gaby의 아키텍처는 유연하도록 설계되어 다양한 호스팅 서비스에서 실행하고, 다른 LLM, 스토리지 계층 및 벡터 데이터베이스를 사용할 수 있습니다. 현재 프로토타입은 Google의 Gemini LLM 및 Google Cloud Firestore와 함께 GCP Cloud Run을 사용합니다. 이 프로젝트는 또한 Go 프로젝트의 오랜 결정론적 에이전트인 @gopherbot의 존재를 인식하고 있으며, 궁극적으로 @gabyhelp를 Oscar 에이전트로 @gopherbot을 재구축하여 자연어를 사용하는 더 가벼운 구성 방법을 모색하여 @gabyhelp를 @gopherbot에 병합하는 것을 목표로 합니다.

Oscar의 핵심 기능

  • 오픈소스 유지보수를 위한 자동화된 에이전트

  • 이슈 및 요청 처리를 자동화하여 유지보수 담당자의 부담 감소

  • LLM을 활용한 자연어 이해 및 의미론적 분석

  • 신뢰할 수 있는 작업 실행을 위한 결정론적 코드 활용

  • 관련 프로젝트 컨텍스트(문서, 이슈, 토론) 인덱싱 및 노출

  • 결정론적 도구의 자연어 제어 가능

  • 이슈 보고서 및 변경 목록 분석을 통한 라우팅 및 라벨링 개선

  • Go 이슈 추적기에서 활성 상태인 프로토타입 에이전트 @gabyhelp

  • 맞춤형 에이전트 개발을 위한 확장 가능한 아키텍처

  • 다양한 LLM, 스토리지 계층 및 벡터 데이터베이스와의 통합 지원

  • 오픈소스 유지보수의 비코딩 측면 자동화 목표

  • 즉각적인 응답을 통한 기여자 참여 가속화 지원

Oscar 사용 방법은?

  1. 구성: 에이전트 기능 정의 및 프로젝트 데이터 소스 연결

  2. 배포: 적합한 플랫폼(예: 클라우드 서비스)에 에이전트 호스팅

  3. 통합: 프로젝트 리포지토리 및 통신 채널(예: GitHub 웹훅)에 연결

  4. 학습/인덱싱: 에이전트가 LLM을 사용하여 프로젝트 컨텍스트를 처리하고 인덱싱하도록 허용

  5. 모니터링: 이슈 추적기 및 포럼에서 에이전트 상호 작용 및 성능 관찰

  6. 확장: 새로운 에이전트 동작 개발 및 맞춤형 결정론적 도구 통합

  7. 최적화: 프로젝트 요구 사항 및 피드백에 따라 에이전트 응답 및 분석 개선

Oscar의 사용 사례

  • 이슈 분류 자동화
  • 문서 지원
  • 중복 이슈 감지
  • 유지보수 담당자 부담 감소
  • 기여자 지원
  • 변경 목록 분석
  • 컨텍스트 노출
  • 도구 통합

Oscar의 FAQ

Oscar 리뷰

로딩 중...

Oscar와(과) 비슷한 인기 AI 도구

AI 에이전트

GitHub Copilot은 개발자의 편집기 내에서 코드 줄과 전체 함수를 제안하여 개발자를 지원하는 AI 페어 프로그래머입니다. 코드 완성부터 엔터프라이즈급 에이전트 관리까지 워크플로우를 가속화하여 다양한 플랫폼과 언어 전반에 걸쳐 생산성과 개발자 만족도를 향상시킵니다.

추천AI 코딩 어시스턴트

Aider는 터미널과 통합된 AI 페어 프로그래밍 도구로, 대형 언어 모델(LLM)과 협력하여 새로운 프로젝트나 기존 코드베이스에서 생산성과 코드 품질을 향상시킵니다.

추천AI 코딩 어시스턴트

Devin은 개발자가 더 나은 소프트웨어를 보다 효율적으로 구축할 수 있도록 돕는 AI 코딩 에이전트입니다. 이는 진지한 엔지니어링 팀의 생산성을 향상시키기 위해 병렬 클라우드 에이전트를 활용합니다.

추천AI 코딩 어시스턴트

AI 에이전트

ChatGPT의 Codex는 AI 코딩 에이전트를 제공하여 소프트웨어 엔지니어링을 향상시키고 팀이 더 빠르게 구축할 수 있도록 돕습니다. 풀 리퀘스트, 코드 리뷰 등과 같은 작업을 자동화하여 엔지니어가 복잡한 문제에 집중하고 전반적인 생산성을 향상시킬 수 있도록 합니다.

추천AI 코딩 어시스턴트

Goose는 사용자가 모든 LLM을 설치, 실행, 편집 및 테스트할 수 있도록 하여 코딩을 향상시키는 오픈 소스 확장 가능한 AI 에이전트로, 고급 코드 제안을 원하는 개발자에게 다재다능한 도구를 제공합니다.

추천AI 코딩 어시스턴트

AI 에이전트

SWE-agent는 GitHub 문제 해결 및 사이버 보안 취약점 발견과 같은 작업을 위해 자율적으로 도구를 사용하도록 설계된 AI 에이전트입니다. 연구원들이 구축했으며 GPT-4o 및 Claude Sonnet 4와 같은 언어 모델을 활용합니다. 더 단순하고 유연한 버전인 Mini-SWE-Agent가 SWE-agent를…

AI 코딩 어시스턴트

AI 에이전트

Devin Desktop은 로컬 및 클라우드 AI 코딩 에이전트를 관리하는 명령 센터입니다. 편집기에서 직접 코드를 계획, 위임, 검토 및 배포할 수 있습니다. 디버깅 도구를 갖춘 완전한 IDE 경험을 제공하여 개발자를 위한 원활한 협업과 효율적인 에이전트 관리를 가능하게 합니다.

AI 코딩 어시스턴트

AI 에이전트

OpenHands는 엔지니어링 작업을 안전하고 투명하게 자동화하는 클라우드 코딩 에이전트를 위한 오픈 소스, 모델 비종속 플랫폼입니다. 이 플랫폼은 팀이 코딩 에이전트와 워크플로우를 완벽하게 제어하면서 더 빠르게 구축할 수 있도록 합니다.

추천AI 에이전트 빌더