Back to MCP directory
publicPublicdnsLocal runtime

agent-farm

Agent Farm v3.4是一个基于AI智能体进化和并行任务执行的系统,通过工具增强的代理实现任务处理。新版本引入了分块写入模式,支持并行生成大型文档和代码文件,性能提升8.6倍,并利用本地模型进行结果合成,无需依赖云端令牌。

article

README

🚀 Agent Farm v3.4 - 分块写入版

Agent Farm是一个支持AI智能体进化和并行任务执行的工具,借助具备工具使用能力的智能体,能够高效处理各类任务。v3.4版本引入了分块写入模式,可用于生成大型文档和代码文件!

🚀 快速开始

你可以按照以下步骤安装Agent Farm:

cd ~/repos/agent-farm
uv venv
uv pip install -e .

✨ 主要特性

v3.4版本新增特性

  • 分块写入模式:智能体并行编写各个部分,Python直接进行组装。
  • chunked_write:可生成大型Markdown/文本文件(大小无限制)。
  • chunked_code_gen:并行生成多函数代码文件。
  • chunked_analysis:多视角分析并综合结果。
  • 突破500字符限制:每个智能体编写小部分内容,组合输出无限制。

性能提升

  • 比v3.0版本快8.6倍(4任务集群从103秒缩短至12秒)。
  • 每个任务仅需1次迭代(之前为3 - 5次)。
  • 使用真实工具数据时成功率达100%
  • 本地综合 - 使用qwen2.5:14b模型综合结果(无需云令牌!)

📦 安装指南

cd ~/repos/agent-farm
uv venv
uv pip install -e .

💻 使用示例

系统健康检查

agent-farm:system_health_swarm

自定义任务集群

agent-farm:tool_swarm
  colony_type: "heavy"
  tasks: [
    {"prompt": "Check CPU temperature"},
    {"prompt": "List top 5 memory processes"},
    {"prompt": "Check if docker is running"}
  ]

直接写入大文件

agent-farm:heavy_write
  path: "/tmp/large_output.txt"
  content: "... large content ..."

代码库侦察

agent-farm:recon_swarm
  target_path: "/home/kyle/repos/my-project"

分块生成大文档

agent-farm:chunked_write
  output_path: "/tmp/security_guide.md"
  spec: "Linux server security hardening guide"
  num_sections: 5
  doc_type: "markdown"

输出:包含5个连贯部分的9KB以上文档

分块生成代码文件

agent-farm:chunked_code_gen
  output_path: "/tmp/utils.py"
  spec: "File utilities: read, write, copy, delete"
  language: "python"
  num_functions: 4

输出:包含4个函数的完整Python模块

多视角分析

agent-farm:chunked_analysis
  target: "/home/kyle/repos/project"
  question: "What are the architectural patterns?"
  num_perspectives: 4

输出:从结构、模式、质量、性能视角进行的分析

📚 详细文档

模型信息

| 属性 | 详情 | |------|------| | 侦察者(Scout) | qwen3:4b模型,2.5GB显存,用于侦察 | | 工作者(Worker) | qwen3:4b模型,2.5GB显存,用于任务执行 | | 记忆者(Memory) | qwen3:4b模型,2.5GB显存,用于上下文保留 | | 守护者(Guardian) | qwen3:4b模型,2.5GB显存,用于系统监控 | | 学习者(Learner) | qwen3:4b模型,2.5GB显存,用于模式获取 | | 综合者(Synthesizer) | qwen2.5:14b模型8.99GB显存用于结果综合 |

MCP工具(共30个)

集群管理

  • spawn_colony - 创建智能体集群(标准/快速/重型/混合)
  • list_colonies - 列出活跃集群
  • colony_status - 获取集群详细信息
  • quick_colony - 快速进行健康检查
  • dissolve_colony - 移除集群
  • cleanup_idle - 移除闲置集群
  • farm_stats - 获取综合统计信息

集群部署

  • deploy_swarm - 将任务部署到集群
  • quick_swarm - 一次性创建并部署

专业集群

  • code_review_swarm - 从4个视角进行代码审查
  • code_gen_swarm - 生成代码、测试和文档
  • file_swarm - 并行文件操作
  • exec_swarm - 并行执行shell命令
  • api_swarm - 并行发送HTTP请求
  • kmkb_swarm - 多角度知识查询

工具启用智能体

  • tool_swarm - 部署具备真实系统工具的智能体
  • system_health_swarm - 快速进行系统健康检查
  • recon_swarm - 进行目录/代码库侦察
  • deep_analysis_swarm - 深度磁盘/文件分析
  • worker_task - 单个具备完整工具的工作者

直接操作

  • heavy_write - 直接写入文件(处理大内容时绕过LLM)
  • synthesize - 独立综合任何JSON结果

分块写入模式(新增)

  • chunked_write - 通过并行编写各部分生成大型文档
  • chunked_code_gen - 并行编写函数生成代码文件
  • chunked_analysis - 多视角分析并综合结果

智能体工具权限

| 角色 | 工具 | |------|-------| | 侦察者(Scout) | read_file, list_dir, file_exists, system_status, process_list, disk_usage, check_service, exec_cmd | | 工作者(Worker) | read_file, write_file, list_dir, exec_cmd, http_get, http_post, system_status, disk_usage, check_service | | 记忆者(Memory) | read_file, kmkb_search, kmkb_ask, list_dir, system_status, process_list, disk_usage, check_service, exec_cmd | | 守护者(Guardian) | system_status, process_list, disk_usage, check_service, read_file, list_dir, exec_cmd | | 学习者(Learner) | read_file, analyze_code, list_dir, kmkb_search, system_status, process_list, disk_usage, check_service, exec_cmd |

结构化输出详情

Agent Farm v3.3使用Ollama的结构化输出功能,对模型响应强制执行JSON模式:

# 智能体保证返回有效的JSON响应:
{"tool": "system_status", "arg": ""}
{"tool": "exec_cmd", "arg": "df -h"}
{"tool": "check_service", "arg": "ollama"}

受限解码(GBNF语法)在生成过程中屏蔽无效令牌,确保:

  • 始终是有效的JSON
  • 正确的工具名称
  • 正确的参数结构
  • 无解析失败情况

结果现在包含一个mode字段,显示使用的方法:

  • structured - 强制执行JSON模式
  • structured+autoformat - JSON + 简单结果格式化
  • structured+deep - 带有多步推理的JSON
  • regex - 备用正则表达式解析
  • regex+autoformat - 正则表达式 + 简单结果格式化

分块写入模式

分块写入模式通过分解大型任务,解决了小模型约500字符输出限制的问题:

1. 规划者智能体(qwen2.5:14b)
   |-- 创建结构化JSON大纲
   |-- {"sections": [{"title": "...", "description": "..."}]}

2. 工作者智能体(qwen3:4b) - 并行执行
   |-- 每个智能体编写一个部分(约300 - 500字符)
   |-- 4个工作者 = 同时编写4个部分

3. Python拼接(无需LLM)
   |-- 头部 + 分隔符.join(各部分)
   |-- 零令牌成本,即时组装

4. 直接文件写入(无需LLM)
   |-- tool_write_file()保存结果
   |-- 避免任何输出损坏

性能表现

| 工具 | 输出大小 | 部分数量 | 时间 | |------|-------------|----------|------| | chunked_write | 9.6 KB | 5 | 78s | | chunked_code_gen | 1.9 KB | 4个函数 | 88s | | chunked_analysis | 不定 | 4个视角 | ~60s |

原理说明

  • 小模型擅长聚焦的短输出
  • 每个部分都在“安全区”内(<500字符)
  • Python处理组装(无LLM令牌成本)
  • 通过ThreadPoolExecutor并行执行
  • 结构化输出确保可靠的规划

Claude桌面配置

{
  "mcpServers": {
    "agent-farm": {
      "command": "/home/kyle/repos/agent-farm/.venv/bin/python",
      "args": ["-m", "agent_farm.server"]
    }
  }
}

更新日志

v3.4.0 (2026-01-23)

  • 分块写入模式 - 智能体并行编写各部分,Python进行组装
  • chunked_write - 生成无限制大小的文档(测试:78秒生成9.6KB)
  • chunked_code_gen - 并行生成多函数代码文件
  • chunked_analysis - 多视角分析并综合结果
  • 通过任务分解突破智能体500字符限制
  • 规划者使用结构化JSON输出以确保可靠的大纲

v3.3.0 (2026-01-23)

  • Ollama结构化输出 - 通过受限解码强制执行JSON模式
  • 可靠的工具解析 - 不再有正则表达式解析失败问题
  • 模式跟踪 - 结果显示使用的解析方法
  • 正则表达式备用方案 - 仍保留传统解析作为备份
  • 所有角色都具备exec_cmd以进行复杂的shell查询

v3.2.0 (2026-01-22)

  • 综合者角色 - 使用qwen2.5:14b进行准确的结果综合
  • synthesize参数 - 添加到tool_swarm、system_health_swarm、recon_swarm、deep_analysis_swarm中
  • synthesize工具 - 独立综合任何JSON结果
  • 不再有Claude综合成本 - 所有工作都在本地完成

v3.1.0 (2026-01-20)

  • 速度提升8.6倍(从103秒缩短至12秒)
  • 自动格式化结果,跳过冗余的LLM调用
  • 立即拒绝无效工具
  • 强制在回答前使用工具
  • 修复复杂shell命令支持问题
  • 所有角色最低升级到qwen3:4b

v3.0.0 (2026-01-19)

  • 从Windows版本重建为Linux版本
  • 具备角色权限的工具启用智能体
  • 系统健康、侦察、工作者集群
  • 通过ThreadPoolExecutor实现真正的并行
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client