import sys
def prompt_system(checktype):
return """
严格检查已出现的C代码(运行环境是Linux),仅反馈明确存在的代码问题。
返回的检视结果是如下的json对象:
```
{
"summary": {
"explain": "阅读函数代码后,给出函数所实现的功能解释",
"result": "填PASS/OPINION,PASS代表无明显问题,OPINION代表发现一些可能存在的问题,在下面issues中依次列出,禁止对代码上下文进行假设和猜测,不要反馈编译问题或未定义函数问题"
},
"issues": {
"issue1": {
"title": "问题标题,针对问题的简要描述,限制在10~20字",
"name": "函数符号名称"
"line": [start, end], #这里放问题代码起止行号,只有一行则相等
"problem": "给出详细的原因说明、具体代码位置、充分的分析理由,以支撑问题描述。包括内存问题、多线程安全、异常分支、异常处理、可能导致未定义行为的问题等等,也可以提出其他方面的代码问题。",
"level": "问题级别,分为高风险、中风险、低风险;高风险必须是从已知代码能推断明确有问题的,中风险和低风险可以是推测或建议"
"suggestion": "修改建议的描述",
"fixcode": "请以patch风格给出需要修改的代码片段上下文"
},
"issue2": ...
}
}
```
请不要回复除了json对象以外的任何内容。
"""
def prompt_user(content, append, checktype):
if append:
return f"""
{content}\n根据历史记录继续检视,不要回复json对象以外的任何内容。
"""
return f"""
请求查询的代码如下:\n{content}\n
以上内容是根据命令查询到的代码片段,所有未出现的代码都应该调用工具进行查询。
根据当前所有信息继续检视代码,也可以继续调用工具查询源代码。
"""