Overview
Generate the MixSeek-Core prompt builder configuration file (prompt_builder.toml). Define three templates and control prompt delivery to each component.
Template Roles
| Template | Target | Purpose |
|---|---|---|
team_user_prompt |
Team (Leader Agent) | Per-round instructions, presentation of past history |
evaluator_user_prompt |
Evaluator | Instructions for evaluating submitted content |
judgment_user_prompt |
Judgment Client | Instructions for determining continuation/termination |
Prerequisites
- The workspace must be initialized (see
mixseek-workspace-init) - The environment variable
MIXSEEK_WORKSPACEmust be set (recommended) - The orchestrator configuration must exist (when using multi-round functionality)
Generated Files
- Path:
$MIXSEEK_WORKSPACE/configs/prompt_builder.toml
Usage
Step 1: Hearing Requirements
Confirm the following with the user:
- Purpose: What kind of task it will be used for (research, analysis, code generation, etc.)
- Round Strategy: Whether to improve through multiple rounds or execute once
- Custom Judgment Criteria: Whether there are special criteria for termination conditions
Step 2: Template Selection
Select a template according to the purpose:
| Template | Purpose | Features |
|---|---|---|
default |
General competition format | Leaderboard reference, basic round progression |
deep-research |
Deep Research | Per-round search keyword improvement, stepwise deepening |
single-round |
Single execution | Simple structure, minimal use of round variables |
Step 3: Customize
Customize the following as needed:
- Jinja2 conditional branching:
{% if round_number == 1 %}Per-round instructions using etc. - Additional variable usage:
{{ ranking_table }}Leaderboard display with - Adjustment of judgment criteria: Judgment conditions in judgment_user_prompt
Step 4: Saving the File
Save the generated configuration to the following path:
$MIXSEEK_WORKSPACE/configs/prompt_builder.toml
Step 5: Validating the Configuration File
After generation, check the syntax and placeholders:
# TOML構文の検証
uv run python -c "import tomllib; tomllib.load(open('configs/prompt_builder.toml', 'rb'))"
# Jinja2構文の検証(オプション)
uv run python -c "
from jinja2 import Environment
env = Environment()
import tomllib
config = tomllib.load(open('configs/prompt_builder.toml', 'rb'))
for key in ['team_user_prompt', 'evaluator_user_prompt', 'judgment_user_prompt']:
env.parse(config['prompt_builder'][key])
print('OK')
"
Template Types
default
- General team competition format
- With leaderboard reference
- Basic round progression instructions
- Purpose: General-purpose tasks
deep-research
- Deep Research specialized
- Round 1: Initial investigation, broad search
- Round 2: Keyword improvement, deepening
- Round 3: Final integration, verification
- Purpose: Investigation/research tasks
single-round
- For single execution
- Simple prompt structure
- Minimal use of round variables
- Purpose: One-off tasks
Available Jinja2 variables
Team / Judgment common variables
| Variable name | Type | Description |
|---|---|---|
user_prompt |
string | Original user prompt |
round_number |
int | Current round number (starting from 1) |
submission_history |
string | Past Submission history (formatted) |
ranking_table |
string | Leaderboard (formatted) |
team_position_message |
string | Team ranking message |
current_datetime |
string | Current date and time (ISO 8601 format) |
Evaluator-only variables
| Variable name | Type | Description |
|---|---|---|
user_prompt |
string | Original user prompt |
submission |
string | Agent submission content to be evaluated |
current_datetime |
string | Current date and time (ISO 8601 format) |
For details, refer to references/JINJA2-VARIABLES.md .
Example
Deep Research configuration example
[prompt_builder]
team_user_prompt = """
現在日時: {{ current_datetime }}
# タスク
{{ user_prompt }}
# ラウンド {{ round_number }}
{% if round_number == 1 %}
## 初期調査
- 広範な検索キーワードで情報収集
- 主要な情報源を特定
{% elif round_number == 2 %}
## 検索キーワード改善
- 前回の結果を分析し、より具体的なキーワードを使用
- 情報の空白を埋める
{% else %}
## 最終統合
- 情報を検証し、矛盾を解消
- 構造化された回答を作成
{% endif %}
# 過去の提出履歴
{{ submission_history }}
"""
evaluator_user_prompt = """
# 評価タスク
以下の提出内容を評価してください。
## ユーザタスク
{{ user_prompt }}
## 提出内容
{{ submission }}
"""
judgment_user_prompt = """
# 判定タスク
調査の継続が必要かどうかを判定してください。
## 判定基準
- 継続: 情報不足、重要な観点が欠落
- 終了: 十分な回答が可能
## ユーザタスク
{{ user_prompt }}
## 提出履歴
{{ submission_history }}
## リーダーボード
{{ ranking_table }}
"""
Custom judgment criteria example
judgment_user_prompt = """
# カスタム判定
以下の基準で継続・終了を判定してください。
## 終了条件(すべて満たす場合)
1. 3つ以上の情報源から確認が取れている
2. 数値データが含まれている
3. 最新情報(1年以内)が含まれている
## 継続条件(いずれかに該当)
1. 情報源が2つ以下
2. 推測や不確かな表現が多い
3. 重要な観点が欠落している
## ユーザタスク
{{ user_prompt }}
## 提出履歴
{{ submission_history }}
"""
Troubleshooting
For Jinja2 syntax errors, variable expansion issues, and multiline TOML strings, refer to the "Error avoidance" section in references/JINJA2-VARIABLES.md .
References
- TOML schema details:
references/TOML-SCHEMA.md - Jinja2 variable details:
references/JINJA2-VARIABLES.md - orchestrator configuration:
skills/mixseek-orchestrator-config/SKILL.md - evaluator configuration:
skills/mixseek-evaluator-config/SKILL.md