阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

我通常會同時處理多個專案,這可能會變得難以管理。結果,我更快地感到倦怠。

因此,我尋找能讓我更有效地發送程式碼並更快完成任務的工具。

我一直在尋找具有以下功能的解決方案:

  • 開源:提供透明度和根據需要進行修改的能力。

  • LLM 不可知論:支援使用任何 LLM,無論是開源的還是專有的。

  • 程式碼沙箱:它允許我選擇各種程式碼執行環境,例如主機、Docker 或雲端託管服務。

  • 可擴展:支援加入自訂集成,例如 Notion 和 Slack,以最大限度地提高效率。

當然,第一個讓我印象深刻的是德文。然而,Devin 既不是開源的,也不是公開可用的(目前)。

因此,我進一步挖掘並找到了這些開源替代方案。我已經嘗試過所有這些,這是我與他們合作的經驗。

放手吧 GIF

請隨意為儲存庫加註星標,並為您更喜歡的儲存庫做出貢獻。


Composio 👑 - 建置和自訂代理程式速度提高 10 倍

我已經使用並貢獻了一段時間,它是建立可自訂人工智慧代理的最直接的平台。它符合我正在尋找的所有標準。

Composio 有一個名為SweKit的模板框架。它可以讓您建立完全適合您選擇的人工智慧代理。

以下是 Composio SweKit 的優點和缺點

優點

  • LLM 不可知論:您可以將其與您選擇的任何 LLM 一起使用,例如 OpenAI、Anthropic 或透過 Groq 的 Llama 3.1...

  • 與框架無關:使用您選擇的任何人工智慧框架,例如 LangChain、LlamaIndex 等。

  • 可自訂:您可以新增您選擇的任何工具或應用程式,例如 Tavily、GitHub、Discord、日曆等。

  • 多語言支援:在您方便的時候使用 Python 或 Javascript/Typescript。

  • 靈活的程式碼沙箱:使用 Docker 或 E2B 和 FlyIo 等雲端託管服務的沙箱程式碼。

缺點

  • 無前端:它沒有專用的前端。您必須從終端管理它。

  • DIY :您必須自行自訂代理商才能充分利用它。

如果您正在尋找快速解決方案,他們有一個 GitHub SWE 代理,可以自動解決 GitHub 問題。過去幾天我一直在大量使用它。

透過安裝以下程式庫開始使用 SweKit GitHub Agent。

pnpm install -g composio-core

連結 GitHub 帳戶。

export GITHUB_ACCESS_TOKEN=<github_access_token>

從 GitHub 克隆模板。

git clone https://github.com/ComposioHQ/swe-js-template.git swe-js

安裝其餘的依賴項。

cd swe-js && pnpm i

執行 SWE 代理程式。

pnpm start

提供所需的資訊並讓代理商完成其工作。

有關完整程式碼,請檢查儲存庫。另外,請查看Python 範例

gif 組合

{% cta https://dub.composio.dev/ailist %}為 Composio 儲存庫加註星標 ⭐{% endcta %}


OpenDevin - 開源 Devin

第一個實現與 Devin 類似效能指標的開源替代方案。它是一個由人工智慧和法學碩士支援的自主軟體工程師平台。

OpenDevin 代理程式與人類開發人員一起編寫程式碼、修復錯誤和部署功能。

以下是 OpenDevin 的優點和缺點

優點

  • 成熟:它已經存在了一段時間,所以它的程式碼庫和社群已經比較成熟。

  • 前端:它有一個專用的前端。與代理商互動方便。

  • 性能:它在 SWE 基準測試中的表現與 Devin 相當。

缺點

  • 不可自訂:無法新增工具和應用程式來擴展代理程式的可用性。

  • 不可組合:您無法建立針對您的特定用例量身定制的代理程式。

若要使用 OpenDevin,請安裝 Docker 並執行下列命令。

WORKSPACE_BASE=$(pwd)/workspace
docker run -it \
    --pull=always \
    -e SANDBOX_USER_ID=$(id -u) \
    -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \
    -v $WORKSPACE_BASE:/opt/workspace_base \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name opendevin-app-$(date +%Y%m%d%H%M%S) \
    ghcr.io/opendevin/opendevin:0.8

這將從 Docker 註冊表中提取 OpenDevin 映像並在 localhost:3000 上執行該應用程式。

有關更多訊息,請查看他們的官方存儲庫

開放德文 GIF

{% cta https://github.com/OpenDevin/OpenDevin %}為 OpenDevin 儲存庫加註星標 ⭐{% endcta %}


3.幫助-AI結對編程

如果您正在尋找結對程式設計師來幫助您更快地交付程式碼,那麼這是完美的選擇。

Aider 可讓您將程式與 LLM 配對,以編輯本機 GitHub 儲存庫中的程式碼。您可以啟動新專案或使用現有的 GitHub 儲存庫。

以下是 Aider 的優點和缺點。

優點

  • LLM 不可知論者:您可以使用您選擇的任何 LLM,包括 OpenAI、Claude 和 Llama。

  • 程式碼效率:可與GitHub倉庫高效協作,新增功能、修復bug、編寫測試等。

缺點

  • 不可自訂:您無法針對任何特定用例自訂代理程式。

  • 無前端:它沒有專用前端,因此您必須從終端對其進行管理。

您可以像這樣快速開始:

pip install aider-chat

# Change directory into a git repo
cd /to/your/git/repo

# Work with Claude 3.5 Sonnet on your repo
export ANTHROPIC_API_KEY=your-key-goes-here
aider

# Work with GPT-4o on your repo
export OPENAI_API_KEY=your-key-goes-here
aider

有關更多詳細訊息,請參閱安裝說明和其他文件

幫助 GIF

{% cta https://github.com/paul-gauthier/aider %}為 Aider 儲存庫加註星標 ⭐{% endcta %}


  1. Devon - 開源 Devin 替代品

Devin 的另一個開源複製品。 Devon 可以探索程式碼庫、編寫功能、修復錯誤和編寫測試。

以下是德文郡的優點和缺點。

優點

  • LLM 不可知論:它可以與 GPT 和 Claude 模型以及 Groq 和 Ollama 一起使用。

  • 程式碼效率:它可以探索儲存庫、新增功能、修復錯誤、編寫測試和設定檔等。

缺點

  • 非 Python 語言的功能有限。

  • 對於硬核用例來說,它可能並不理想。

  • 它缺乏擴展代理能力的客製化。

若要開始使用 Devon,請執行下列指令。

# Step 1: Ensure the directory where pipx stores apps are in your PATH environment variable
pipx ensurepath

# Step 2: For the backend
pipx install devon_agent

# Step 3: For the main UI (install and run)
npx devon-ui

執行主 UI。

npx devon-ui

你就完成了。

有關更多訊息,請查看他們的存儲庫

德文郡 GIF

{% cta https://github.com/entropy-research/Devon %}為 Devon 儲存庫加註星標 ⭐{% endcta %}


  1. 謊言

Mentat 是一款人工智慧工具,旨在幫助您直接從命令列完成任何編碼任務。

與 Copilot 不同,Mentat 協調多個位置和文件的編輯。與 ChatGPT 不同的是,Mentat 已經擁有您專案的上下文 - 無需複製和貼上!

優點

  • 高效能:它可以有效率地理解程式碼庫並進行編輯以加入功能、測試等。

  • LLM 不可知論:它可以使用多個 LLM,包括透過 Ollama 的本地模型。

缺點

  • 無前端:它可以從終端執行。因此,沒有專用的前端。

  • 不可定制:無法根據需要定制代理。

首先,建立一個虛擬環境

# Python 3.10 or higher is required
python3 -m venv .venv
source .venv/bin/activate

那麼有3種安裝方法。前兩個只會讓你執行它:

  • PyPI: python -m pip install mentat

  • Github: python -m pip install git+https://github.com/AbanteAI/mentat.git

如果您還想修改 Mentat 的程式碼並執行它,那麼第三個選項很有用:

git clone https://github.com/AbanteAI/mentat.git
cd mentat

# install with pip in editable mode:
pip install -e .

設定 OPENAI_API_KEY。

export OPENAI_API_KEY=<your key here>

執行 Mentat 代理程式。

mentat <paths to files or directories>

有關更多訊息,請參閱官方存儲庫

提到的 GIF

{% cta https://github.com/AbanteAI/mentat %}為 Mentat 儲存庫加註星標 ⭐{% endcta %}


  1. 自動編碼漫遊器

AutoCodeRover 提供了解決 GitHub 問題的全自動解決方案,包括錯誤修復和功能新增。

透過將 LLM 與高級分析和除錯功能相結合,AutoCodeRover 可以優先考慮補丁位置,以有效地建立和實施補丁。

以下是 Auto Code Rover 的優點和缺點。

優點

  • 高效能:AutoCodeRover 現在解決了 SWE-bench lite 中30.67%的問題 (pass@1)。

  • LLM Agnosti c:它可以與多個 LLM 供應商合作,例如 OpenAI、Anthropic、Groq 等。

缺點

  • 不可自訂:您無法自訂代理程式來擴展其功能。

  • 它有點複雜:它在 Docker 容器中執行,並且設定它比其他容器更複雜一些。

首先,設定 OPENAI_API_KEY 或任何其他相關訊息,

export OPENAI_KEY=sk-YOUR-OPENAI-API-KEY-HERE

建置並啟動 docker 映像:

docker build -f Dockerfile -t acr .
docker run -it -e OPENAI_KEY="${OPENAI_KEY:-OPENAI_API_KEY}" -p 3000:3000 -p 5000:5000 acr

有關更多訊息,請查看他們的官方存儲庫

自動編碼漫遊器 GIF

{% cta https://github.com/nus-apr/auto-code-rover %}為 Auto Code Rover 儲存庫加註星標 ⭐{% endcta %}


7.德維卡

另一個開源 Devin 複製品。它可以將複雜的問題陳述分解並逐步解決。

以下是 Auto Code Rover 的優點和缺點。

優點

  • 有前端:Devika 有一個專門的前端,可以互動地執行代理。

  • 可擴展:它具有可擴展的架構,用於加入新功能和整合。

缺點

  • 該專案似乎已被放棄。

要安裝 Devika,請按照下列步驟操作:

  1. 克隆 Devika 存儲庫:
    git clone https://github.com/stitionai/devika.git
  1. 導航到專案目錄:
    cd devika
  1. 建立虛擬環境並安裝所需的依賴項(您可以使用任何虛擬環境管理器):
    uv venv

    # On macOS and Linux.
    source .venv/bin/activate

    # On Windows.
    .venv\Scripts\activate

    uv pip install -r requirements.txt
  1. 安裝 playwriter 的瀏覽功能:
    playwright install --with-deps # installs browsers in playwright (and their deps) if required
  1. 啟動 Devika 伺服器:
    python devika.py
  1. 如果一切正常,您將看到以下輸出:
    root: INFO   : Devika is up and running!
  1. 現在,對於前端,打開一個新終端並導航到 UI 目錄:
    cd ui/
    bun install
    bun run start
  1. 開啟瀏覽器並導航至http://127.0.0.1:3001來存取 Devika Web 介面

欲了解更多訊息,請存取官方存儲庫

德維卡 GIF

{% cta https://github.com/stitionai/devika %}為 Devika 儲存庫加註星標 ⭐{% endcta %}


8.亞馬遜Q開發人員

儘管這不是開源的,但它絕對值得在這裡佔有一席之地。這是亞馬遜的編碼代理。

這可以說是您現在可以使用的最強大的 SWE 代理。

Amazon Q 產生程式碼、執行測試和偵錯,並擁有多步驟規劃和推理功能,使其能夠根據開發人員的請求轉換和實作新程式碼。

優點

  • 高效能:Q Developer 具有高效能;它在 SWE 板凳上得分最高,解決了 19.75% 的問題。

  • 來自亞馬遜:來自亞馬遜,因此您獲得了亞馬遜的善意。

缺點

  • 已關閉:它不是開源的。

  • 不可自訂:您無法新增其他整合。

  • 供應商鎖定:你必須依賴亞馬遜,它只能在AWS上存取,而且你必須透過AWS服務使用授權的LLM。

欲了解更多訊息,請查看官方頁面

出國留學 GIF


如果您正在使用或知道任何其他可以提高您工作效率的工具。

請在評論中告訴我。


原文出處:https://dev.to/composiodev/ship-code-10x-faster-with-these-open-source-ai-tools-1i0o


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈