Token导航 LogoToken导航TokenDH.com
Loop LLM logo
开发工具stdio官方级别未说明来源级核验

Loop LLM

MCP Server

PromptLoop是一个基于贝叶斯自适应的提示质量循环工具,用于在IDE中实时评估、优化和验证AI代理的提示,适用于开发者提升代码生成效率。

工具数

22

提示词数

0

GitHub Stars

2

资源数

0
PythonCursor代码生成CursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

azank1

提供方

azank1

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e ".[mcp]"

详细介绍

PromptLoop 的

![Typing SVG](https://github.com/azank1/loop-llm)

![License: MIT](https://opensource.org/licenses/MIT) ![PyPI](https://pypi.org/project/loopllm/) ![VS Code Extension](https://github.com/azank1/loop-llm/tree/main/vscode-loopllm)

为您的AI代理提供贝叶斯快速观察者和质量循环。

PromptLoop作为MCP服务器位于您和IDE代理之间。每个提示都会被评分、路由、细化(如果需要),然后进行验证——所有这些都是在使用MCP采样的单个工具调用中完成的。系统 学习 随着时间的推移:每次您对回复进行评分时,它都会对评分维度权重进行在线梯度下降,并通过Beta先验的Thompson Sampling选择澄清问题。

底层CLI和工具API作为 loopllm (原名)。PromptLoop是该项目的品牌。

______________________________________________________________________

VS代码扩展

直接在侧边栏中安装实时质量草稿栏和提示历史仪表板的配套扩展。

快速实验室 --实时质量草稿

Prompt Lab

每次击键得分(350毫秒去抖动)。成绩徽章、5个维度栏、问题+建议标签、复制并发送到聊天室。

历史 --学习曲线+指标

History

学习曲线火花线、等级分布、每个维度的SGD学习权重。每次更新后 loopllm_feedback 电话。

扩展名VSIX位于 vscode-loopllm/loopllm-prompt-gauge-0.1.0.vsix --安装方式 code --install-extension.

______________________________________________________________________

主要工具: loopllm_run_pipeline

这是PromptLoop的预期入口点。一个调用运行完整的观察→ 引出→ 精炼→ 验证循环:

loopllm_run_pipeline("add retry logic to the download function")

里面发生了什么:

  1. 得分 跨5个维度的提示(\0.5,则将其分为子任务
  2. 执行 每个子任务: ctx.sample(prompt) → 评估→ 如果低于阈值,请重试
  3. 验证 通过第二次测试,根据质量标准组装输出 ctx.sample() 呼叫
  4. 日志 结果+SQLite的质量分数;通过在线SGD更新评分权重

一切都通过MCP采样在线运行——没有额外的聊天回合,也没有轮询。

______________________________________________________________________

快速入门

git clone https://github.com/azank1/loop-llm   # GitHub repo still named loop-llm
cd loop-llm
pip install -e ".[mcp]"
code .

.vscode/mcp.json 已提交——VS Code会自动获取服务器。\ 首次加载时,使用以下方式进行验证:

use loopllm_intercept with prompt: add retry logic to the download function

然后:

use loopllm_run_pipeline with prompt: add retry logic to the download function

______________________________________________________________________

作为软件包安装

pip install loopllm[mcp]

添加 .vscode/mcp.json 对于您的项目:

{
  "servers": {
    "loopllm": {
      "type": "stdio",
      "command": "loopllm",
      "args": ["mcp-server", "--provider", "agent"]
    }
  }
}

用于光标使用 .cursor/mcp.json 随着 "mcpServers" 作为顶级密钥。

______________________________________________________________________

运作原理

You type a prompt
      ↓
loopllm_intercept          ← scores it across 5 dimensions (~0ms, deterministic)
      ↓
route decision
  < 0.4  → elicitation     ← Thompson Sampling picks the highest-gain question
  0.4–0.6 → elicit + refine
  ≥ 0.6  → refine directly
      ↓
loopllm_refine (if needed)
  → ctx.sample(prompt)     ← MCP Sampling: calls host LLM mid-execution
  → evaluate output        ← deterministic evaluators (length, regex, JSON schema)
  → if score < threshold: ctx.sample(improved prompt)   ← retry inline
  → return best result
      ↓
result logged to ~/.loopllm/store.db
      ↓
loopllm_feedback (optional rating 1–5)
  → one SGD step updates scoring dimension weights

评分维度 (每个0-1,根据所学权重合成为A-F级):

维度它捕捉到了什么
特定性模糊、通用的请求
约束清晰度缺少格式、长度或规则要求
上下文完整性未说明背景或目标
歧义不明确的引用,没有先行词的代词
格式规范未指定输出格式

MCP采样 --生成工具调用 ctx.sample() 内联调用host agent的LLM。全部得分→生成→评估→重试循环是一个单一的工具调用。回落到 agent_execute 如果客户端没有声明采样能力,则传递。

______________________________________________________________________

系统如何学习

在线评分权重梯度下降

默认权重为 {specificity: 0.25, constraint_clarity: 0.20, context_completeness: 0.20, ambiguity: 0.20, format_spec: 0.15}每次你打电话 loopllm_feedback(rating) 一个SGD步骤调整它们:

$$\\hat{y}=\\sum_i w_i\\cdot d_i\\quad\\text{(预测质量,歧义反转)}$$

$$\\mathcal{L}=(\\hat{y}-t)^2\\quad t=\\frac{\\text{rating}-1}{4}$$

$$w_i \\左箭头w_i-0.02\\cdot 2(\\hat{y}-t)\\cdot d_i$$

每一步后,权重被裁剪为$\[0.05,0.50\]$,并重新归一化为总和1(单纯形投影)。在大约50个评分后,权重会收敛,以反映提示中真正重要的内容。坚持 learned_weights 表(模式v4)。

Thompson问题排序抽样

每种问题类型(scope, format, constraints等)保持一个$\\text{Beta}(\\alpha,\\Beta)$优先级,其中$\\alpha$=历史正面影响计数+1,$\\Beta$=负面影响计数+1。当管道需要提出澄清问题时,它会为每种候选类型抽取一个样本:

$$s_i\\sim\\text{Beta}(\\alpha_i,\\Beta_i)$$

并选择$\\arg\\max_is_i$。这是一个多武装强盗:历史上提高输出质量的问题经常被问到(利用),而新的/未经测试的类型仍然偶尔出现(探索)。

贝塔二项式贝叶斯先验

每次调用观察都会更新每(task_type,model)收敛概率的共轭$\\text{Beta}(\\alpha,\\Beta)$先验。细化循环的自适应退出标准为:

$$P(\\text{收敛到下一次迭代})=\\frac{\\alpha}{\\alpha+\\beta}$$

当按预期改进下降加权的概率降至成本阈值以下时,循环会提前停止。实施于 adaptive_exit.py 使用 BetaPrior.prob_above(threshold) (正常近似通过 math.erf).

Welford的在线方差算法

NormalPrior 使用Welford的在线算法,使用$O(1)$内存跟踪输出质量分数的运行均值和方差,该算法具有可选的指数衰减($\\lambda=0.95$),以降低过时观测值的权重:

$$\\mu_n=\\mu{n-1}+\\frac{x_n-\\mu{n-1}}{n},\\quad\\sigma^2_n=\\frac{(n-1)\\sigma^ 2\_{n-1}+(x_n-\\mu\_{n-1})(x_n-\\mu_n)}{n\]$$

滚动计划信心

$$C\_{\\text{rolling}=\\frac{\\sum_i C_i\\cdot 0.85^{n-i}}{\\sum_i 0.85^{n-1}}$$

其中,$c_i$是第i个已完成任务的置信度。指数衰减使最近的任务权重更大。计划开门 confidence ≥ threshold 在进入下一个任务之前。

______________________________________________________________________

工具(24)

工具它做什么
loopllm_run_pipeline主要的,重要的 引出→ 分解→ 执行→ 在一次通话中验证
loopllm_intercept分数+路线提示;记录历史
loopllm_gauge即时质量条,无需DB写入
loopllm_refine得分→ 样品→ 通过MCP采样重试循环
loopllm_plan_tasks通过MCP采样将目标分解为有序的子任务
loopllm_verify_output关键字预检+根据质量标准进行深度抽样
loopllm_elicitation_start/answer/finish多轮澄清问题环节
loopllm_plan_register创建一个保存到SQLite的信心门控计划
loopllm_plan_next前进到下一个任务;回报 needs_replan 如果质量下降
loopllm_plan_update记录任务得分;重新计算滚动置信度
loopllm_plan_list仪表板:所有带有仪表和任务计数的计划
loopllm_plan_delete删除已完成或放弃的计划
loopllm_context_history使用火花线浏览提示历史记录
loopllm_context_clear擦除提示历史记录(范围或全部)
loopllm_prompt_stats提示质量趋势和学习曲线
loopllm_feedback对回答进行评分(1-5);触发SGD权重更新
loopllm_suggest_config任务类型的贝叶斯最优循环配置
loopllm_classify_task标记提示的任务类型
loopllm_analyze_prompt生成按汤普森采样增益排序的澄清问题
loopllm_list_tasks列出持久存储中的任务
loopllm_show_task单个任务的详细视图
loopllm_report学习权重、贝叶斯先验、问题有效性统计

计划和学习的重量坚持到 ~/.loopllm/store.db 并在服务器重启后存活(模式v4)。

______________________________________________________________________

本地型号(无MCP)

pip install loopllm[serve]
loopllm serve --port 8765          # REST scoring middleware
from loopllm.local_loop import LocalModelLoop

loop = LocalModelLoop(
    base_url="http://localhost:11434",
    model="llama3.2",
    score_url="http://localhost:8765/score",
    quality_threshold=0.80,
    max_retries=3,
)
result = loop.run("Write a Python function to parse JSON safely.")
print(result.output, result.best_score, result.converged)

______________________________________________________________________

贡献

git clone https://github.com/azank1/loop-llm   # GitHub repo still named loop-llm
cd loop-llm
pip install -e ".[dev]"
python -m pytest tests/ -q          # 186 tests, ~2s

分行策略:

  • main --稳定、发布的代码
  • testing-production --积极发展;PR首先针对此分支

关键文件:

  • src/loopllm/mcp_server.py --所有24个MCP工具+SGD权重更新+MCP采样助手
  • src/loopllm/store.py --SQLite持久性(模式v4:先验、历史、计划、学习权重)
  • src/loopllm/priors.py --Beta二项式和正态先验,Welford算法
  • src/loopllm/adaptive_exit.py --贝叶斯早期停止
  • src/loopllm/evaluators.py --确定性输出评估器

PR欢迎。在中添加新工具的测试 tests/.

______________________________________________________________________

环境变量

变量默认值描述
LOOPLLM_PROVIDERagentagent, ollama,或 openrouter
LOOPLLM_MODELagent模型标识符(在代理模式下忽略)
LOOPLLM_DB~/.loopllm/store.dbSQLite存储路径
OLLAMA_HOSThttp://localhost:11434 基础 URL
OPENROUTER_API_KEY-OpenRouter API密钥

______________________________________________________________________

许可证

麻省理工学院

![License: MIT](https://opensource.org/licenses/MIT)

为您的AI代理提供贝叶斯快速观察者和质量循环。

PromptLoop作为MCP服务器位于您和IDE代理之间。你写的每个提示都会被拦截,在五个质量维度上评分,并被发送到正确的工具——澄清、细化或任务分解。它跟踪您的提示历史记录,允许您使用置信度门控管理多任务计划,并通过MCP采样使用主机代理自己的LLM运行迭代改进循环,而不需要单独的模型。

把它看作是 迅速观察者:它观察你的问题,测量它的形成程度,告诉你它薄弱的地方,并在代理采取行动之前自动改进它。

堆栈: Python 3.11+、FastMCP(stdio)、SQLite(贝叶斯先验+提示历史+计划)、确定性启发式评分、用于中期执行LLM调用的MCP采样。

______________________________________________________________________

快速入门

git clone https://github.com/azank1/loop-llm   # GitHub repo still named loop-llm
cd loop-llm
pip install -e ".[mcp]"
code .

.vscode/mcp.json 已提交——VS Code会自动获取服务器。如果工具未出现: MCP:重新启动服务器→ loopllm 在命令选项板中。

在Copilot聊天中验证:

use loopllm_gauge to score this prompt: write me some code

______________________________________________________________________

作为软件包安装

pip install loopllm[mcp]

添加 .vscode/mcp.json 对于您的项目:

{
  "servers": {
    "loopllm": {
      "type": "stdio",
      "command": "loopllm",
      "args": ["mcp-server", "--provider", "agent"]
    }
  }
}

用于光标使用 .cursor/mcp.json 随着 "mcpServers" 作为顶级密钥。

______________________________________________________________________

运作原理

You type a prompt
      ↓
loopllm_intercept          ← scores it across 5 dimensions (~0ms, deterministic)
      ↓
route decision
  < 0.4  → elicitation     ← agent asks the 1-2 highest-gain clarifying questions
  0.4–0.6 → elicit + refine
  ≥ 0.6  → refine directly
      ↓
loopllm_refine (if needed)
  → ctx.sample(prompt)     ← MCP Sampling: calls host LLM mid-execution
  → evaluate output        ← deterministic evaluators (length, regex, JSON schema)
  → if score < threshold: ctx.sample(improved prompt)   ← retry inline
  → return best result
      ↓
result logged to ~/.loopllm/store.db

评分维度 (每个0-1,合成为a-F级):

维度它捕捉到了什么
特定性模糊、通用的请求
约束清晰度缺少格式、长度或规则要求
上下文完整性未说明背景或目标
歧义不明确的引用,没有先行词的代词
格式规范未指定输出格式

MCP采样 指生成工具(loopllm_refine, loopllm_run_pipeline, loopllm_plan_tasks, loopllm_verify_output)呼叫 ctx.sample() 内联调用host agent的LLM——整个分数→生成→评估→重试循环发生在单个工具调用中,而不是在多个聊天回合中。回落到 agent_execute 如果客户端没有声明采样能力,则传递。

提示历史记录 在SQLite中存储了每个提示的分数、成绩、任务类型和会话标签。使用 loopllm_context_history 为了浏览它, loopllm_prompt_stats 为你的潮流火花线,或 loopllm_context_clear 重置。

______________________________________________________________________

工具(24)

工具它做什么
loopllm_intercept评分+路由提示——在每次请求时先调用此提示
loopllm_gauge即时质量条,无需DB写入
loopllm_refine得分→ 样品→ 通过MCP采样重试循环
loopllm_run_pipeline精英→ 分解→ 执行→ 在一次工具调用中验证
loopllm_plan_tasks通过MCP采样将目标分解为有序的子任务
loopllm_verify_output关键字预检+根据质量标准进行深度抽样
loopllm_elicitation_start/answer/finish多轮澄清问题环节
loopllm_plan_register创建一个保存到SQLite的信心门控计划
loopllm_plan_next前进到下一个任务;回报 needs_replan 如果质量下降
loopllm_plan_update记录任务得分;重新计算滚动置信度
loopllm_plan_list仪表板:所有带有仪表和任务计数的计划
loopllm_plan_delete删除已完成或放弃的计划
loopllm_context_history使用火花线浏览提示历史记录
loopllm_context_clear擦除提示历史记录(范围或全部)
loopllm_prompt_stats提示质量趋势和学习曲线
loopllm_feedback对回答进行评分(1-5),以提高未来的评分
loopllm_suggest_config任务类型的贝叶斯最优循环配置
loopllm_classify_task标记提示的任务类型
loopllm_analyze_prompt生成按信息增益排序的澄清问题
loopllm_list_tasks列出持久存储中的任务
loopllm_show_task单个任务的详细视图
loopllm_report学习贝叶斯先验和问题有效性

计划坚持到 ~/.loopllm/store.db 并在服务器重启后幸存下来。

滚动信心:

confidence(task) = prompt_score × 0.35 + output_score × 0.65
rolling            = Σ(confidence_i × 0.85^(n-i)) / Σ(0.85^(n-i))

______________________________________________________________________

本地型号(无MCP)

pip install loopllm[serve]
loopllm serve --port 8765          # REST scoring middleware
from loopllm.local_loop import LocalModelLoop

loop = LocalModelLoop(
    base_url="http://localhost:11434",
    model="llama3.2",
    score_url="http://localhost:8765/score",
    quality_threshold=0.80,
    max_retries=3,
)
result = loop.run("Write a Python function to parse JSON safely.")
print(result.output, result.best_score, result.converged)

______________________________________________________________________

贡献

git clone https://github.com/azank1/loop-llm   # GitHub repo still named loop-llm
cd loop-llm
pip install -e ".[dev]"
python -m pytest tests/ -q          # 186 tests, ~0.5s

分行策略:

  • main --稳定、发布的代码
  • testing-production --积极发展;PR首先针对此分支

关键文件:

  • src/loopllm/mcp_server.py --所有24个MCP工具+MCP采样助手
  • src/loopllm/plan_registry.py --信心门控计划跟踪
  • src/loopllm/store.py --SQLite持久性(模式v3)
  • src/loopllm/evaluators.py --确定性输出评估器
  • src/loopllm/serve.py --用于本地模型的REST服务器
  • src/loopllm/local_loop.py --Ollama包装带得分→重试循环

PR欢迎。在中添加新工具的测试 tests/.

______________________________________________________________________

环境变量

变量默认值描述
LOOPLLM_PROVIDERagentagent, ollama,或 openrouter
LOOPLLM_MODELagent模型标识符(在代理模式下忽略)
LOOPLLM_DB~/.loopllm/store.dbSQLite存储路径
OLLAMA_HOSThttp://localhost:11434 基础 URL
OPENROUTER_API_KEY-OpenRouter API密钥

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

PythonCursor代码生成提示优化本地部署AI代理贝叶斯学习IDE扩展

支持客户端

CursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP