/ Модель

Характеристики

Архитектура
retriever500m · dense
Базовая модель
makeitwork1
Библиотека
safetensors
Опубликована
16 авг 2026

makeitwork-1

Генерация текстаТекст → текст7 профессий

Дообученный декодерный трансформер для многошагового поиска функций, типов и других сведений в кодовых базах по запросам на естественном языке.

93скачиваний за 30 дней3лайкавеса обновлены18 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

makeitwork-1 v13 — дообученная модель Akahsizrr для поиска информации в кодовых базах. Это декодерный трансформер Retriever500M в стиле LLaMA примерно с 497 млн параметров, обученный выполнять многошаговый поиск по запросам на естественном языке и работать с интерфейсом вызова инструментов поиска.

Модель разбивает запрос на подзапросы, анализирует результаты поиска и при необходимости уточняет поиск, затем возвращает найденный фрагмент кода, путь к файлу и имя символа. Она рассчитана на точечный поиск определений, типов и функций, а также на расплывчатые и косвенные запросы, связанные с вызовами или поведением кода. В README приведена оценка точности поиска 92% на тестовом наборе из 50 запросов по 20 репозиториям; описаны отдельные случаи, когда модель пропускает дополнительный шаг поиска или ошибается в похожем имени символа.

Для работы требуется внешняя система поиска по кодовой базе, которая предоставляет результаты модели через специальный формат взаимодействия. Метаданные указывают формат safetensors и язык en; лицензия в предоставленных данных не указана.

Сценарии применения

  • поиск определения функции или типа в кодовой базе
  • поиск функций по описанию их поведения
  • поиск места вызова заданного метода
  • уточнение поиска по результатам найденных фрагментов кода

Ограничения

Для поиска модели необходима внешняя система retrieval, передающая ей результаты. На тесте отмечены пропущенные дополнительные шаги поиска и ошибки между похожими именами символов; оценка основана на 50 запросах.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

makeitwork-1 (v13)

A 500M parameter decoder-only transformer (LLaMA-style architecture) fine-tuned for codebase information retrieval with multi-hop search reasoning and tool-calling.

Model Details

  • Architecture: Retriever500M (custom LLaMA-style decoder)
  • Parameters: ~497M
  • Hidden dim: 1,280
  • Layers: 23
  • Attention heads: 20
  • FFN dim: 3,456 (SwiGLU)
  • Positional encoding: RoPE
  • Normalization: RMSNorm
  • Tied embeddings: Yes
  • Vocab size: 32,009 (with special tokens)
  • Checkpoint: sft_v13 (step 1000, EMA loss 0.1500)

Capabilities

The model acts as an autonomous code search agent. Given a natural language query about a codebase, it:

  1. Reasons about the query using <|reasoning|> to decompose it into subqueries
  2. Searches the codebase using <|search|> tokens — can perform multi-hop search (search → inspect results → refine search)
  3. Analyzes <|result|> blocks returned by the retrieval system
  4. Returns curated <|evidence|> with the relevant code snippet, file path, and symbol name
  5. Terminates cleanly with <|finish|>

The multi-hop capability allows the model to handle vague queries (e.g. "find a function that does something"), indirect queries (e.g. "function that calls X", "function involving testing"), and stemmed queries (e.g. "function involving parsing" → searches "parse") by first searching a broad keyword, extracting the specific symbol name from the results, and then searching for that exact name.

Special Tokens

TokenIDPurpose
`<system>`
`<user>`
`<assistant>`
`<search>`
`<result>`
`<evidence>`
`<reasoning>`
`<finish>`
`<end>`

Benchmark: Code Search Eval v5

Overview

The model is evaluated on a held-out test set of 50 code search queries spanning multiple programming languages and query types. The eval set was constructed from 20 open-source repositories covering Python, Rust, Go, C, TypeScript, Java, and JavaScript.

Query Types

The benchmark includes the following query categories, designed to test different aspects of code search:

CategoryDescriptionExample
Exact nameQuery contains the exact symbol name"Find testMergeIntoEmptyAccumulator"
Definition lookupAsk for definition of a known symbol"Show me the definition of BufferEmbedding"
Interface/TypeLook up an interface or type"Look up the interface MsObjectPattern"
VagueNo specific name in query"I'm looking for a function that does something"
Stemmed keywordQuery uses -ing form, name uses base"function involving testing" → test*
Returns/Calls XFind function that calls/returns X"function returns builder.startObject"
Near-missVery similar names, must discriminatetest_establish_connection_using_3_levels_config vs ..._types_config

Evaluation Protocol

Each query is evaluated by running the full agent loop:

  1. The model receives the system prompt + user query
  2. It generates tokens autoregressively (greedy decoding)
  3. When it emits <|search|>...<|end|>, a retrieval result is injected as <|result|>...<|end|>
  4. The model can perform up to 3 search hops (multi-hop reasoning)
  5. Generation continues until <|finish|> or max 600 tokens

Metrics

MetricDefinition
Search accuracyThe expected symbol name appears in any of the model's search queries (not just the first). This rewards multi-hop reasoning.
Evidence rateThe model emits a valid `<
Finish rateThe model terminates with `<

Results (v13)

MetricScore
Search accuracy92.0%
Evidence rate100.0%
Finish rate100.0%

Progression Across Training Rounds

VersionSearch AccuracyEvidenceFinishEMA LossDataset SizeSteps
v662.0%96.0%100.0%0.298519K800
v874.0%98.0%100.0%0.268042K800
v978.0%100.0%100.0%0.252078K800
v1082.0%100.0%100.0%0.2409106K800
v1186.0%100.0%100.0%0.2251106K800
v1290.0%100.0%100.0%0.1871138K1000
v1392.0%100.0%100.0%0.1500193K1000

Remaining Failure Modes (4/50)

The 4 remaining failures at 92% accuracy fall into two categories:

  1. Multi-hop not executed (3 cases): The model correctly identifies the target symbol name in its reasoning but goes to <|evidence|> instead of issuing a second <|search|>. This affects vague queries ("Where is the function defined?") and indirect queries ("function returns builder.startObject").

  2. Character-level near-miss (1 case): The model performs two searches but both are near-misses of the target name (test_establish_connection_using_3_types vs expected test_establish_connection_using_3_levels_config).

Training

Dataset

  • Dataset version: v11 (192,703 traces)
  • Source code: 628,100 code chunks from 20 open-source repositories
  • Trace types:
    • Multi-hop vague queries (15K) — search generic keyword → extract name → search name
    • Multi-hop returns/calls queries (28K) — search called method → extract caller → search caller
    • Multi-hop stemming queries (7K) — "involving testing" → search "test" → extract name → search name
    • Multi-hop involving queries (7K) — search keyword → extract name → search name
    • Near-miss discrimination (8K) — search wrong name → compare suffixes → search correct name
    • Code-to-name extraction (8K) — extract function name from code snippet → search it
    • Exact copy (44K) — single-hop: search exact name from query
    • Inherited from v10 (137K) — prior multi-hop + single-hop traces

Training Configuration

  • Method: Supervised Fine-Tuning (SFT)
  • Base checkpoint: sft_v12 (90% accuracy)
  • Optimizer: AdamW (betas=0.9, 0.95, weight_decay=0.1)
  • Learning rate: 5e-5 with cosine schedule
  • Batch size: 4 (effective 32 with gradient accumulation 8)
  • Sequence length: 1024
  • Precision: BF16
  • Gradient clipping: 1.0
  • Steps: 1000
  • Hardware: NVIDIA H100 80GB
  • Training time: ~21 minutes
  • Final EMA loss: 0.1500

Training Progression

The model was trained iteratively across 7 SFT rounds (v6→v8→v9→v10→v11→v12→v13), with each round:

  1. Analyzing remaining failures from the previous checkpoint
  2. Generating targeted training traces for those failure modes
  3. Fine-tuning from the previous checkpoint (warm start)
  4. Re-evaluating on the held-out test set

Usage

import torch
import sys
sys.path.insert(0, ".")  # model.py in repo root

from model import ModelConfig, Retriever500M
from safetensors.torch import load_file
from tokenizers import Tokenizer

# Load config
import json
with open("config.json") as f:
    cfg = json.load(f)

config = ModelConfig(
    vocab_size=cfg["vocab_size"],
    d_model=cfg["d_model"],
    n_layers=cfg["n_layers"],
    n_heads=cfg["n_heads"],
    d_ff=cfg["d_ff"],
    max_seq_len=cfg["max_seq_len"],
    dropout=0.0,
    tie_embeddings=True,
)

model = Retriever500M(config)
state_dict = load_file("model.safetensors")
model.load_state_dict(state_dict)
model.eval()

tokenizer = Tokenizer.from_file("tokenizer_agent.json")

Agent Loop Example

# System prompt
SYSTEM = (
    "You are a code search agent. Given a query from a reasoning model, "
    "decompose it into subqueries, search the codebase, inspect results, "
    "and return curated evidence. Use <|search|> to issue searches, "
    "<|reasoning|> to analyze, and <|evidence|> to return findings. "
    "Be concise. Extract only the relevant facts. End with <|finish|>."
)

# Build input: [system] SYSTEM [end] [user] "Find parseBoolean" [end] [assistant]
# Then generate autoregressively, injecting retrieval results after each <|search|>...<|end|>

License

MIT

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · safetensors

Нельзя запустить

Архитектура retriever500m неизвестна transformers в образе рантайма.

Класс архитектуры
Retriever500M
Ревизия весов
c1bed94

0 моделей