从零后训练 Qwen3-4B 工具调用 agent:66MB LoRA 跑在 Mac 上,验证分 0.51→0.83
DesignerIsland5524 · reddit · 2026-10-29
Reddit 用户 shoumikgoswami 发布 Tadpole:纯 Python 约 3500 行从零写的工具调用 agent(不用 LangChain),对 Qwen3-4B 做逐阶段后训练,适配器以 66MB llama.cpp LoRA 形式在 16GB Mac 上运行,每次模型调用约 2.4 秒,日常作为 Telegram bot 使用。全部开源(GitHub + HF),总训练成本约 140 美元租用 GPU。
关键结果(144 任务验证集 + 留出集,vLLM bf16)
- Base 0.419 / 留出难集 0.275 / BFCL 多轮 0.360
- SFT-1(验证过的教师轨迹 + When2Call + Toucan):测试 0.774
- SFT-2(加多轮演示):难集最高 0.492
- EI-3(SFT-2 + 3 轮专家迭代):BFCL 多轮最高 0.395
- llama.cpp Q80+LoRA 本地路线几乎无损:0.507→0.826
经验教训
- SFT 用验证过的轨迹是最大提升:420 次运行中虚假「我完成了」从 31 次降到 1 次
- 专家迭代在验证集漂亮(0.752→0.852)但留出集与起点持平——多组噪声验证分取最优会向上偏
- 相同 rollout 预算下 GRPO 全面输给专家迭代:4B 模型每步通过/失败样本并存的任务太少
- 一个 updateplan 计划工具就能把 base 模型从 0.507 提到 0.646
- 坑:llama.cpp 对不存在的 LoRA 路径不报错,首次解码才段错误
诚实声明:基准是模拟训练数据的生成任务;调优后的 4B 对开放式请求仍弱,日常 bot 实际跑在 DeepSeek 上,4B 用来研究和训练。
「编程与Agent」频道最新
- AI 工程师被低估的核心技能:从错误分析到分层评测集的实操方法论 — sudoraohacker · 2026-10-29
- Claude 5.5 当视频编辑器深度实测:31K 播放 short 是这么剪出来的 — aakashgupta · 2026-10-29
- 作者晒 40 小时经验:用 Claude Code 自动剪视频, shorts 播放量破万 — aakashgupta · 2026-10-29
- 用「行为测试」快速读懂 PR:绿行是新增,红行是改动 — samgoodwin89 · 2026-10-29
- 10 人公司 AI token 开销达薪酬 30 倍,spawn 分享 agent-first 实践 — Scobleizer · 2026-10-29
- SQL 藏进字符串字面量即可绕过 LLM 门控,schemagate 1.15.1 修复 — Temporary_Papaya1058 · 2026-10-29