anubhavprk2802/prompt-workbench

GitHub: anubhavprk2802/prompt-workbench

一款基于规则匹配的本地优先提示词工程助手,能将粗略的文本请求确定性地转化为结构化的标准提示词框架。

Stars: 0 | Forks: 0

# Prompt 工作台 Prompt Workbench 是一个基于 Streamlit 构建的本地优先的 prompt 工程助手。它通过透明的关键词和规则匹配,将粗略的请求转化为结构化的 prompt。它不会调用 AI 模型。 ## 功能 - 检测常见的 prompt 意图,如总结、解释、分析、比较、编写、分类、提取、审查、翻译和故障排除。 - 检测约束条件,包括简洁性、细节、接地(grounding)、Markdown、JSON、表格、项目符号、风险和行动项。 - 检测请求的输出,如总结、建议、假设、测试用例、验收标准、步骤和示例。 - 构建任务感知的 RTF、AIM、RISEN、TAG 或 CLEAR prompt。 - 始终保留完全原始的请求,以确保可追溯性。 - 显示检测到的信号、并排文本、高亮显示的行差异以及 prompt 统计信息。 - 将转换后的 prompt 下载为 Markdown。 - 包含六个即用型 prompt 示例。 ## 为什么是本地优先? Prompt 文本可能包含内部需求、源材料、代码或日志。Prompt Workbench 在本地 Python 进程中处理这些文本。没有 API 密钥、模型下载、AI 服务、遥测调用或网络请求。相同的输入和框架始终产生相同的结果。 ## 框架对比 | 框架 | 最佳适用场景 | | --- | --- | | RTF | 简单的基于角色的 prompt | | AIM | 针对特定受众的沟通 | | RISEN | 多步骤分析任务 | | TAG | 快速面向任务的 prompt | | CLEAR | 详尽的企业级 prompt | ## 为什么是确定性的? Prompt Workbench 有意使用基于规则的检测,并且不进行任何 API 调用。这使得 prompt 转换过程保持透明、本地优先且可审计:每一次检测都可以追溯到原始 prompt 中的明确短语。 ## 确定性检测的工作原理 `prompt_toolkit_app/core.py` 中有序的正则表达式规则会扫描 prompt,以寻找明确的意图、约束和输出信号。这些信号会选择适合领域的角色,并构建步骤、目标、格式规则和接地(grounding)指令。所选的框架控制这些生成元素的出现位置。 这是有意设计为可预测的而非生成式的:它仅根据已知规则进行操作,显示其检测到的内容,并保留原始请求。 ## Prompt 示例 - **会议总结:** 简明的决策、风险和行动项 - **Jira 故事生成:** 假设和验收标准 - **日志调试:** 可能的原因、故障排除步骤和建议 - **文档总结:** 包含风险和行动的接地(grounded)总结 - **SQL 解释:** 带有示例的分步解释 - **测试用例生成:** 表格形式的详细用例和预期结果 所有示例都可以在应用程序的 **Prompt 示例** 展开框中找到。 ## 前后对比 之前: ``` Summarize this document, include risks and action items, keep it short, and don't make up missing details. ``` 使用 RISEN 之后: ``` Role: You are an experienced business analyst. Instructions: Analyze the provided material and create a concise, grounded summary of its key information. Original User Request: Summarize this document, include risks and action items, keep it short, and don't make up missing details. Steps: 1. Read the original request and any provided source material carefully. 2. Summarize the key information. 3. Analyze the evidence, implications, and relevant risks. 4. Identify risks explicitly supported by the provided information. 5. Extract action items if available. 6. State "Not provided" when required details are missing. End Goal: Provide a useful response containing summary, risks, and action items. Narrowing: - Keep the response concise. - Do not invent missing facts; state "Not provided" when necessary. - Include a clearly labeled risks section. - Include a clearly labeled action items section. - Use clear headings and a scannable structure. ``` ## 本地运行 需要 Python 3.11 或更高版本。 ``` python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install -r requirements.txt streamlit run app.py ``` 运行测试: ``` python -m unittest discover -s tests -v ``` ## 项目结构 ``` app.py prompt_toolkit_app/ core.py framework_rules.py sample_prompts.py tests/test_core.py requirements.txt README.md ```
标签:AI开发工具, Kubernetes, Streamlit, 云计算, 提示词工程, 文本处理, 本地优先, 策略决策点, 规则引擎, 访问控制, 逆向工具