docs: README 补第二批能力对齐(五级工具作用域接线/patch_file/原生视觉多模态链)
This commit is contained in:
parent
7dda635c9a
commit
cc63f8822c
28
README.md
28
README.md
@ -98,3 +98,31 @@ cd pkgs/pipeline-service && pip install .
|
||||
- steer/stop 走文件传递,子 agent 每轮 tool-loop 边界 `subagents.heartbeat` 消费;
|
||||
result.txt 流式落盘,stop/崩溃即部分结果(绝不空手)。
|
||||
|
||||
## 第二批 Hermes 能力对齐:五级工具作用域 + patch_file + 原生视觉(2026-09-10)
|
||||
|
||||
### 五级作用域工具解析接线(`_resolve_tool_scopes`,解析逻辑在 core `tool_sources.py`)
|
||||
- `_init_components` 第 8 步:调 core 五级解析(global/org/pipeline/role/project),
|
||||
registry 重建为解析后工具集;capability 工具(技能 frontmatter 声明)合成
|
||||
ToolDefinition 注册,执行路由 `capability_tools.exec_capability_tool`。
|
||||
- **执行层门禁**(`_execute_tool` 第 0 步):`_allowed_tools` 非 None 时,作用域外
|
||||
工具名(幻觉/越权)直接拒绝并回可行动提示(列出本会话可用工具)。解析失败
|
||||
降级 `_allowed_tools=None` 不拦截(回退旧行为,不阻断会话)。
|
||||
- 隔离走查修复(capability 两层语义):global 层 all/ 概念技能的 capability 声明
|
||||
**不作为注入依据**(只当映射手册),否则 generic 会话拿到 ~70 个产线工具击穿
|
||||
七层隔离;注入只认 org/pipeline/role/project/user 层技能的声明。
|
||||
|
||||
### patch_file 工具(`_t_patch_file`)
|
||||
old_string 唯一性校验(0/多次拒绝,replace_all 放行)+ 原子写 + `_resolve_ws_path`
|
||||
越界防护 + UTF-8 校验(二进制拒绝)。
|
||||
|
||||
### 原生视觉(多模态消息链)
|
||||
- `run(user_input, image_parts)`:image_parts 非空时首条用户消息构造 OpenAI 多模态
|
||||
content 数组(text + image_url data URL);llm_bridge→llm_v1 端点→inference 原样透传。
|
||||
- `_call_llm` 降级兜底:含图调用失败 → `_degrade_images_if_needed` 剥离图片就地改写
|
||||
消息(文本 + 系统说明「如实告知用户当前模型看不了图,建议切视觉模型或 invoke_model
|
||||
i2t」)重试一次——绝不假装看过图。只降级一次。
|
||||
- `_estimate_tokens`/`_summarize` 兼容 list content(`_content_as_text` 归一,图片按
|
||||
1000 token 估)。
|
||||
- `gateway.run_message(image_paths)`:build_image_parts 构造 + 超限 notes 注入 content。
|
||||
- 实测:中性文件名红蓝两图,agent 正确答「第一张红色、第二张蓝色」,degrade 0 次。
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user