-
Notifications
You must be signed in to change notification settings - Fork 793
feat(sisyphus): Add DeepTutor-inspired structural improvements #504
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
feat(sisyphus): Add DeepTutor-inspired structural improvements #504
Conversation
- Add Request Type Classification Matrix with min parallel calls enforcement - Add Tool Selection Strategy by exploration phase (Early/Middle/Late) - Add Sufficiency Check Gate with 5 checkpoints before implementation - Add Iteration Limits per task to prevent infinite loops Inspired by HKUDS/DeepTutor's structured approach to AI tutoring.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 issue found across 1 file
Confidence score: 4/5
- Tool invocation in
src/agents/sisyphus.tsuseslsp_references, so the agent can’t call the actuallsp_find_referencestool and any reference lookup requests will fail. - Despite the naming slip, the rest of the change looks straightforward, so merging should be safe once the tool name is aligned.
- Pay close attention to
src/agents/sisyphus.ts- tool invocation useslsp_referencesbut available tool islsp_find_references.
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="src/agents/sisyphus.ts">
<violation number="1" location="src/agents/sisyphus.ts:60">
P2: Incorrect tool name: `lsp_references` should be `lsp_find_references` to match the actual tool definition.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Greptile SummaryThis PR enhances Sisyphus's orchestration capabilities with structural patterns inspired by DeepTutor to enforce more disciplined exploration and prevent common failure modes like premature implementation and infinite fix loops. Key Improvements
These changes directly address token waste from premature implementation, under-exploration, and infinite fix loops while maintaining backward compatibility with existing prompt structure. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Sisyphus
participant Tools as Local Tools<br/>(grep/glob/read/lsp)
participant Agents as Agents<br/>(explore/librarian)
participant Oracle
User->>Sisyphus: Request (e.g., "Add feature X")
Note over Sisyphus: Phase 0: Classify Request Type
Sisyphus->>Sisyphus: Check classification matrix<br/>Type: Implementation → Min 4+ parallel calls
Note over Sisyphus: Phase 2A: Exploration (Early)
Sisyphus->>Sisyphus: Tool Strategy: Start with FREE tools
par Parallel Exploration
Sisyphus->>Tools: grep patterns (FREE)
Sisyphus->>Tools: glob files (FREE)
Sisyphus->>Tools: read relevant files (FREE)
Sisyphus->>Tools: lsp_references (FREE)
end
Tools-->>Sisyphus: Results
alt If gaps remain (Middle Phase)
Sisyphus->>Agents: background explore (CHEAP)
Sisyphus->>Agents: background librarian (CHEAP)
Agents-->>Sisyphus: Additional context
end
Note over Sisyphus: Sufficiency Check Gate
Sisyphus->>Sisyphus: Validate 5 checkpoints:<br/>Context, Patterns, Dependencies,<br/>Edge Cases, Scope
alt Score < 80%
Sisyphus->>Tools: Continue exploration
else Score >= 80%
Note over Sisyphus: Phase 2B: Implementation
Sisyphus->>Sisyphus: Create detailed todo list
Sisyphus->>Sisyphus: Track iteration count
loop Max 3 attempts per task
Sisyphus->>Tools: Implement changes
Sisyphus->>Tools: lsp_diagnostics
alt Attempt > 3
Sisyphus->>Oracle: Consult with full context (EXPENSIVE)
Oracle-->>Sisyphus: Strategic guidance
end
end
end
Note over Sisyphus: Phase 3: Completion
Sisyphus->>Tools: Final verification
Sisyphus-->>User: Task complete with evidence
|
Greptile's behavior is changing!From now on, if a review finishes with no comments, we will not post an additional "statistics" comment to confirm that our review found nothing to comment on. However, you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
|
sorry atm i don't think changing the way how sisyphus behaves kinda worried- can you share your experiences trying with this? |
Summary
This PR enhances Sisyphus's orchestration capabilities by incorporating structural patterns inspired by HKUDS/DeepTutor, an AI-based tutoring system with sophisticated multi-agent coordination.
Changes
1. Enhanced Request Type Classification Matrix
Conceptual,Implementation,Debugging,Refactoring2. Tool Selection Strategy by Phase
grep,glob,read)3. Sufficiency Check Gate
4. Iteration Limits (Per-Task Guardrails)
Motivation
These changes address common issues:
Testing
Summary by cubic
Strengthens Sisyphus orchestration with DeepTutor-inspired structure to enforce disciplined exploration and safe implementation. Improves tool selection, reduces wasted tokens, and prevents infinite fix loops.
New Features
Bug Fixes
Written for commit ac08891. Summary will update on new commits.