| # Dual-Mode Synergy for BioinfoMCP |
|
|
| ## Positioning |
|
|
| - **Bioinfo-V1 (Execution Engine)**: deterministic execution, protocol orchestration, file retrieval, data cleaning, report generation. |
| - **Bioinfo-T1 (Thought/Consultant Engine)**: retrospective analysis over logs/failures/success parameters, insight extraction, strategy recommendation. |
|
|
| ## Shared Memory Bridge |
|
|
| Persistent storage root: |
|
|
| ```text |
| BioinfoMCP/shared_knowledge/ |
| experiment_reports/ |
| insights/ |
| pipeline_configs/ |
| ``` |
|
|
| Flow: |
|
|
| 1. V1 executes task and writes a structured `ExperimentReport`. |
| 2. T1 periodically runs reflection (`review_reports`) and emits `Insight`. |
| 3. T1 can output a `PipelineConfiguration` from consultation. |
| 4. V1 loads latest config by `task_scope` before the next execution. |
|
|
| ## Minimal Runtime Commands |
|
|
| ```bash |
| python -m agent_system.main propose-config \ |
| --task_scope rnaseq_quant \ |
| --strategy_name "safe-default-rnaseq-v1" \ |
| --tools '["fastqc","trim-galore","star","stringtie","multiqc"]' \ |
| --parameters '{"threads":8,"quality_cutoff":20}' \ |
| --rationale "Derived from prior successful runs." |
| ``` |
|
|
| ```bash |
| python -m agent_system.main execute \ |
| --task "RNA-seq quantification for sample set A" \ |
| --task_scope rnaseq_quant \ |
| --input_manifest '{"r1":"data/SRR3056858_R1.trimmed.fastq","r2":"data/SRR3056858_R2.trimmed.fastq"}' |
| ``` |
|
|
| ```bash |
| python -m agent_system.main reflect |
| ``` |
|
|
| ```bash |
| python -m agent_system.main consult \ |
| --task_scope rnaseq_quant \ |
| --user_goal "Need a robust low-failure first-pass strategy" |
| ``` |
|
|
| ## Kimi Backend (Optional) |
|
|
| The included adapter (`agent_system/llm/kimi_client.py`) uses OpenAI-compatible API mode. |
|
|
| Set environment variables: |
|
|
| ```bash |
| set KIMI_API_KEY=your_key |
| set KIMI_BASE_URL=https://api.moonshot.cn/v1 |
| set KIMI_MODEL=kimi-k2-0711-preview |
| ``` |
|
|
| Then call `KimiCodeClient.complete(system_prompt, user_prompt)` inside T1 planning/reflection routines when you want model-assisted synthesis. |
|
|