qoder大模型采用harness-first架构,通过harness/目录下的orchestrator.py事件钩子与session_ledger.py wal日志实现意图-执行分离及操作可追溯。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望深入理解Qoder大模型在实际运行中如何组织代码、调度能力并保障工程可靠性,则需从其源码结构切入,识别各模块的职责边界与协作契约。以下是对其底层架构设计模式与核心代码路径的逐层走读:
一、Harness-First架构的模块划分与入口控制
Harness-First并非抽象概念,而是直接映射为源码中独立的harness/顶层目录,所有Agent行为必须经由Harness校验后方可流转至执行层。该设计强制分离“意图表达”与“动作执行”,避免LLM直连工具引发的越权或状态漂移。
1、主入口文件harness/orchestrator.py定义on_user_query()、on_code_push()、on_test_failure()三类事件钩子,每个钩子绑定严格类型签名的Handler子类。
2、harness/session_ledger.py采用WAL日志格式持久化每步操作:包含原始输入哈希、调用工具名称、输出摘要、决策依据(如“因test_coverage
3、harness/context_broker.py作为单例上下文总线,将AST解析结果、当前编辑器选区、Git分支信息统一注入context_map,供各Harness组件按需订阅。
二、五维记忆系统的物理存储与序列化协议
五维记忆(记忆、技能、策略、验证规则、工作流)不共享同一存储介质,而是通过memory_manager.py提供的版本化键值接口分别落盘,确保维度间无隐式耦合,支持独立升级与灰度发布。
1、记忆维度使用chroma_db增量索引,仅对diff内容生成新embedding,旧向量保留version字段与ttl标记,查询时自动过滤过期条目。
2、技能维度以skills/目录下YAML文件声明,每个文件含schema:字段定义参数约束、precondition:描述前置检查逻辑、retry_policy:指定指数退避策略,例如git_commit_skill.yaml中precondition要求working_dir_clean为true。
3、策略维度采用decision_tree.dsl语法,编译为轻量级AST节点树,runtime时由strategy_engine.py加载并执行,支持条件分支热替换而无需重启进程。
三、Agent Mode任务执行引擎的核心调度循环
Agent Mode的自主性源于task_executor.py中实现的REPL式调度循环:接收初始指令→生成Plan→逐项执行→校验Output→修正Plan→继续执行。该循环不依赖外部定时器,完全由工具返回的状态码驱动下一步动作。
1、plan_generator.py基于CodeLlama-70B微调模型生成JSON格式计划,包含steps数组与required_context字段,后者明确声明执行前必须加载的AST节点ID或测试覆盖率阈值。
2、tool_router.py根据step.type字段匹配tools/目录下对应模块,如type为"search_codebase"则加载tools/code_search.py,且强制校验其输入是否满足plan中声明的required_context约束。
3、checkpoint_monitor.py监听每个step完成事件,在关键节点(如文件修改前、测试运行后)写入checkpoints/目录下的快照文件,含文件哈希、行号范围、diff内容,供rollback_tool.py按需回退。
四、多模态交互通道的注册与上下文桥接机制
Qoder IDE插件启动时,会动态加载config/harness.yaml中启用的模态通道,并为每个通道实例化专属Harness,所有通道共享ContextBroker单例,确保语音提及的“第3个按钮”可在后续截图分析中被ImageHarness准确锚定到UI坐标。
1、audio_harness.py监听ASR流结束事件,将转录文本与时间戳、声纹特征一并注入context_broker,标记为audio_input来源。
2、image_harness.py调用qwen3-vl模型进行视觉编码时,自动从context_broker拉取最近一次audio_input的语义向量,执行跨模态注意力融合。
3、text_harness.py处理侧边栏自然语言指令时,优先检索context_broker中未过期的audio_input与image_analysis结果,构建多源上下文拼接向量送入LLM。
五、Rules策略引擎与安全沙盒的代码级实现
Rules层不是配置文件集合,而是编译为可执行字节码的安全策略内核。所有工具调用前,policy_evaluator.py均需加载rules/compiled/目录下对应策略模块,执行静态检查与运行时断言双重校验。
1、rules/compiler.py将YAML策略编译为Python字节码,例如allow_file_write规则编译后生成opcodes序列:LOAD_GLOBAL 'os' → LOAD_ATTR 'path' → COMPARE_OP 'isabs' → POP_JUMP_IF_TRUE fail_label。
2、sandbox_executor.py基于Linux user namespaces创建隔离环境,限制工具进程仅能访问project_root下白名单路径,且禁止fork/exec系统调用,所有命令执行均通过受限syscall proxy转发。
3、security_audit_log.py记录每次policy_evaluator校验结果,包括策略哈希、输入参数摘要、校验耗时,日志条目经HMAC-SHA256签名后写入audit/目录,不可篡改。











