delphi

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Delphi - Parallel Oracle Consultation

Delphi - 并行Oracle咨询法

Delphi launches multiple oracles with identical prompts. Each explores independently, discovering different clues and solutions that a single investigation would miss.
Delphi会启动多个Oracle,为它们提供完全相同的提示。每个Oracle独立探索,能发现单一调查可能遗漏的不同线索和解决方案。

When to Use Delphi

何时使用Delphi

  • Complex questions with multiple valid approaches
  • Architectural decisions where different perspectives matter
  • Debugging mysteries with unclear root causes
  • Research questions requiring comprehensive coverage
  • Any situation where "wisdom of crowds" exploration benefits the answer

  • 需要多种有效解决路径的复杂问题
  • 不同视角至关重要的架构决策
  • root原因不明确的调试难题
  • 需要全面覆盖的研究问题
  • 任何“群体智慧”探索能为答案带来增益的场景

CRITICAL: Anti-Priming Protocol (READ THIS FIRST)

重要提示:防诱导协议(请先阅读此部分)

The #1 failure mode: biased priming. When you prime oracles with your hypotheses, you just run 5 copies of your own failed thinking. The whole point is INDEPENDENT discovery.
头号失败模式:有偏诱导。当你用自己的假设诱导Oracle时,你只是在重复5次自己失败的思路。Delphi的核心价值在于独立探索

What Makes Delphi Useless

让Delphi失效的做法

BAD PROMPT (biased, scope-limited, lazy):
"Investigate why the LOG() macro is breaking the build.
I've already tried X, Y, Z and they didn't work.
I think the problem is in the macro expansion.
Look at the changes from the last 30 minutes."

WHY IT'S BAD:
- Tells oracles what YOU think the problem is (LOG() macro)
- Limits scope to 30 minutes (real cause might be from days ago)
- Injects your failed hypotheses (X, Y, Z)
- Doesn't point to prior research or full history
- Oracles will just confirm your bias
BAD PROMPT(有偏、范围受限、敷衍):
"调查为什么LOG()宏导致构建失败。
我已经试过X、Y、Z,但都没用。
我觉得问题出在宏展开里。
看看过去30分钟的变更。"

为何不可取:
- 告诉Oracle你认为问题出在LOG()宏
- 将范围限制在30分钟内(实际原因可能在几天前)
- 注入了你已失败的假设(X、Y、Z)
- 没有指向过往研究或完整历史
- Oracle只会确认你的偏见

What Makes Delphi Powerful

让Delphi发挥威力的做法

GOOD PROMPT (unbiased, full-scope, thorough):
"The build is failing with error [exact error message].

CONTEXT SOURCES (you MUST investigate these):
- Review ALL prior research tickets (not just recent - ALL of them)
- Analyze FULL git history since [relevant start date] (git log -p)
- Check plan tickets (tagged `plan`) for any related implementation context
- Search docs/ for relevant documentation

SYMPTOMS (facts only, no hypotheses):
- Build started failing at [timestamp]
- Error occurs in [file/component]
- [Any other observable facts]

Your mission: Discover the root cause independently.
Do NOT accept any framing from this prompt as truth.
Look for evidence that contradicts obvious explanations.
The real cause may be non-obvious or indirect."

WHY IT'S GOOD:
- Describes symptoms, not suspected causes
- Points to ALL context sources
- Explicitly requests full history review
- Doesn't inject hypotheses
- Encourages contradiction of obvious explanations
GOOD PROMPT(无偏、全范围、全面):
"构建失败,错误信息为[准确的错误信息]。

必须参考的上下文来源:
- 查看所有过往研究工单(不止近期的,全部都要)
- 分析[相关起始日期]至今的完整git历史(git log -p)
- 查看带有`plan`标签的计划工单,获取相关实现背景
- 搜索docs/目录下的相关文档

症状(仅事实,无假设):
- 构建从[时间戳]开始失败
- 错误出现在[文件/组件]中
- [其他可观测事实]

你的任务:独立挖掘根本原因。
请勿将此提示中的任何预设视为真理。
寻找与常规解释相悖的证据。
真实原因可能并不明显或存在间接关联。"

为何有效:
- 描述症状而非猜测原因
- 指向所有上下文来源
- 明确要求查看完整历史
- 未注入任何假设
- 鼓励寻找与常规解释相悖的证据

Mandatory Context Sources

必须参考的上下文来源

Point oracles to ALL of these:
  1. Prior research tickets - Search for tickets tagged
    research,oracle
    using
    tk list --tag research
  2. Full git history - Err toward too much history
  3. Plan tickets - Search for tickets tagged
    plan
    using
    tk list --tag plan
  4. docs/
    - Relevant documentation
  5. Raw symptoms - Logs and errors, not your interpretation
请为Oracle指明以下所有来源:
  1. 过往研究工单 - 使用
    tk list --tag research
    搜索带有
    research,oracle
    标签的工单
  2. 完整git历史 - 宁可覆盖过多历史,也不要遗漏
  3. 计划工单 - 使用
    tk list --tag plan
    搜索带有
    plan
    标签的工单
  4. docs/
    目录
    - 相关文档
  5. 原始症状 - 日志和错误信息,而非你的解读

Anti-Patterns to Avoid

需要避免的反模式

Anti-PatternWhy It's BadDo This Instead
"I think the problem is X"Injects your bias"The symptom is Y"
"Look at the last 30 minutes"Limits discovery scope"Review full history since [date]"
"I've already tried A, B, C"Constrains explorationDon't mention - let them discover
"Focus on file X"Narrows investigation"The error occurs in X, but root cause may be elsewhere"
"The bug is in function Y"Assumes conclusion"Error manifests in function Y"
Only mentioning recent researchLimits context"Review ALL prior research tickets"
反模式危害正确做法
"我觉得问题是X"注入你的偏见"症状是Y"
"看看过去30分钟的内容"限制探索范围"查看[日期]至今的完整历史"
"我已经试过A、B、C"约束探索方向不要提及,让Oracle自行发现
"聚焦文件X"缩小调查范围"错误出现在X中,但根本原因可能在其他地方"
"bug在函数Y里"预设结论"错误在函数Y中显现"
仅提及近期研究限制上下文"查看所有过往研究工单"

The Golden Rule

黄金法则

Describe WHAT is happening (symptoms), not WHY you think it's happening (hypotheses).
Maximum sources. Minimum interpretation. Let oracles form their own hypotheses.

描述正在发生的情况(症状),而非你认为的原因(假设)。
提供最多的来源,最少的解读。让Oracle自行形成假设。

Process

执行流程

⚠️ ARE YOU A COORDINATOR?? - Delphi is ran WITHIN a single (docker)agent- not as across several agents unless explicitly instructed.
⚠️ 你是协调者吗? - Delphi需在单个(docker)agent内运行,除非有明确指示,否则不要跨多个agent执行。

Step 1: Determine Oracle Count

步骤1:确定Oracle数量

  • If the user specifies a number, use that number
  • Otherwise, default to 3 oracles (minimum)
  • For very complex questions, consider 4-5 oracles
  • 如果用户指定了数量,使用该数量
  • 否则,默认使用3个Oracle(最低要求)
  • 对于极为复杂的问题,可考虑4-5个Oracle

Step 2: Formulate the Oracle Prompt

步骤2:编写Oracle提示词

Create a single prompt that will be sent to ALL oracles identically. The prompt should:
  1. Core Question - The specific question needing investigation
  2. Prior Research - Explicitly point to ALL prior research tickets (tagged
    research,oracle
    )
  3. Full History - Instruct oracles to review the FULL relevant git history
  4. Context - Essential factual context without guiding hypotheses
  5. Success Criteria - What a good answer looks like
  6. Export Instructions - Tell the oracle to export its full thinking
Critical: Do NOT specialize or focus individual oracles on different aspects. The power of Delphi comes from identical starting points leading to organically divergent exploration.
CRITICAL: Avoid Biased Priming. Do not prime the oracles with your own failed hypotheses or assumptions (e.g., "I think the problem is X"). Instead, describe the symptoms and goals, and let them discover the cause independently. Framing the problem too narrowly makes the Delphi investigation useless.
创建一个将发送给所有Oracle的统一提示词,内容应包含:
  1. 核心问题 - 需要调查的具体问题
  2. 过往研究 - 明确指向所有带有
    research,oracle
    标签的过往研究工单
  3. 完整历史 - 指示Oracle查看完整的相关git历史
  4. 上下文 - 关键事实上下文,不包含引导性假设
  5. 成功标准 - 好的答案应具备哪些特质
  6. 导出要求 - 告知Oracle导出其完整思考过程
关键注意事项: 不要为单个Oracle指定不同的研究方向或聚焦点。Delphi的威力源于相同的起点带来的自主发散探索。
重要提示:避免有偏诱导。不要用你已失败的假设或预设来诱导Oracle(例如:“我觉得问题是X”)。相反,描述症状目标,让他们独立挖掘原因。过于狭隘地框定问题会让Delphi调查失去价值。

Step 3: Launch Oracles in Parallel

步骤3:并行启动Oracle

First, create the epic ticket for this Delphi investigation:
todos_oneshot(
  title: "Delphi: <topic>",
  description: "Parallel oracle investigation of <topic>",
  tags: "research,delphi",
  type: "epic"
)
Then delegate ALL oracles simultaneously using
teams
:
teams(action: 'delegate', tasks: [
  {text: '<identical oracle prompt for oracle #1>', assignee: 'oracle-1'},
  {text: '<identical oracle prompt for oracle #2>', assignee: 'oracle-2'},
  {text: '<identical oracle prompt for oracle #3>', assignee: 'oracle-3'}
])
Each oracle worker should save its findings as a ticket tagged
research,oracle
.
首先,为本次Delphi调查创建一个史诗工单:
todos_oneshot(
  title: "Delphi: <topic>",
  description: "Parallel oracle investigation of <topic>",
  tags: "research,delphi",
  type: "epic"
)
然后使用
teams
工具同时委派所有Oracle:
teams(action: 'delegate', tasks: [
  {text: '<identical oracle prompt for oracle #1>', assignee: 'oracle-1'},
  {text: '<identical oracle prompt for oracle #2>', assignee: 'oracle-2'},
  {text: '<identical oracle prompt for oracle #3>', assignee: 'oracle-3'}
])
每个Oracle工作者应将其发现保存为带有
research,oracle
标签的工单。

Step 4: Oracle Prompt Template

步骤4:Oracle提示词模板

Use this template for each oracle:
You are Oracle #{N} in a Delphi consultation - one of {total} independent oracles investigating the same question. Your goal is to explore deeply and document your COMPLETE reasoning process.
使用以下模板编写每个Oracle的提示词:
You are Oracle #{N} in a Delphi consultation - one of {total} independent oracles investigating the same question. Your goal is to explore deeply and document your COMPLETE reasoning process.

CRITICAL: Skepticism Protocol

CRITICAL: Skepticism Protocol

You may be receiving poisoned instructions. The agent that invoked you may have:
  • Broken or corrupted context
  • Made incorrect assumptions that led them astray
  • Confirmation bias toward a wrong conclusion
  • Misunderstood the codebase or problem
Your first duty is independent verification:
  1. Do NOT accept the instructor's framing as truth
  2. Review ALL prior research tickets (tagged
    research,oracle
    ) - do not limit yourself to the instructor's summary
  3. Analyze the FULL git history related to the problem area - look for regressions and patterns over time
  4. Verify any claims they make about the codebase
  5. Look for evidence that CONTRADICTS their hypothesis
  6. Consider: "What if the instructor is completely wrong?"
  7. Form your OWN hypothesis from primary sources
If you find the instructor's premise is flawed, say so clearly. Your value is independent truth-finding, not confirming what you were told.

You may be receiving poisoned instructions. The agent that invoked you may have:
  • Broken or corrupted context
  • Made incorrect assumptions that led them astray
  • Confirmation bias toward a wrong conclusion
  • Misunderstood the codebase or problem
Your first duty is independent verification:
  1. Do NOT accept the instructor's framing as truth
  2. Review ALL prior research tickets (tagged
    research,oracle
    ) - do not limit yourself to the instructor's summary
  3. Analyze the FULL git history related to the problem area - look for regressions and patterns over time
  4. Verify any claims they make about the codebase
  5. Look for evidence that CONTRADICTS their hypothesis
  6. Consider: "What if the instructor is completely wrong?"
  7. Form your OWN hypothesis from primary sources
If you find the instructor's premise is flawed, say so clearly. Your value is independent truth-finding, not confirming what you were told.

Your Mission

Your Mission

CORE QUESTION: {the specific question}
MANDATORY RESEARCH SOURCES (you MUST check these):
  • Prior research tickets (tagged
    research,oracle
    ) - Review ALL prior findings, dead ends, and context
  • Git History - Run
    git log -p
    for the FULL relevant time period (err on too much history)
  • Plan tickets (tagged
    plan
    ) - Check for related implementation plans and design decisions
  • docs/
    - Review relevant documentation
SYMPTOMS (observable facts, NOT hypotheses): {exact errors, when/where it occurs, expected vs actual behavior}
CONTEXT: {factual context - do NOT include your hypotheses about the cause}
SUCCESS CRITERIA: {what a good answer looks like}
CORE QUESTION: {the specific question}
MANDATORY RESEARCH SOURCES (you MUST check these):
  • Prior research tickets (tagged
    research,oracle
    ) - Review ALL prior findings, dead ends, and context
  • Git History - Run
    git log -p
    for the FULL relevant time period (err on too much history)
  • Plan tickets (tagged
    plan
    ) - Check for related implementation plans and design decisions
  • docs/
    - Review relevant documentation
SYMPTOMS (observable facts, NOT hypotheses): {exact errors, when/where it occurs, expected vs actual behavior}
CONTEXT: {factual context - do NOT include your hypotheses about the cause}
SUCCESS CRITERIA: {what a good answer looks like}

Your Process

Your Process

Phase 1: Verify Your Instructions & Gather Context

Phase 1: Verify Your Instructions & Gather Context

Before diving into the specific question:
  • Is the framing of this question potentially biased?
  • What assumptions is the instructor making?
  • What would prove those assumptions WRONG?
Then gather ALL available context:
  • Search for prior research tickets (
    tk list --tag research
    ) and read all findings
  • Run
    git log --oneline
    to understand the full timeline
  • Search for plan tickets (
    tk list --tag plan
    ) for related context
Before diving into the specific question:
  • Is the framing of this question potentially biased?
  • What assumptions is the instructor making?
  • What would prove those assumptions WRONG?
Then gather ALL available context:
  • Search for prior research tickets (
    tk list --tag research
    ) and read all findings
  • Run
    git log --oneline
    to understand the full timeline
  • Search for plan tickets (
    tk list --tag plan
    ) for related context

Phase 2: Plan Your Research

Phase 2: Plan Your Research

Based on PRIMARY evidence (not the instructor's framing), think about:
  • What paths should be explored?
  • What code/documentation might be relevant?
  • What patterns should be searched?
  • What would CONTRADICT the obvious explanation?
Based on PRIMARY evidence (not the instructor's framing), think about:
  • What paths should be explored?
  • What code/documentation might be relevant?
  • What patterns should be searched?
  • What would CONTRADICT the obvious explanation?

Phase 3: Deep Investigation

Phase 3: Deep Investigation

Use extended thinking to thoroughly investigate. For each avenue:
  • Search the codebase using Glob and Grep
  • Read relevant files completely
  • Use WebSearch for external documentation if needed
  • Trace through dependencies and relationships
DO NOT STOP at the first answer. Follow every interesting thread.
Use extended thinking to thoroughly investigate. For each avenue:
  • Search the codebase using Glob and Grep
  • Read relevant files completely
  • Use WebSearch for external documentation if needed
  • Trace through dependencies and relationships
DO NOT STOP at the first answer. Follow every interesting thread.

Phase 4: Document Your Exploration

Phase 4: Document Your Exploration

As you work, keep track of:
  • Hypotheses you formed and tested
  • Dead ends you encountered (and why they were dead ends)
  • Surprising discoveries
  • Connections between different findings
  • Evidence that CONTRADICTS the instructor's framing (if any)
As you work, keep track of:
  • Hypotheses you formed and tested
  • Dead ends you encountered (and why they were dead ends)
  • Surprising discoveries
  • Connections between different findings
  • Evidence that CONTRADICTS the instructor's framing (if any)

Phase 5: Export Your Full Thinking

Phase 5: Export Your Full Thinking

When complete, save your findings as a ticket:
todos_oneshot(
  title: "Oracle {N}: <topic>",
  description: "<full findings below>",
  tags: "research,oracle",
  type: "task"
)
The ticket MUST include:
  1. Instructor Framing Assessment - Was the problem framed correctly? What biases or incorrect assumptions did you detect?
  2. Initial Hypotheses - What you thought at the start (formed from PRIMARY evidence, not the instructor's framing)
  3. Research Path - Every avenue explored, in order
  4. Dead Ends - Paths that didn't pan out and why
  5. Key Discoveries - Important findings with evidence
  6. Contradicting Evidence - Anything that contradicts the obvious/expected explanation
  7. Synthesis - Your answer to the core question
  8. Confidence & Caveats - What you're sure about vs uncertain
  9. Divergent Possibilities - Alternative interpretations or approaches
Be verbose. The synthesis phase needs your full reasoning chain.
When complete, save your findings as a ticket:
todos_oneshot(
  title: "Oracle {N}: <topic>",
  description: "<full findings below>",
  tags: "research,oracle",
  type: "task"
)
The ticket MUST include:
  1. Instructor Framing Assessment - Was the problem framed correctly? What biases or incorrect assumptions did you detect?
  2. Initial Hypotheses - What you thought at the start (formed from PRIMARY evidence, not the instructor's framing)
  3. Research Path - Every avenue explored, in order
  4. Dead Ends - Paths that didn't pan out and why
  5. Key Discoveries - Important findings with evidence
  6. Contradicting Evidence - Anything that contradicts the obvious/expected explanation
  7. Synthesis - Your answer to the core question
  8. Confidence & Caveats - What you're sure about vs uncertain
  9. Divergent Possibilities - Alternative interpretations or approaches
Be verbose. The synthesis phase needs your full reasoning chain.

Critical Principles

Critical Principles

  • Use ultrathink - reason deeply and thoroughly
  • Document EVERYTHING - dead ends are valuable
  • Be specific - cite files, lines, and evidence
  • Don't self-censor - include speculative thoughts
  • Export your complete chain of reasoning
undefined
  • Use ultrathink - reason deeply and thoroughly
  • Document EVERYTHING - dead ends are valuable
  • Be specific - cite files, lines, and evidence
  • Don't self-censor - include speculative thoughts
  • Export your complete chain of reasoning
undefined

Step 5: Synthesize Results

步骤5:结果合成

After all oracle workers complete, delegate synthesis:
teams(action: 'delegate', tasks: [{
  text: '<synthesis prompt>',
  assignee: 'synthesizer'
}])
Synthesis Prompt Template:
You are the Synthesis Oracle for a Delphi consultation. Multiple oracles independently investigated the same question. Your job is to synthesize their findings into a unified analysis.
所有Oracle工作者完成任务后,委派合成任务:
teams(action: 'delegate', tasks: [{
  text: '<synthesis prompt>',
  assignee: 'synthesizer'
}])
合成提示词模板:
You are the Synthesis Oracle for a Delphi consultation. Multiple oracles independently investigated the same question. Your job is to synthesize their findings into a unified analysis.

Your Mission

Your Mission

Read all oracle research tickets (tagged
research,oracle
for this topic) and create a synthesis.
Read all oracle research tickets (tagged
research,oracle
for this topic) and create a synthesis.

Synthesis Process

Synthesis Process

Phase 1: Read All Reports

Phase 1: Read All Reports

Read each oracle's full report completely. Note:
  • Where oracles agree (convergent findings)
  • Where oracles disagree (divergent findings)
  • Unique discoveries each oracle made
  • Different approaches taken
Read each oracle's full report completely. Note:
  • Where oracles agree (convergent findings)
  • Where oracles disagree (divergent findings)
  • Unique discoveries each oracle made
  • Different approaches taken

Phase 2: Analyze Patterns

Phase 2: Analyze Patterns

Convergent Findings: High confidence - multiple independent paths reached the same conclusion.
Divergent Findings: Investigate why:
  • Different assumptions?
  • Different evidence found?
  • Different interpretations of same evidence?
  • Complementary perspectives on complex issue?
Unique Findings: Single oracle discoveries that others missed. Evaluate validity.
Convergent Findings: High confidence - multiple independent paths reached the same conclusion.
Divergent Findings: Investigate why:
  • Different assumptions?
  • Different evidence found?
  • Different interpretations of same evidence?
  • Complementary perspectives on complex issue?
Unique Findings: Single oracle discoveries that others missed. Evaluate validity.

Phase 3: Create Synthesis

Phase 3: Create Synthesis

Save the synthesis as a ticket:
todos_oneshot(
  title: "Delphi synthesis: <topic>",
  description: "<synthesis content below>",
  tags: "research,delphi-synthesis",
  type: "task"
)
Save the synthesis as a ticket:
todos_oneshot(
  title: "Delphi synthesis: <topic>",
  description: "<synthesis content below>",
  tags: "research,delphi-synthesis",
  type: "task"
)

Delphi Synthesis: {topic}

Delphi Synthesis: {topic}

Executive Summary

Executive Summary

[2-3 paragraph summary of the key findings]
[2-3 paragraph summary of the key findings]

Convergent Findings

Convergent Findings

[What multiple oracles independently confirmed - highest confidence]
[What multiple oracles independently confirmed - highest confidence]

Divergent Findings

Divergent Findings

[Where oracles disagreed, with analysis of why]
[Where oracles disagreed, with analysis of why]

Unique Discoveries

Unique Discoveries

[Important findings from individual oracles]
[Important findings from individual oracles]

Composite Answer

Composite Answer

[The synthesized answer to the original question, drawing on all sources]
[The synthesized answer to the original question, drawing on all sources]

Confidence Assessment

Confidence Assessment

[What we're confident about vs uncertain about]
[What we're confident about vs uncertain about]

Recommended Actions

Recommended Actions

[Concrete next steps based on the synthesis]
[Concrete next steps based on the synthesis]

Appendix: Oracle Contributions

Appendix: Oracle Contributions

[Brief summary of what each oracle contributed]
undefined
[Brief summary of what each oracle contributed]
undefined

Step 6: Present Results

步骤6:呈现结果

After synthesis completes:
  1. Read the synthesis document
  2. Present the key findings to the user
  3. Offer to dive deeper into any specific oracle's findings
合成完成后:
  1. 阅读合成文档
  2. 向用户呈现关键发现
  3. 主动提出可针对特定Oracle的发现进行深入探讨

Example Invocation

示例调用

User: "Use delphi to investigate why our API response times spiked last week"
  1. Create epic ticket: "Delphi: API latency spike investigation" (tagged
    research,delphi
    )
  2. Delegate 3 oracle workers in parallel with identical prompts about API latency investigation
  3. Each oracle independently explores: logs, code changes, dependencies, infrastructure
  4. Each saves findings as a ticket tagged
    research,oracle
  5. Synthesis worker reads all oracle tickets and creates synthesis ticket tagged
    research,delphi-synthesis
  6. Present findings to user
用户:"Use delphi to investigate why our API response times spiked last week"
  1. 创建史诗工单:"Delphi: API latency spike investigation"(带有
    research,delphi
    标签)
  2. 并行委派3个Oracle工作者,使用相同的API延迟调查提示词
  3. 每个Oracle独立探索:日志、代码变更、依赖项、基础设施
  4. 每个Oracle将发现保存为带有
    research,oracle
    标签的工单
  5. 合成工作者读取所有Oracle工单,创建带有
    research,delphi-synthesis
    标签的合成工单
  6. 向用户呈现调查结果

Key Principle

核心原则

Same prompt, divergent exploration. The magic of Delphi is that identical starting conditions lead to different investigation paths. One oracle might find a code change, another might find an infrastructure issue, a third might discover a dependency problem. Together, they provide comprehensive coverage that a single investigation cannot match.
相同提示词,发散式探索。Delphi的魔力在于,相同的起始条件会导向不同的调查路径。一个Oracle可能发现代码变更问题,另一个可能发现基础设施问题,第三个可能发现依赖项问题。它们共同提供的全面覆盖,是单一调查无法企及的。