Skip to content

Latest commit

 

History

History
209 lines (164 loc) · 15.9 KB

README-Korean.md

File metadata and controls

209 lines (164 loc) · 15.9 KB

Communicative Agents for Software Development

【English | Chinese | Japanese | Korean | Filipino | French | Slovak | Portuguese | Spanish | Dutch | Turkish | Hindi | Bahasa Indonesia | Russian | Urdu

【📚 Wiki | 🚀 Visualizer | 👥 Community Built Software | 🔧 Customization | 👾 Discord

📖 개요

  • ChatDev는 다양한 최고 경영 책임자 , 최고 생산 책임자 , 최고 기술 책임자 , 프로그래머 , 리뷰어 , 테스터 , 아트 디자이너 와 같은 다양한 역할을 수행하는 지능형 에이전트들을 통해 운영되는 가상 소프트웨어 회사입니다. 여럿이서 조직 구조를 형성하고 "프로그래밍을 통해 디지털 세상을 혁신한다"는 사명을 가지고 있습니다. ChatDev 내 에이전트들은 디자인, 코딩, 테스트, 문서화를 진행하는 전문 기능 세미나에 참여하여 협업합니다.
  • ChatDev의 주요 목표는 사용하기 쉽고, 개조할 수 있으며, 확장 가능한 프레임워크를 제공하는 것입니다. 대규모 언어 모델(LLM)을 기반으로 하며 집단 지성을 연구하는 데 이상적인 시나리오를 제공합니다.

📰 뉴스

  • 2024년 6월 25일: 🎉ChatDev 팀은LLM 기반의 다중 에이전트 협업🤖🤖 및 관련 분야의 발전을 도모하기 위해, 오픈소스 대화형 e-book📚 형식으로 제공되는 중요한 논문 모음📄을 선별했습니다. 이제 Ebook 웹사이트에서 최신 발전 사항을 탐색하고 논문 목록을 다운로드할 수 있습니다.

  • 2024년 6월 12일: 언어 상호 작용을 통한 에이전트 간의 효과적인 작업 지향 협업을 용이하게 하기 위해 방향 비순환 그래프를 활용하는 다중 에이전트 협업 네트워크(MacNet) 🎉을 소개합니다. MacNet은 컨텍스트 제한을 초과하지 않고 다양한 위상과 천 개 이상의 에이전트 간 협력을 지원합니다. 보다 다용도적이고 확장 가능한 MacNet은 ChatDev의 체인 모양 토폴로지의 보다 고급 버전으로 간주될 수 있습니다. 사전 인쇄 논문은 https://arxiv.org/abs/2406.07155 에서 제공됩니다. 이 기술은 곧 이 저장소에 통합되어 다양한 조직 구조에 대한 지원을 강화하고 소프트웨어 개발(예: 논리 추론, 데이터 분석, 스토리 생성 등)을 넘어 더 풍부한 솔루션을 제공할 것입니다.

오래된 뉴스
  • 2024년 5월 7일, 강사와 보조 에이전트에 단축된 경험을 향상시켜 새로운 작업에 효율적으로 적응하는 새로운 방법인 "Iterative Experience Refinement"(IER)(반복적 경험 개선)을 소개합니다. 이 접근 방식은 일련의 작업들에서 경험, 활용, 전달 및 제거를 포함합니다. 사전 인쇄 논문은 https://arxiv.org/abs/2405.04219 에서 제공되며 이 기술은 곧 ChatDev에 통합될 예정입니다.

  • 2024년 1월 25일: ChatDev에 체혐형 공동학습 모듈을 통합하였습니다. 체험형 공동학습 가이드를 확인하세요.

  • 2023년 12월 28일: 강사와 보조 에이전트가 단축형 경험을 축적하여 새로운 작업을 효과적으로 해결하고 반복적인 오류를 줄이고 효율성을 향상시키는 혁신적인 접근 방식인 Experience Co-Learning을 소개합니다. 사전 인쇄된 논문은 https://arxiv.org/abs/2312.17025 에서 확인할 수 있고, 곧 ChatDev에 통합될 것입니다.

  • 2023년 11월 15일: 소프트웨어 개발자와 혁신적인 기업가들이 매우 저렴한 비용과 진입 장벽으로 소프트웨어를 효율적으로 구축할 수 있도록 하는 SaaS 플랫폼으로 ChatDev를 출시했습니다. https://chatdev.modelbest.cn/ 에서 시도하세요.

  • 2023년 11월 2일: ChatDev는 에이전트가 기존 코드를 기반으로 개발할 수 있는 새로운 기능을 지원합니다. --config "incremental" --path "path "[source_code_directory_path]"를 시도하세요.

  • 2023년 10월 26일: ChatDev는 ManindraDeMel의 기여 덕분에 Docker를 지원합니다. 도커 시작 가이드를 참조하세요.

  • 2023년 9월 25일: Git 모드가 출시되었으며, 프로그래머 가 Git 버전 제어를 사용할 수 있습니다. 이 기능을 사용하려면 ChatChainConfig.json 에서 "git_management""True" 로 설정해야 합니다 . 가이드를 참조하세요.

  • 2023년 9월 20일: Human-Agent-Interaction 모드가 출시되었습니다! 검토자 역할을 수행하고 프로그래머에게 제안하여 ChatDev 팀에 참여할 수 있습니다; python3 run.py --task [description_of_your_idea] --config "Human". 가이드예제를 참조하세요.

  • 2023년 9월 1일: Art 모드가 출시되었습니다! 디자이너 에이전트를 활성화하여 소프트웨어에서 사용되는 이미지를 생성해보세요; python3 run.py --task [description_of_your_idea] --config "Art". 가이드예제를 참조하세요.
  • 2023년 8월 28일: 시스템이 공개되었습니다.
  • 2023년 8월 17일: V1.0.0 버전 출시 준비가 완료되었습니다.
  • 2023년 7월 30일: 사용자가 ChatChain, Phase 및 Role을 설정할 수 있습니다. 또한, Online Log 모드와 Replay 모드가 지원됩니다.
  • 2023년 7월 16일: 이 프로젝트와 관련된 출판 전 논문이 게시되었습니다.
  • 2023년 6월 30일: ChatDev 리포지토리의 초기 버전이 공개되었습니다.

❓ ChatDev는 무엇을 할 수 있나요?

intro

demo.mp4

⚡️ 시작하기

💻️ 웹을 이용하여 시작하기

시각화와 구성을 위한 웹 페이지 접근: https://chatdev.modelbest.cn/

🖥️ 터미널을 이용하여 시작하기

시작하려면 다음 단계를 따르세요:

  1. GitHub 리포지터리 복제: 다음 명령을 사용하여 리포지토리를 복제하세요:
    git clone https://github.com/OpenBMB/ChatDev.git
    
  2. Python 환경 설정하기: Python 환경이 버전 3.9 이상인지 확인하세요. 그렇다면 가상 환경을 생성하고 활성화할 수 있으며, ChatDev_conda_env는 원하는 이름으로 대체해도 무방합니다:
    conda create -n ChatDev_conda_env python=3.9 -y
    conda activate ChatDev_conda_env
    
  3. 종속성 설치: ChatDev 디렉토리로 이동하여 필요한 종속성을 설치하세요:
    cd ChatDev
    pip3 install -r requirements.txt
    
  4. OpenAI API 키 설정: OpenAI API 키를 환경 변수로 내보내세요. "your_OpenAI_API_key"를 실제 API 키로 바꿔야 합니다. 이 환경 변수는 세션별로 다르므로 새 터미널 세션을 열면 다시 설정해야 한다는 점을 기억하세요. 유닉스/리눅스의 경우:
    export OPENAI_API_KEY="your_OpenAI_API_key"
    
    Windows의 경우:
    $env:OPENAI_API_KEY="your_OpenAI_API_key"
    
  5. 소프트웨어 빌드하기: 소프트웨어 빌드를 시작하기 위해 [description_of_your_idea]를 아이디어의 설명으로, [project_name]을 원하는 프로젝트 이름으로 바꾸세요: 유닉스/리눅스의 경우:
    python3 run.py --task "[description_of_your_idea]" --name "[project_name]"
    
    Windows의 경우:
    python run.py --task "[description_of_your_idea]" --name "[project_name]"
    
  6. 소프트웨어 실행하기: project_name_DefaultOrganization_timestamp와 같은 특정 프로젝트 폴더 아래의 WareHouse 디렉토리에서 생성된 소프트웨어를 찾을 수 있습니다. 해당 디렉토리 내에서 다음과 같이 소프트웨어를 실행하세요: 유닉스/리눅스의 경우:
    cd WareHouse/project_name_DefaultOrganization_timestamp
    python3 main.py
    
    Windows의 경우:
    cd WareHouse/project_name_DefaultOrganization_timestamp
    python main.py
    

🐳 도커를 이용하여 시작하기

✨️ 심화 스킬

위키에서 아래 더 자세한 정보를 확인할 수 있습니다:

  • 모든 명령 실행 매개변수에 대한 소개
  • 더 보기 좋게 시각화된 로그, 다시보기 데모, 간단한 ChatChain 시각화 도구가 포함된 로컬 웹 데모를 설정하는 방법에 대한 간단한 가이드
  • ChatDev 프레임워크에 대한 개요
  • ChatChain 구성의 모든 고급 매개변수에 대한 포괄적인 소개
  • ChatDev 개조 가이드:
    • ChatChain: DemandAnalysis (수요분석) -> Coding (코딩) -> Testing (테스트) -> Manual (매뉴얼)과 같은 소프트웨어 개발 프로세스(또는 다른 프로세스)를 직접 설계하세요.
    • Phase: ChatChain 내에서 수요분석과 같은 자신만의 단계를 설계하세요.
    • Role: Chief Executive Officier (최고 경영자)와 같이 회사 내 다양한 에이전트를 정의합니다.

🤗 소프트웨어를 공유하세요!

코드: 오픈소스 프로젝트에 관심을 가져주셔서 감사합니다. 문제가 발견되면 주저하지 마시고 신고해 주세요. 궁금한 점이 있거나 여러분의 작업을 공유할 준비가 되었다면 얼마든지 PR을 작성해 주세요! 여러분의 기여는 매우 소중합니다. 도움이 필요한 사항이 있으면 언제든지 알려주세요!

회사: 당신만의 맞춤형 "ChatDev 회사"를 쉽게 만들 수 있습니다. 이 맞춤형 설정에는 세 가지 간단한 구성 JSON 파일이 포함됩니다. CompanyConfig/Default 디렉토리에 제공된 예제를 확인하세요. 맞춤화에 대한 자세한 지침은 위키를 참조하세요.

소프트웨어: ChatDev를 사용하여 소프트웨어를 개발할 때마다 모든 필수 정보가 포함된 해당 폴더가 생성됩니다. PR을 작성하는 것만큼이나 간단하게 작업을 공유할 수 있습니다. 예를 들어, python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default"라는 명령을 실행합니다. 이렇게 하면 소프트웨어 패키지가 생성되고 /WareHouse/2048_THUNLP_timestamp라는 폴더가 생성됩니다. 그 안에는 다음과 같은 파일들이 있습니다:

  • 2048 게임 소프트웨어와 관련된 모든 파일 및 문서
  • CompanyConfig/Default에서 가져온 3개의 JSON을 포함한, 소프트웨어를 담당하는 이 회사의 구성 파일들
  • 다시보기에서 소프트웨어의 빌드 프로세스를 자세히 설명하는 포괄적인 로그(timestamp.log)
  • 이 소프트웨어를 만드는 데 사용된 초기 프롬프트(2048.prompt)

커뮤니티에서 기여한 소프트웨어를 보려면 여기를 참조해주세요!

👨‍💻‍ 기여자

Made with contrib.rocks.

📑 인용 문구

@article{chatdev,
      title = {ChatDev: Communicative Agents for Software Development},
      author = {Chen Qian and Wei Liu and Hongzhang Liu and Nuo Chen and Yufan Dang and Jiahao Li and Cheng Yang and Weize Chen and Yusheng Su and Xin Cong and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
      journal = {arXiv preprint arXiv:2307.07924},
      url = {https://arxiv.org/abs/2307.07924},
      year = {2023}
}

⚖️ 라이선스

  • 소스코드 라이선스: ChatDev의 소스코드는 아파치 2.0 라이선스가 부여되어 있습니다. 아파치 2.0 라이선스에 명시된 특정 조건에 따라 코드의 사용, 수정 및 배포를 허용합니다.
  • 데이터 라이선스: ChatDev에 사용되는 관련 데이터는 CC BY-NC 4.0라이선스가 부여되어 있습니다. 이 라이선스는 데이터의 비상업적 사용을 명시적으로 허용합니다. 이러한 데이터 세트를 사용하여 훈련된 모든 모델은 비상업적 사용 제한을 철저히 준수해야 하며 연구 목적으로만 사용되어야 한다는 점을 강조하고 싶습니다.

🤝 감사의 말

        

연락처

질문, 피드백 또는 저희와 연락을 원하시면 언제든지 이메일로 연락 주십시오: [email protected]