SocraticDialogueTask
Explore ideas through Socratic questioning. This task orchestrates a dialogue between specialized Questioner and Responder agents to challenge assumptions, explore implications, and identify contradictions.
Reasoning
Side-Effect: Safe
Multi-Agent
⚙️ ExecutionConfig.json
{
"initial_question": "Can AI possess true creativity?",
"input_files": ["docs/theory_of_mind.md"],
"max_depth": 5,
"challenge_assumptions": true,
"domain_constraints": ["Philosophy", "Computer Science"]
}
→
👁️ TabbedDisplay Output
Overview
Exchange 1
Synthesis
Question
"How do you define 'true' creativity in a way that excludes algorithmic generation?"
Response
"True creativity often implies intent and subjective experience, which current LLMs lack..."
Live Results Showcase
Explore actual dialogue transcripts and synthesis reports generated by this task in the test workspace.
Configuration Parameters
| Field | Type | Description |
|---|---|---|
initial_question* |
String | The starting hypothesis or question to explore. |
input_files |
List<String> | Optional glob patterns for files to provide context (e.g., source code or docs). |
max_depth |
Int | Number of Q&A exchanges. Default: 5. Range: 1-20. |
challenge_assumptions |
Boolean | If true, the questioner agent will actively look for and challenge logical leaps. |
domain_constraints |
List<String> | Limits the dialogue to specific fields (e.g., "Legal", "Physics"). |
Task Process Lifecycle
- Initialization: Loads context from
input_filesand validates theinitial_question. - Agent Creation: Spawns two distinct
ChatAgentinstances:- Questioner: Probes for contradictions and fundamental principles.
- Responder: Provides reasoned answers and acknowledges uncertainty.
- Dialogue Loop: Iterates through
max_depth. Each step is rendered in a new UI tab. - Synthesis: After the loop, the Responder agent reviews the entire transcript to summarize key insights.
- Artifact Generation: Produces a full Markdown transcript and links to HTML/PDF versions.
Embedded Usage (UnifiedHarness)
Invoke this task programmatically using the Cognotik embedding engine.
import com.simiacryptus.cognotik.plan.TaskType
import com.simiacryptus.cognotik.plan.tools.reasoning.SocraticDialogueTask.Companion.SocraticDialogue
import com.simiacryptus.cognotik.plan.tools.reasoning.SocraticDialogueTask.SocraticDialogueTaskExecutionConfigData
fun runDialogue(harness: UnifiedHarness, workspace: File) {
val config = SocraticDialogueTaskExecutionConfigData(
initial_question = "What are the ethical implications of autonomous coding agents?",
input_files = listOf("docs/ethics/*.md"),
max_depth = 6,
challenge_assumptions = true,
domain_constraints = listOf("Ethics", "Software Engineering")
)
harness.runTask(
taskType = SocraticDialogue,
typeConfig = TaskTypeConfig(), // Default settings
executionConfig = config,
workspace = workspace,
autoFix = true
)
println("Dialogue complete. Check SocraticDialogueTask_full_report_*.md in workspace.")
}
Direct Instantiation
For use within custom agents or orchestration loops.
val task = SocraticDialogueTask(
orchestrationConfig,
SocraticDialogueTaskExecutionConfigData(
initial_question = "Is the P vs NP problem solvable via heuristic search?",
input_files = listOf("src/**/*.kt"),
max_depth = 8,
challenge_assumptions = true,
domain_constraints = listOf("Computer Science", "Mathematics")
)
)
Prompt Segment
The following text is injected into the orchestrator's context to describe this tool:
SocraticDialogue - Explore ideas through Socratic questioning
** Specify the initial question or hypothesis to explore
** Optionally provide input files (supports glob patterns) for context
** Configure maximum dialogue depth (default: 5 exchanges)
** Enable/disable assumption challenging
** Optionally constrain to specific topics or domains
** Creates a dialogue between questioner and responder agents
** Explores definitions, assumptions, implications, and contradictions
** Produces a structured dialogue transcript with insights