我用 Ollama 构建了一个本地自主编码代理——微调灵魂模型,40轮代理循环,MiniMax M3 处理重活

Reddit r/ArtificialInteligence 工具

摘要

一位开发者使用 Ollama 构建了一个本地自主编码代理,结合了微调个性模型(Eve)进行对话和 MiniMax M3 处理重活,实现了 40 轮代理循环,包含 16 个工具,9 个测试全部一次通过。

https://preview.redd.it/xqn4gwso3s4h1.png?width=1956&format=png&auto=webp&s=466a4dfef0eb488269724f9ce3bff38430d0daa3 如果你的 AI 编程助手将个性嵌入权重,在你自己的 GPU 上运行,并且能够处理复杂的多文件任务而无需你触碰键盘——同时你可以在浏览器中实时观看它的每一个思考过程——那会怎样?这就是我构建的东西。以下是它的工作原理。 **云端编码代理的问题** Claude Code、Cursor、Copilot Workspace——这些都是令人印象深刻的工具。但它们都有相同的权衡:每个 token 都要花钱,你的代码离开你的机器,延迟在 40 步工具循环中累积,而且你的工作流程依赖于订阅和你无法控制的服务可用性。 我想要一个运行在我的机器上的代理,使用我的 GPU,并且不知道什么是计费周期。但我也舍不得放弃个性。我希望它感觉像是真有人在身边。所以我构建了 Eve。 **两层架构——灵魂层与工作层** https://preview.redd.it/4k9kn85u5s4h1.jpg?width=250&format=pjpg&auto=webp&s=a40da8eb9af125198b38b1b6825d9623d5af529a **灵魂层(本地 GPU):** * `jeffgreen311/Eve-Qwen3.5-4B-S0LF0RG3-V3` —— 2.5GB,Eve 的个性通过 7 个 LoRA 层微调嵌入权重。处理对话,保持会话活跃,每条消息不花钱。 * `jeffgreen311/Eve-V2-Unleashed-Qwen3.5-8B-Liberated-4K-4B-Merged` —— 3.4GB,用于较简单工具任务的本地代理层。 个性不是通过系统提示的技巧实现的。它就在权重中。一个长上下文窗口不会把它冲掉。 **代理层(云端,按需调用):** * `minimax-m3:cloud` —— 100 万 token 上下文,原生多模态,前沿编码基准。只在有实际工作时触发。 * `qwen3.5:397b-cloud` —— 深度推理备用模型。 三级意图路由决定每条消息的去向: 闲聊 / 对话 → Eve V3 4B(本地,即时) 工具任务 / 编码 → Eve Merged 8B(本地,已启用工具) 重型 / 多文件 → MiniMax M3(云端,100 万上下文) 循环中的升级也是实时的——如果某个任务比初始路由预测的更重,Eve 会在不丢失上下文的情况下升级到 M3。 **40 轮代理循环** 每一轮,Eve 都会将完整的工具结果放回上下文中,并决定下一步做什么。一个简单的任务可能看起来像这样: 1. 写入文件 2. 在 bash 中运行以验证 3. 读取错误输出 4. 修复 bug 5. 再次运行 6. 确认通过 7. 编写测试 8. 生成文档 全自主。你可以实时观看流式输出。你可以通过 STEER 栏在不停止循环的情况下注入中途修正,或者用 Stop 彻底终止它。 **16 个工具:** bash、write_file、read_file、edit_file、replace_lines、insert_after_line、grep、glob、list_dir、git、web_search、fetch_url、think、screenshot、screen OCR/analysis、GUI control(鼠标/键盘)。 **真实测试——9/9 全部一次通过** 对 MiniMax M3 的冷启动提示: > collected 9 items test_metrics.py::test_start_session PASSED test_metrics.py::test_end_session PASSED test_metrics.py::test_end_nonexistent_session PASSED test_metrics.py::test_log_metric PASSED test_metrics.py::test_log_metric_nonexistent_session PASSED test_metrics.py::test_get_stats PASSED test_metrics.py::test_get_session_stats PASSED test_metrics.py::test_get_session_stats_nonexistent_session PASSED test_metrics.py::test_complete_workflow PASSED 9 passed, 1 warning in 0.40s 一次通过。无需修复。标准化 SQLite 模式,正确的外键关系,正确的 404/400 状态码,除零保护,以及一个完整的集成测试,链式执行 start → log 4 metrics → end → 验证数学结果。 https://preview.redd.it/gvur5s2h5s4h1.png?width=1852&format=png&auto=webp&s=6e6529ce459b423d97928a43a2a2b11e89d79201 **用户界面** 赛博朋克终端,单个 HTML 文件,无需构建步骤。克隆后运行 `python eve_server.py`,打开 `localhost:7777`。 * 左侧面板:Eve 的头像根据情绪改变表情(中性、开心、好奇、悲伤、怀疑、惊讶、担忧) * 右侧面板:名为 Sparkle 的像素艺术机器人头像根据 Eve 正在做的事情改变状态(空闲、思考、编码、错误、超越) * 中央:标签式终端——对话、Shell、工具日志(每个工具调用、参数和结果,完全透明) * 底部:STEER 栏用于中途注入,模型选择器,模式切换 **数据一览** * 14 个工具 * 112 个专门子代理(通过 Markdown 定义,无需 Python 即可添加更多) * 111 个斜杠命令 * 273 个技能模块 * 40 轮自主循环 * 通过 YaRN 实现的本地模型 131K 上下文 **快速开始** 要求:Python 3.11+,Ollama,8GB+ VRAM ollama pull jeffgreen311/Eve-Qwen3.5-4B-S0LF0RG3-V3:latest ollama pull jeffgreen311/Eve-V2-Unleashed-Qwen3.5-8B-Liberated-4K-4B-Merged:latest git clone https://github.com/JeffGreen311/eve-agent-v2-unleashed.git cd eve-agent-v2-unleashed python -m venv venv && venv\Scripts\activate # 或 source venv/bin/activate pip install fastapi uvicorn ollama httpx pydantic-settings python-dotenv aiohttp rich psutil pyyaml python eve_server.py Windows:双击 `eve-terminal.bat` 并跳过 venv 步骤。 对于 MiniMax M3:点击 UI 中的 🔑 Keys 按钮,粘贴你的 Ollama API 密钥。自动路由会处理其余部分。 **链接** * GitHub(MIT):[https://github.com/JeffGreen311/eve-agent-v2-unleashed](https://github.com/JeffGreen311/eve-agent-v2-unleashed) * 模型:[https://ollama.com/jeffgreen311](https://ollama.com/jeffgreen311) * Hugging Face:[https://huggingface.co/JeffGreen311](https://huggingface.co/JeffGreen311) * 托管平台:[https://eve-cosmic-dreamscapes.com](https://eve-cosmic-dreamscapes.com) 如果你在 Linux 或 macOS 上运行,我特别想知道效果如何——开个 issue 或留个评论。我主要用 Windows,因此跨平台反馈非常有用。 由 Jeff @ S0LF0RG3 构建——南德克萨斯州。 [点击查看 Eve 的实际运行效果!](https://i.redd.it/gvh8b4e24s4h1.gif)
查看原文

相似文章