feat(review): 审查结论改为结构化 JSON,移除二次 LLM 抽取
- checklist.py:系统提示加入结构化输出契约(只输出 {summary, issues[]},
引用 handle 必须真实存在、不得编造)
- review.py:review_frame 返回 {summary, issues, raw};仅在「不再请求工具」的回合
解析结论,中间工具回合的 content 永不解析;强制收口那次 chat 不传 tools
- report.py:删除 extract_issues 与 _EXTRACT_SYSTEM(不再需要第二次 LLM 调用);
新增 format_finding(用 .get,顺带修复缺 frame 键 KeyError);save_report 的
issues 省略时从 findings 拍平
- __main__.py:主流程改为 确定性检查 → review_frame → build_finding(合并+校验),
issues 由 flatten_issues 派生
顺带修复既有 gap:summarize 硬下标 KeyError、extract_issues 单行围栏解析失败。
This commit is contained in:
1 parent
f6d61f8d07
commit
f7fa8f14d9
8 files changed
+224
-140
No files matched your search
+1
-1
@@ -101,7 +101,7 @@ class FakeLlmClient:
|
||||
|
||||
- `script` :`chat()` 依次弹出的响应队列;弹空后回落到 `text`。
|
||||
- `text` :`chat()` / `chat_text()` 的兜底文本。
|
||||
- `text_script` :`chat_text()` 专用队列(便于同时喂 summarize 与 extract_issues)。
|
||||
- `text_script` :`chat_text()` 专用队列(便于连续喂多次 `chat_text` 调用)。
|
||||
"""
|
||||
|
||||
def __init__(self, script=None, text="", text_script=None, model="fake-model"):
|
||||
|
||||
Reference in new issue
Block a user