7.6 实战:实现 MiniHarness 输出治理层
7.6.1 设计目标
7.6.2 系统架构
7.6.3 模型抽象设计
class BaseProvider(ABC):
def complete(self, messages: List[Message],
tools: Optional[List[Dict]] = None) -> ProviderResponse:
pass
def stream(self, messages: List[Message],
tools: Optional[List[Dict]] = None) -> Generator[str, None, None]:
pass
class ClaudeProvider(BaseProvider):
def complete(self, messages, tools=None):
# 直接使用 Anthropic SDK,tool_use 是一等内容块
response = self.client.messages.create(...)
return ProviderResponse(content=..., tool_calls=[...])
class OpenAIProvider(BaseProvider):
def complete(self, messages, tools=None):
# 转换工具格式:MiniHarness → OpenAI function calling
openai_tools = self._convert_tools(tools)
response = self.client.chat.completions.create(...)
return ProviderResponse(content=..., tool_calls=[...])7.6.4 响应解析设计
7.6.5 质量门控设计
7.6.6 集成示例
7.6.7 关键特性总结
功能
设计模式
益处
最后更新于
