AICodeBot은 코딩 생활을 더 쉽게 만들기 위해 설계된 터미널 기반 코딩 도우미입니다. 이를 페어 프로그래머의 AI 버전이라고 생각하십시오. 코드 검토를 수행하고, 유용한 커밋 메시지를 만들고, 문제를 디버깅하고, 새로운 기능 구축을 통해 생각해 볼 수 있도록 도와드립니다. 개발 속도를 가속화하고 더 나은 코드를 작성하도록 돕는 팀원입니다.
우리는 AICodeBot과 상호작용하기 위해 다양한 인터페이스를 구축할 계획을 세웠습니다. 시작하려면 터미널에 설치하고 실행할 수 있는 명령줄 도구와 코드 검토를 위한 GitHub 작업이 필요합니다.
상태: 이 프로젝트는 AI Coding Assistant가 등장하기 전에 구축되었습니다. ? 따라서 대부분의 기능이 다양한 IDE에 복제되었습니다. AICodeBot이 빛나는 곳은 a) GUI가 아닌 터미널에 있고 b) GitHub 작업과 같은 프로세스에서 사용할 수 있다는 것입니다.
우리는 AICodeBot을 사용하여 AICodeBot을 구축하고 있으며 항상 상승세를 보이고 있습니다.️ 우리는 이를 구축하는 데 도움을 줄 수 있는 기여자를 찾고 있습니다. 자세한 내용은 기여를 참조하세요.
일 | 상태 |
---|---|
품질 커밋 메시지 생성 | ✅ |
페어 프로그래머로서 작업을 통해 생각하기 | ✅ |
적은 수의 파일로 코딩 | ✅ |
디버깅 | ✅ |
코드 리뷰 수행 | ✅ |
코드 설명 | ✅ |
테스트 작성 | ✅ |
GitHub와 통합 | ✅ |
로컬 파일 수정 | 초기 단계 |
인터넷에서 답을 검색하는 중 | 진행 중 |
도서관 문서 읽기 | 초기 단계 |
많은 수의 파일로 코딩하기 | LM이 더 큰 토큰 한도를 가지게 되면서 |
수석 개발자 수준 코드 작성 | 결국 |
주요 리팩터링 | 결국 |
전체 앱 구축 | 결국 |
개발자 교체 | 아니요 |
aicodebot sidekick
AI 기반 코딩 도우미. 상황 인식 제안 및 솔루션을 제공하여 코딩 작업에 도움을 주도록 설계되었습니다. 상황에 맞게 로컬 저장소를 읽을 수 있는 기능을 갖춘 ChatGPT를 생각해 보세요.
기본적으로 현재 작업 디렉터리의 파일 디렉터리를 전달하며, 작업 중인 작업의 컨텍스트로 사용할 파일 목록을 전달할 수도 있습니다. 예를 들어:
aicodebot sidekick file1.py file2.py
이 예에서 사이드킥은 file1.py 및 file2.py의 내용을 읽고 이를 사용하여 상황 인식 답변을 제공합니다.
전문가 팁:
이 기능은 현재 초기 단계이지만 이미 유용합니다. GitHub 통합, 저장소별 도메인 지식 수집, 로컬 파일 작성 등을 포함하여 조수가 사용할 수 있는 도구에 대한 지원을 추가할 예정입니다. 지금은 파일을 읽고 제안만 제공합니다.
aicodebot commit
git 커밋 프로세스를 개선합니다. 구문을 확인한 다음 변경 사항을 기반으로 커밋 메시지를 생성하기 위해 사전 커밋을 실행합니다. 커밋 메시지에 "버그 수정"을 입력하는 것만큼 노력하면 변경 사항을 철저하게 설명하는 고품질 커밋 메시지를 얻을 수 있습니다.
aicodebot review
코드에 대한 코드 검토를 실행하고 개선 사항을 제안합니다. 기본적으로 [비]단계 변경 사항을 살펴보며 검토할 특정 커밋 해시를 제공할 수도 있습니다. 그것의 목표는 코드를 더 좋게 만드는 방법을 제안하는 것이며, 우리는 그것이 종종 코드에 대한 새로운 것을 가르쳐주고 우리를 더 나은 프로그래머로 만든다는 것을 발견했습니다. 이는 코드에 두 번째 로봇 눈 세트를 추가할 수 있는 좋은 방법입니다.
aicodebot debug $command
$command를 실행하고 로그 출력을 캡처합니다. 오류 메시지, 스택 추적, 명령 출력 등을 AI에 전달하고 수정 방법에 대한 몇 가지 제안으로 응답합니다.
AICodeBot을 설치하려면 다음을 실행하세요.
pip install aicodebot
그런 다음 aicodebot configure
실행하여 시작하세요.
Usage: aicodebot [OPTIONS] COMMAND [ARGS]...
Options:
-V, --version Show the version and exit.
-h, --help Show this message and exit.
-d, --debug Enable langchain debug output
Commands:
alignment A message from AICodeBot about AI Alignment ❤ + ?.
commit Generate a commit message based on your changes.
configure Create or update the configuration file
debug Run a command and debug the output.
review Do a code review, with [un]staged changes, or a...
sidekick Coding help from your AI sidekick
AICodeBot은 Anthropic의 Claude 3.x 및 OpenAI의 GPT-3/4x를 포함한 여러 대형 언어 모델을 지원합니다. Gemini 또는 Ollama에 대한 Pull 요청은 환영하지만 이 두 가지가 효과가 있다고 생각합니다.
AICodeBot을 처음 실행하면 API 키를 입력하라는 메시지가 표시됩니다.
모든 커밋에 대한 자동화된 코드 검토는 어떻습니까? 저장소에서 AICodeBot을 GitHub 작업으로 실행하도록 할 수 있습니다. 코드 검토는 AICodeBot GitHub 작업을 참조하세요. 모든 커밋과 풀 요청을 살펴본 후 다음 중 하나를 수행합니다.
aicodebot debug $command
사용해 보세요. pip install aicodebot
사용하여 Python 패키지로 설치할 수 있습니다. aicodebot alignment
사용해 보세요. 기술 자체는 비도덕적입니다. 그것은 단지 그것을 창조하는 사람들의 가치에 영향을 미칠 뿐입니다. 우리는 AI가 인류와 조화를 이루는 방식으로 구축되어야 한다고 믿으며, 우리가 그렇게 할 수 있도록 AICodeBot을 구축하고 있습니다. 우리는 마음 중심의 공간을 구축하고 AI와 인류의 건강한 교차점에 기여하고 있습니다.
aicodebot
은 개발자를 위한 도구이지 개발자를 대체하는 도구가 아닙니다. 그것이 당신의 직업을 대체할 수는 없지만 당신의 직업을 더 쉽고 재미있게 만들어 줄 것입니다. 그것이 세상을 장악하지는 못하겠지만, 우리가 더 나은 세상을 만드는 데 도움이 될 것입니다. 자세한 내용은 아래 정렬 섹션을 참조하세요.
또한 잘 구성된 프롬프트를 사용하여 사용자를 위한 비계를 구축하는 "5분 안에 사이트 구축" 도구도 아닙니다. 이를 위한 다른 도구가 있습니다. 코드가 없는 플랫폼은 아닙니다. 대신 AICodeBot은 기존 코드베이스 및 git-commit 수준과 작동하도록 구축되었습니다. 유능한 엔지니어의 효율성을 배가하도록 설계되었습니다.
다른 모델을 지정하려면 $HOME/.aicodebot.yaml
파일에서 language_model
설정하면 됩니다. 예를 들어:
openai_api_key : sk-*****
language_model : gpt-3.5-turbo
personality : Stewie
version : 1.3
OpenAI의 GPT-4와 같은 AI 모델에서 "토큰"은 문자만큼 짧거나 단어만큼 긴 텍스트 조각입니다. 입력 및 출력을 포함하여 API 호출의 총 토큰은 비용, 시간 및 최대 한도에 따른 호출 작동 여부에 영향을 미칩니다.
각 모델에는 최대 토큰 한도가 있습니다. 예를 들어 GPT-3.5의 토큰 제한은 4096개이고 GPT-4의 토큰 제한은 8192개입니다. 대화가 이 제한을 초과하는 경우 텍스트가 들어갈 때까지 텍스트를 줄여야 합니다.
상황에 맞게 파일을 전달할 수 있는 AICodeBot의 Sidekick 명령과 같은 명령을 사용할 때 토큰을 효과적으로 관리하는 것이 중요합니다. 토큰 제한으로 인해 전체 코드베이스를 로드하는 것은 불가능합니다. 대신, 현재 작업 중인 작업과 관련된 특정 파일만 로드해야 합니다. 이를 통해 AI 모델이 귀하의 요청을 효율적으로 처리하고 현재 작업에 가장 관련성이 높은 제안을 제공할 수 있습니다.
작업을 위해 더 큰 컨텍스트 창이 필요합니까? 토큰 한도에 도달했는데 이와 같은 메시지가 표시됩니까?
The context is too large (21414) for any of the models supported by your API key. ?
다음과 같은 몇 가지 작업을 수행할 수 있습니다.
우리는 당신의 도움을 원합니다! 기여하는 데 관심이 있다면 시작하는 방법은 다음과 같습니다. 자세한 내용은 기여를 참조하세요.
이미 추가된 현재 작업 디렉토리에 변경 사항이 있다고 가정합니다.
docker build -t aicodebot .
docker run -v ~ /.aicodebot.yaml:/home/user/.aicodebot.yaml -v .:/app aicodebot commit -y