Sequence of tool development and LLM techniques learned or used¶
1. Doc (First experiment)¶
Basic prompt engineering techniques: - Capitalization in prompts to reinforce critical instructions - Two-step chunking strategy (chunk → meta summary) - Structural element extraction with tags (headings, tables, captions) - pymupdf4llm for LLM-friendly Markdown
2. Code Analyzer¶
Specialization and hierarchical analysis: - Multi-perspective analysis: 4 separate specialized LLM analyses per file (business logic, technical aspects, interfaces, issue detection) - Hierarchical analysis approach across multiple abstraction levels (file→package→module→system) - Dialog-based requirement clarification: LLM actively asks questions - Asynchronous processing with semaphore-based rate limiting for many LLM calls
3. AI survey¶
Initial agent workflows and structuring: - Single agent with workflow orchestration: Evaluation → Inquiry → Structuring - Structured JSON outputs as a basis for communication - Clarity score (0-1) for automatic evaluation - Pydantic for data validation in LLM outputs - Safeguards against infinite loops in JSON-driven systems
4. stt-helper¶
Cascading workflows: - Three-stage processing cascade: Cleaning → Revision → Formatting - Focused single-purpose prompts (one task per stage) - Development interface for prompt optimization:
- Interactive prompt adjustment during processing
- Insight into intermediate results of each stage
- Character-based chunking for longer texts
5. ppt-helper¶
Multi-agent architectures: - Two-agent architecture with clear roles (chat agent + artifact agent) - Structured JSON communication protocol between agents - Bidirectional “return channel”: Artifact agent can ask questions to chat agent (not just unidirectional) - Model selection based on prompt-following capabilities rather than just benchmarks - <1000 lines per file for LLM maintainability
6. Translate¶
Scaling and context management: - Multi-stage process: Markdown conversion → chunking → parallel translation → composition - Context management system: Glossaries, translated key terms, chunk summaries are passed on to LLM - Asynchronous parallel API calls for performance - Uniform Markdown pipeline instead of format-specific processing - Consistency across chunk boundaries through context transfer
7. TalkToDocuments¶
Extensive context utilization: - Utilization of large contexts without traditional chunking or vector databases - Tiktoken integration for token counting and visualization - Simple reference system [P1], [P2] instead of complex metadata - Intelligent content cleaning and deduplication before LLM processing - Direct retention of multiple documents in context (up to 20 documents)
8. TextTool¶
State management and systematic documentation: - Implementation_Status document: LLM maintains implementation status itself after each step - State-less development: Each new interaction possible with complete context - Artifact-centered approach (input/output areas instead of dialog prompts) - Curated tool library with 12 optimized prompts without meta comments - Combination of prompt engineering + heuristic filtering: Prompt following reinforced by downstream filtering - Differentiated prompt engineering strategy: Structured aspects for good prompt following, weak continuous text instructions - Automatic title generation through separate LLM calls for history function
9. Web Helper¶
Rapid prototyping and two-stage analysis: - Two-stage LLM processing: Content structure analysis → Suggestions for improvement → Application to content - JSON handling of large structured data (12 MB) with 256K token context - In-memory session processing (no persistent state)
10. Chart Tool¶
Complex multi-agent architecture with pattern libraries: - Intent→Plan→Execute workflow (three-stage evolution) - IntentService for intent classification (modification, single chart, multiple charts, analysis)
- PlanService translates intents into detailed execution plans
- ExecutionService coordinates with retry logic
-
Pattern libraries as a hybrid approach: 44 code patterns (23 implementation, 7 anti-patterns, 9 modification, 5 semantic)
-
LLM selects and adapts patterns based on data types
- Hybrid: LLM intelligence + templates
- fix_code() method for LLM-based self-correction with error feedback
- Retry logic: In case of errors, error message to LLM for code correction
- Controlled code execution with restricted built-ins, predefined safe globals
- Semantic analysis: SemanticColorHelper for natural language color specifications
- Multi-service orchestration: Multiple specialized services work together
11. Personnel cost calculator¶
Integrated hybrid architecture with state-based dialog guidance: - Strict hybrid architecture: LLM exclusively for parameter extraction, deterministic calculations completely LLM-free (Python Decimal for exact arithmetic) - LLM as an intelligent interface: Bridge between natural language and structured processing - State machine for dialog guidance: 7 defined states (INITIAL→PARSING→CLARIFYING→CALCULATING→COMPLETE, plus FALLBACK/ERROR) - Three-stage fallback mechanism: After 3 parse errors, automatic manual form with pre-filled values - JSON interface with Pydantic: Clear contract definition between LLM and backend - Structured requirements gathering: Special prompt guides department through systematic questions before development - Specification-first approach: 50 min. specification enabled 40 min. implementation (5700 lines in one round)
Text Style Editor¶
Control-based text transformation with a two-step process: - Two-step process: Neutralisation (10 dimensions) → Stylisation (34 controls in 7 categories) - Three slider types: Polar sliders (-10 to +10), intensity sliders (0-10) and step sliders (discrete options) - Intensity levels: Precise control from ‘light’ (1-2) to ‘extreme’ (9-10) - 23 presets: Predefined slider combinations for typical use cases - Hash code export/import: Persistence of settings across sessions - Flat architecture: 6 Python modules (app.py, config.py, llm_client.py, models.py, prompt_builder.py, token_counter.py) - Prompt builder: Context-specific LLM prompt generation based on controller settings - Technical stack: Python, Gradio 6, OpenAI-compatible API (vLLM), tiktoken - Methodological approach: Detailed specification (1,400 lines) prior to implementation to reduce iteration loops
Development line of LLM techniques:¶
Phase 1 - Basics (Doc, Code Analyzer): - Prompt engineering basics (capitalization, double reinforcement) - Chunking strategies - Multi-perspective analysis - Dialogue-based interaction
Phase 2 - Workflows (AI survey, stt-helper): - Structured JSON outputs with Pydantic - Cascading focused prompts - Workflow orchestration by LLM - Development interfaces for prompt iteration
Phase 3 - Multi-agents (ppt-helper): - Two-agent architectures - Bidirectional structured communication - Prompt following as a selection criterion
Phase 4 - Scaling (Translate, TalkToDocuments): - Context management systems - Large context usage (256K tokens) - Parallel API calls - Token tracking
Phase 5 - Systematization (TextTool, Web-Helper): - LLM maintains its own metadata (Implementation_Status) - Artifact-centered approaches - Two-stage analysis workflows
Phase 6 - Complex systems (Chart-Tool): - Intent→Plan→Execute Pattern - Pattern libraries as a hybrid approach - Self-correction mechanisms - Multi-service orchestration - Semantic analysis components
Phase 7 - Integrated architectures (personnel cost calculator): - Strict separation of LLM/deterministic logic as an architectural principle - State machines for robust dialog control - Fallback mechanisms for LLM uncertainty - Specification-first as a development methodology - Synthesis of earlier techniques (JSON/Pydantic, workflows, dialog control) into a robust overall system