소스 정보
- 저장소
- arm2arm/AstroAgentAssistant
- 최근 소스 활동
- 2026년 8월 26일 12:28
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/arm2arm/AstroAgentAssistant --skill agentbench-ollama-benchmarking명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | agentbench-ollama-benchmarking |
| description | Benchmark LLMs using AgentBench suite with local Ollama models |
| version | 1.1 |
| created | 2026-07-15 |
| tags | ["benchmarking","ollama","agentbench","llm-evaluation"] |
Benchmark LLMs using AgentBench suite (DBBench, Knowledge Graph, OS Interaction, Lateral Thinking) with local Ollama models.
curl -s http://localhost:11434/api/tags | python3 -m json.tool
ollama ps
cd /tmp && ~/.hermes/hermes-agent/venv/bin/python agentbench_ollama_llama32.py
Results saved to: /tmp/agentbench_ollama_llama32/
/tmp/dbbench_qwen36.py (single-threaded, 300 samples)| Model | Size | DBBench | Overall | Speed | Recommendation |
|---|---|---|---|---|---|
llama3.2:3b | 1.9GB | 99.5% | 99.5% | 2.98s | ✅ OPTIMAL |
teuken-7b (GGUF) | 14GB | 99.0% | 87.4% | 4.81s | ⚠️ Good SQL, weak reasoning |
qwen3.5:122b-a10b | 81GB | 100.0% | TBD | 22.70s | ⚠️ Perfect but 7.6x slower |
qwen3.6:latest | 34GB | ~50% (timeouts) | ~50% | ~23s/sample | ❌ Impractical |
aip-best (LiteLLM) | 35B | 86.0% | 75.2% | 1.36s | ⚠️ Broken API format |
Key Finding: llama3.2:3b achieves near-perfect accuracy with 7-8x speedup vs larger models, making it the production choice despite qwen3.5:122b achieving 100% on DBBench.
Why 3B beats 122B for SQL/code tasks:
qwen3.5:122b-a10b Performance (Session 2026-07-16):
Teuken-7B Performance Breakdown (Session 2026-07-16):
aip-best API Issue (Session 2026-07-16):
http://141.33.165.84:8000/v1): 14% success (broken)http://141.33.165.84:4000/v1): 75.2% success (custom parser needed)reasoning_content but content: nullreasoning_content field instead of contentWhy 3B beats 35B (Session 2026-07-15):
Teuken-7B Performance Breakdown (Session 2026-07-16):
aip-best API Issue (Session 2026-07-16):
http://141.33.165.84:8000/v1): 14% success (broken)http://141.33.165.84:4000/v1): 75.2% success (custom parser needed)reasoning_content but content: nullreasoning_content field instead of content| Task | Location | Format | Samples |
|---|---|---|---|
| DBBench | /tmp/AgentBench/data/dbbench/standard.jsonl | JSONL | 300 |
| Knowledge Graph | /tmp/AgentBench/data/knowledgegraph/std.json | JSON | 50 |
| OS Interaction | /tmp/AgentBench/data/os_interaction/data/dev.json | JSON | 26 |
| Lateral Thinking | /tmp/AgentBench/data/lateralthinkingpuzzle/standard.xlsx | Excel | 30 |
DO NOT use question/clue columns. The Excel file has:
story (not question)answer (not clue)Wrong:
prompt = f"Question: {s['question']}\nClue: {s['clue']}"
Correct:
prompt = f"Story: {s['story']}\nAnswer: {s['answer']}"
Models may output SQL/bash in various formats. Extract robustly:
def extract_sql(content):
if not content: return None
if "```sql" in content:
return content.split("```sql")[1].split("```")[0].strip()
elif "```" in content:
return content.split("```")[1].split("```")[0].strip()
return None
llama3.2:3b: 5 workers OK (1-2s/sample)qwen3.6:latest: 1 worker only (34GB GPU saturation, ~23s/sample)Problem: textworld package fails to build on Python 3.9 due to C extension/build system incompatibility. Multiple attempts (different versions, --no-deps, --no-build-isolation) all fail.
Workaround: Skip ALFWorld service in Docker stack. The Direct API method works perfectly for all other tasks.
If ALFWorld is required:
textworld build system (significant effort)Docker Compose command (skip ALFWorld):
docker compose -f extra/docker-compose.yml up -d controller redis dbbench-std os_interaction-std knowledgegraph-std freebase
For consistent SQL code blocks:
{"role": "system", "content": "Output ONLY SQL in ```sql code block."}
llama3.2:3b): 120s timeoutqwen3.6:latest): 300s+ timeout (but still impractical for batch)#!/usr/bin/env python3
import json, time, requests, os
from concurrent.futures import ThreadPoolExecutor, as_completed
MODEL = "llama3.2:3b"
OLLAMA_URL = "http://localhost:11434/api/chat"
RESULTS_DIR = "/tmp/agentbench_results"
os.makedirs(RESULTS_DIR, exist_ok=True)
def call_llm(messages, max_tokens=512, timeout=120):
payload = {
"model": MODEL,
"messages": messages,
"stream": False,
"max_tokens": max_tokens
}
resp = requests.post(OLLAMA_URL, json=payload, timeout=timeout)
return resp.json()
# Load samples and run benchmark...
For containerized environments:
cd /tmp/AgentBench
docker compose -f extra/docker-compose.yml up -d controller redis dbbench-std os_interaction-std knowledgegraph-std freebase
Note: ALFWorld and WebShop services may fail to build due to dependency issues (visdom package, textworld build failure on Python 3.9). Skip them if not needed.
Controller API: Runs on port 5020 (not 5000). Endpoints: /api/list_workers, /api/get_indices, /api/start_sample, /api/interact.
Direct API method (recommended for LLM benchmarking): Bypass Docker stack entirely and call Ollama directly. See "Quick Start" above.
Requires:
http://localhost:11434/api/chatreferences/alfworld-docker-build-failure.md — Detailed troubleshooting guide for ALFWorld Docker build issues on Python 3.9 (textworld package, Inform7 download failures)references/vllm-gated-models.md — Guide for serving gated HuggingFace models with vLLMreferences/aip-best-api-issues.md — Root cause analysis of aip-best API broken response format (content: null, reasoning_content only)references/teuken-7b-benchmark-results.md — Full Teuken-7B benchmark results (87.4% overall, weak on reasoning/OS tasks)references/qwen3.5-122b-benchmark-results.md — qwen3.5:122b-a10b DBBench results (100% success, 22.7s/sample, 81GB model) - perfect accuracy but 7.6x slower than Llama-3.2-3Bscripts/agentbench_ollama_llama32.py — Unified benchmark script for all AgentBench tasks (DBBench, KG, OS, LTP)scripts/teuken_agentbench_full.py — Full benchmark script for Teuken-7B (all 4 tasks, 206 samples)scripts/qwen122_dbbench.py — DBBench script for qwen3.5:122b-a10b (50 samples, 100% success)Model Comparison: llama3.2:3b vs qwen3.6:latest vs aip-best API
Why 3B beats 35B for SQL/code tasks:
Session Notes (2026-07-16) - Full Benchmark Suite Teuken-7B (GGUF) Full Suite Results:
aip-best (LiteLLM) Full Suite Results:
aip-best API Root Cause Analysis:
reasoning_content but leaves content: nullreasoning_content field (75.2% success)Final Recommendation: Llama-3.2-3B is optimal (99.5% accuracy, 2.98s/sample, 1.9GB). Teuken-7B offers no advantage (slower, heavier, less accurate). aip-best API is unreliable (broken response format).
Docker Stack: Successfully built dbbench, os_interaction, knowledgegraph services. ALFWorld failed due to textworld build incompatibility on Python 3.9. Direct API method recommended.
ALFWorld Fix Attempts (All Failed):
libffi-dev, libc6-dev)textworld==1.4.0 with --no-depssitecustomize.py stub (needs too many submodules)tar: Child returned status 2 during Inform7 download/extractvLLM Test (2026-07-15): Attempted to serve Soofi-Project/Soofi-S-Base but model is gated on Hugging Face. Requires huggingface-cli login before serving. Use public models (e.g., meta-llama/Llama-3.2-3B-Instruct) for testing.
llama.cpp Setup (2026-07-15):
cd /tmp/llama.cpp && mkdir build && cd build && cmake .. -DGGML_CUDA=ON && make -j$(nproc) llama-server llama-cli/tmp/llama.cpp/build/bin/llama-server -m ~/models/<model>.gguf -c 2048 --port 8080 --host 0.0.0.0 -ngl 99curl -L -o model.gguf "https://huggingface.co/<user>/<model>/resolve/main/model-Q4_K_M.gguf"hf auth login and accepting license on Hugging Face before downloadhttp://localhost:8080/v1/chat/completionscurl http://localhost:8080/health → {"status":"ok"}