Skip to content
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

[Feature request]: Proposal for Pattern Naming Convention with Distinctive Action Verbs #1160

Open
butterflyx opened this issue Nov 25, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@butterflyx
Copy link
Contributor

butterflyx commented Nov 25, 2024

What do you need?

Thank you so much for all the amazing work you've put into this project! It's been incredibly valuable, and I'd like to propose an enhancement to the naming conventions to make the usage of patterns even more intuitive and consistent.

This is an initial suggestion for refining the naming conventions within the pattern catalog, incorporating distinctive action verbs and decision trees to assist with pattern naming. I'm eager to discuss and refine it further with the community.


Why This Improvement is Needed:

The current variety of action verbs and inconsistent pattern names can sometimes make it challenging to quickly understand the purpose and expected output of various patterns. This can create some friction for new users and even for experienced contributors trying to navigate the rapidly expanding catalog of available and user-contributed patterns efficiently.


Proposed New Naming Convention:

  • Three-Part Structure: Adopt a consistent naming structure of action_verb, subject, object. This structure clearly indicates the action being performed, the main focus, and the specific item being acted upon.

    • Format: action_verb + subject + object
    • Components:
      • action_verb: The operation or task being performed (e.g., analyze, create, evaluate).
      • subject: The primary focus or entity involved in the action (e.g., security, design, candidate).
      • object: The specific aspect or item the action is performed upon (e.g., logs, document, performance).
  • Focused Set of Action Verbs with Synonyms:

    Below is the list of core action verbs, each accompanied by synonyms to assist contributors in selecting the appropriate verb.

    1. analyze_

    • Description: Breaking down information into parts to understand patterns, insights, or key components.
    • Synonyms: examine, dissect, interpret, study, scrutinize, investigate, explore
    • Examples:
      • analyze_market_trends
      • analyze_user_feedback

    2. evaluate_

    • Description: Assessing the quality, effectiveness, or value of something based on set criteria or standards.
    • Synonyms: assess, judge, rate, appraise, measure, review, score
    • Examples:
      • evaluate_project_risks
      • evaluate_training_effectiveness

    3. extract_

    • Description: Retrieving specific information, insights, or elements from a larger body of data or content.
    • Synonyms: retrieve, derive, pull out, obtain, gather, isolate
    • Examples:
      • extract_customer_requirements
      • extract_key_points

    4. create_

    • Description: Generating new content or outputs from scratch.
    • Synonyms: generate, produce, develop, compose, formulate, construct
    • Examples:
      • create_user_manual
      • create_marketing_plan

    5. optimize_

    • Description: Improving efficiency, effectiveness, or performance of existing content or solutions.
    • Synonyms: improve, enhance, refine, streamline, upgrade, perfect
    • Examples:
      • optimize_database_queries
      • optimize_ui_design

    6. explain_

    • Description: Clarifying, providing detailed descriptions, or making a concept or subject easier to understand.
    • Synonyms: clarify, elucidate, interpret, expound, simplify, describe
    • Examples:
      • explain_regulatory_compliance
      • explain_api_endpoints

    7. guide_

    • Description: Providing interactive support or leading through a process, often in a conversational manner.
    • Synonyms: assist, lead, mentor, coach, navigate, instruct
    • Examples:
      • guide_product_setup
      • guide_interview_preparation
  • Special Cases:

    • misc_: For miscellaneous tasks that don't fit other categories.
    • _official_ and test_: Reserved for internal, system-level patterns or testing purposes.

Benefits of Naming Convention:

  • Clarity: A smaller, well-defined set of action verbs helps contributors quickly understand the action being performed.
  • Readability: This naming pattern conveys the kind of data involved and the expected output, making it easier to understand at a glance.
  • Consistency: A standardized approach reduces ambiguity and makes the codebase more predictable for developers.

Suggested Action Verbs with Examples and Decision Trees:

Below are the proposed action verbs, their descriptions, use cases, examples, and decision trees to help decide when to use each verb.

1. analyze_

  • Description: Use analyze_ to break down information into parts to understand patterns, insights, or key components.

  • Use Case: Suitable for examining data, text, or other inputs to derive understanding, insights, or to perform diagnostics. The focus is on understanding the "how" and "why" behind the data without necessarily making judgments about its quality.

  • Examples:

    • analyze_logs: Break down log files to identify patterns or anomalies.
    • analyze_paper: Dissect a research paper to understand its methodology and findings.
    • analyze_thinker_work: Examine the teachings of a philosopher to understand their ideas.
  • Decision Tree:

    • Does the task involve understanding or interpreting data or content?

      • Yes: Use analyze_.
      • No: Proceed to the next verb.
    • Is the primary goal to assess quality or make judgments?

      • Yes: Consider evaluate_.
      • No: Use analyze_.
  • Patterns to Merge:

    • capture_thinkers_work >> analyze_thinker_work
    • compare_and_contrast >> analyze_comparison
    • find_logical_fallacies >> analyze_logical_fallacies
    • identify_dsrp_distinctions >> analyze_dsrp_distinctions
    • identify_dsrp_perspectives >> analyze_dsrp_perspectives
    • identify_dsrp_relationships >> analyze_dsrp_relationships
    • identify_dsrp_systems >> analyze_dsrp_systems
    • identify_job_stories >> analyze_job_stories
    • solve_with_cot >> analyze_with_cot

2. evaluate_

  • Description: Use evaluate_ to assess the quality, effectiveness, or value of something based on set criteria or standards.

  • Use Case: Ideal for tasks that involve judgment or rating against a benchmark, often to assess compliance, quality, or suitability. The focus is on making judgments about the "goodness," "suitability," or "performance" of the subject.

  • Examples:

    • evaluate_code_quality: Assess code for adherence to best practices.
    • evaluate_candidates: Determine suitability of candidates for a role.
    • evaluate_ai_response: Judge the quality of an AI-generated response.
  • Decision Tree:

    • Is the primary goal to judge or assess quality, effectiveness, or value?

      • Yes: Use evaluate_.
      • No: Proceed to the next verb.
    • Does the task involve understanding or interpreting data without making judgments?

      • Yes: Consider analyze_.
      • No: Use evaluate_.
  • Patterns to Merge:

    • analyze_candidates >> evaluate_candidates (determine suitability for a position or role)
    • analyze_product_feedback >> evaluate_product_feedback (assess the quality or impact of feedback)
    • analyze_interviewer_techniques >> evaluate_interviewer_techniques (assess the effectiveness of interview methods)
    • label_and_rate >> evaluate_labels (assigning scores or labels implies evaluation)
    • review_design >> evaluate_design (focus on assessing the quality or appropriateness of the design)
    • rate_ai_response >> evaluate_ai_response (to assess the quality of the AI response)
    • rate_ai_result >> evaluate_ai_result (to determine the quality or correctness of the AI-generated result)
    • rate_content >> evaluate_content (to judge the quality of content)
    • rate_value >> evaluate_value (to determine the value of something)
    • get_wow_per_minute >> evaluate_wow_per_minute (assigning a score for the "wow factor")
    • ai >> evaluate_ai_response

3. extract_

  • Description: Use extract_ to retrieve specific information, insights, or elements from a larger body of data or content.

  • Use Case: Best for tasks involving targeted retrieval of specific information. The focus is on isolating relevant elements from a larger dataset.

  • Examples:

    • extract_core_message: Retrieve the main point from a text.
    • extract_recommendations: Pull out actionable advice from a report.
    • extract_hidden_messages: Find hidden messages within content.
  • Decision Tree:

    • Does the task involve retrieving specific information from a larger dataset?

      • Yes: Use extract_.
      • No: Proceed to the next verb.
    • Is the task about generating new content from scratch?

      • Yes: Consider create_.
      • No: Use extract_.
  • Patterns to Merge:

    • get_youtube_rss >> extract_youtube_rss
    • export_data_as_csv >> extract_data_as_csv
    • find_hidden_message >> extract_hidden_messages

4. create_

  • Description: Use create_ to generate new content or outputs from scratch.

  • Use Case: Ideal for tasks that involve constructing something new, such as documents, diagrams, visualizations, or narratives.

  • Examples:

    • create_summary: Generate a summary of a document.
    • create_design_document: Develop a new design document.
    • create_logo: Design a new company logo.
  • Decision Tree:

    • Is the task about generating new content from scratch?

      • Yes: Use create_.
      • No: Proceed to the next verb.
    • Is the task about improving existing content?

      • Yes: Consider optimize_.
      • No: Use create_.
  • Patterns to Merge:

    • agility_story >> create_agility_story
    • write_agile_userstory >> create_agile_userstory
    • write_essay >> create_essay
    • write_hackerone_report >> create_hackerone_report
    • write_latex >> create_latex
    • write_micro_essay >> create_micro_essay
    • write_nuclei_template_rule >> create_nuclei_template_rule
    • write_pull-request >> create_pull_request_summary
    • write_semgrep_rule >> create_semgrep_rule
    • answer_interview_question >> create_interview_responses
    • prepare_7s_strategy >> create_7s_strategy
    • raw_query >> create_raw_query
    • recommend_artists >> create_artist_recommendation
    • recommend_pipeline_upgrades >> create_pipeline_upgrade_recommendations
    • recommend_talkpanel_topics >> create_talkpanel_topics
    • refine_design_document >> create_design_document_refinement
    • suggest_pattern >> create_pattern_suggestion
    • summarize_debate >> create_debate_summary
    • summarize_git_changes >> create_git_changes_summary
    • summarize_git_diff >> create_git_diff_summary
    • summarize_lecture >> create_lecture_summary
    • summarize_legislation >> create_legislation_summary
    • summarize_meeting >> create_meeting_summary
    • summarize_newsletter >> create_newsletter_summary
    • summarize_paper >> create_paper_summary
    • summarize_prompt >> create_prompt_summary
    • summarize_pull-requests >> create_pull_requests_summary
    • summarize_rpg_session >> create_rpg_session_summary
    • transcribe_minutes >> create_minutes_transcription

5. optimize_

  • Description: Use optimize_ to improve efficiency, effectiveness, or performance of existing content or solutions. This conveys an iterative improvement process.

  • Use Case: Best for tasks that focus on refining or enhancing existing content to achieve better outcomes.

  • Examples:

    • optimize_writing: Improve the clarity and style of existing text.
    • optimize_algorithm_performance: Enhance the efficiency of an algorithm.
  • Decision Tree:

    • Is the task about improving existing content or solutions?

      • Yes: Use optimize_.
      • No: Proceed to the next verb.
    • Is the task about creating something new from scratch?

      • Yes: Consider create_.
      • No: Use optimize_.
  • Patterns to Merge:

    • improve_academic_writing >> optimize_academic_writing
    • improve_prompt >> optimize_prompt
    • improve_report_finding >> optimize_report_finding
    • improve_writing >> optimize_writing

6. explain_

  • Description: Use explain_ to clarify, provide detailed descriptions, or make a concept or subject easier to understand.

  • Use Case: Ideal for tasks where users need a detailed explanation or walkthrough of a complex topic.

  • Examples:

    • explain_code: Provide a detailed explanation of code.
    • explain_project: Summarize and clarify project documentation.
    • explain_terms: Define advanced terms.
  • Decision Tree:

    • Is the task about clarifying or explaining a concept or subject?

      • Yes: Use explain_.
      • No: Proceed to the next verb.
    • Is the task about generating new content or analyzing data?

      • Yes: Consider create_ or analyze_.
      • No: Use explain_.
  • Patterns to Merge:

    • none

7. guide_

  • Description: Use guide_ for actions that involve interactive support or leading through a process, often in a conversational manner.

  • Use Case: Best for conversational flows, guidance interactions, or Q&A prompts where the system responds in a human-like, interactive way.

  • Examples:

    • guide_socratic_dialog: Engage in a Socratic dialogue.
    • guide_secure_design_questions: Lead through security-focused design questions.
    • guide_general_advice: Provide personalized guidance.
  • Decision Tree:

    • Is the task about providing interactive guidance or leading through a process?

      • Yes: Use guide_.
      • No: Proceed to the next verb.
    • Is the task about explaining or analyzing content?

      • Yes: Consider explain_ or analyze_.
      • No: Use guide_.
  • Patterns to Merge:

    • ask_secure_by_design_questions >> guide_secure_design_questions
    • ask_uncle_duke >> guide_with_uncle_duke
    • dialog_with_socrates >> guide_socratic_dialog
    • provide_guidance >> guide_general_advice
    • tweet >> guide_tweet_creation

8. misc_

  • Description: Use misc_ for tasks that do not fit neatly into other categories.

  • Use Case: Utility functions or one-off tasks not covered by other verbs.

  • Examples:

    • misc_clean_text: Clean and format text.
    • misc_translate: Translate text between languages.
  • Decision Tree:

    • Does the task not fit under any other action verb?
      • Yes: Use misc_.
      • No: Use the appropriate verb.
  • Patterns to Merge:

    • translate >> misc_translate
    • to_flashcards >> misc_to_flashcards
    • clean_text >> misc_clean_text
    • coding_master >> misc_coding_master
    • loaded >> misc_loaded
    • md_callout >> misc_md_callout
    • raycast >> misc_raycast

9. _official_

  • Description: Use this prefix for internal or system-level patterns that are not meant for specific tasks or are intended as templates or reference.

  • Use Case: Best for template patterns, internal references, or placeholders intended for system use or future modifications.

  • Patterns to Merge:

    • official_pattern_template >> _official_pattern_template
    • show_fabric_options_markmap >> _official_show_fabric_options_markmap

10. test_

  • Description: Use this prefix for test patterns, intended to verify functionality or output of a pattern.

  • Use Case: Never imported into official repository.


Decision Tree for Choosing the Right Action Verb

  1. Do you need to break down or understand the components of something?

    • Yes: Use analyze_.
    • No: Proceed to the next question.
  2. Are you assessing the quality, value, or effectiveness of something?

    • Yes: Use evaluate_.
    • No: Proceed to the next question.
  3. Are you retrieving specific information from a larger set of data?

    • Yes: Use extract_.
    • No: Proceed to the next question.
  4. Are you generating new content or creating something from scratch?

    • Yes: Use create_.
    • No: Proceed to the next question.
  5. Are you improving or refining existing content or solutions?

    • Yes: Use optimize_.
    • No: Proceed to the next question.
  6. Do you need to clarify or explain a concept to make it easier to understand?

    • Yes: Use explain_.
    • No: Proceed to the next question.
  7. Are you providing guidance or leading someone through a process?

    • Yes: Use guide_.
    • No: Use misc_ for miscellaneous tasks.

Note: If you think of a verb that's not listed, check the synonyms to find the corresponding action verb.


Guidelines for Introducing New Verbs

To keep the naming system simple while ensuring clarity:

  • Ensure Distinctiveness: Introduce a new verb only if it represents a unique type of action not covered by existing verbs.
  • Avoid Overlapping Synonyms: Choose one verb that best represents the action to prevent confusion.
  • Logical Categorization: Add new verbs only if they truly extend beyond the scope of existing ones.

The goal is to ensure that each verb is unique and intuitive, keeping the system straightforward and easy to use.


Next Steps:

As the pattern catalog continues to expand rapidly with more users adopting fabric and contributing new patterns, implementing this naming convention soon could greatly enhance consistency and usability for everyone involved. I'm more than happy to assist with this effort in any way I can—whether it's updating documentation, providing examples, or helping to rename existing patterns to align with the new standard.

If you believe this proposal has potential, I'd be thrilled to hear your thoughts. Are there any concerns or suggestions on how we could improve it further? I'm eager to collaborate and refine it based on the community's input.

Thank you once again for considering this suggestion!


I'm excited about the possibility of making the pattern catalog even more user-friendly and consistent, especially as we continue to grow and welcome more contributors. I look forward to your feedback and the opportunity to enhance the project together.

@butterflyx butterflyx added the enhancement New feature or request label Nov 25, 2024
@rolpro
Copy link

rolpro commented Dec 1, 2024

awesome idea!

@davedittrich
Copy link

I also like the idea of more structure and rigor in categorizing patterns so it is easier to understand what they do. Taxonomies are always fun to define and get people to agree upon, though, so this might need some discussion and experimentation.

The main benefit I can think of is to make it possible to have something more manageable than --patterns provides now, which is an ever growing list as more patterns are added by PRs. Without going to a directory hierarchy, structured names that follow something like the action-verb + subject + object paradigm to list just the top level categories, then subjects, then objects.

I recently came upon a different prompt organization method that I could envision pre-configuring to use specific LLMs per prompt type. The prompt types are:

  • Expansion
  • Compression
  • Conversion
  • Seeker
  • Action
  • Reasoning

Those seem to encompass the original proposed verbs and not require a misc_ category that may end up with a large set of patterns that themselves will be hard to differentiate.

As to this other proposed method of organizing patterns, let me use fabric to help summarize it. ;)

$ fabric -y https://youtu.be/pytSbBRoFw8?si=4pLZWKiGBeMkZMUo | fabric -p extract_wisdom

SUMMARY

Indie Dev Dan discusses a framework for categorizing large language model use cases into six types: expansion, compression, conversion, seeker, action, and reasoning.

IDEAS:

  • Expansion prompts generate content, provide explanations, facilitate learning, generate ideas, write stories, generate code, and create documentation.

  • Compression prompts distill, summarize, gather key points, extract key information, and build summaries from large inputs.

  • Conversion prompts change the format of information, such as text to code, text to SQL.

  • Seeker prompts query information and extract data, like codebase question answering, support keyway bots, and document search.

  • Action prompts execute real-world commands, with tool calling being the most fundamental form of this category.

  • Reasoning prompts provide judgments, insights, and decisions based on complex inputs, useful for decision-making and planning.

  • Organizing generative AI work into categories helps speed up and simplify generative AI work overall.

  • Mental frameworks, like the one presented, can help create better and faster decision-making in various contexts.

  • Classifying generative AI problems into categories simplifies prompt engineering and selecting the right AI tooling.

  • Categories provide a way to create reusable benchmarks for solving problems within each specific category.

  • The framework is useful for guiding agentic design, simplifying the shape and structure of AI agents.

  • The goal is to build "living software" that works while humans sleep, requiring larger AI agents.

  • Chains of prompts and workflows of prompt categories make it easier to design AI agents.

  • The framework helps accelerate generative AI engineering by providing a simple, structured approach to problem-solving.

  • Expansion prompts take small inputs and convert them into larger outputs, expanding the input text.

  • Compression prompts are the opposite of expansion prompts, taking large inputs and making them smaller.

  • Conversion prompts are distinct from compression and expansion, focusing on format change rather than size.

  • Seeker prompts are valuable for businesses, built around querying information and extracting specific, needed data.

  • Seeker prompts differ from compression because they seek a specific piece of information, not just format.

  • Action prompts have a concrete side effect, allowing large language models to act in the real world.

  • Reasoning prompts are the most powerful, making decisions based on complex sets of inputs and states.

  • Use cases for reasoning prompts include decision-making, planning, problem-solving, risk assessment, trend analysis, and recommendation.

  • Categorizing your large language model use case immediately narrows down the prompt engineering approach and tooling.

  • You can chain categories to guide AI agents and agentic workflows, breaking down tasks sequentially.

  • Each category has distinct success metrics, patterns, tooling, benchmarks, and prompt structures, allowing for reusability.

  • The power of this large language model use case framework lies in its overall simplicity.

  • Every large language model will likely fit into one or two of the six categories.

  • The framework makes generative AI engineering more systematic and efficient, leading to speed and easier decisions.

  • Tool calling is underutilized in developer workflows and AI agents, but it holds significant potential.

  • The speaker has developed entire suites of patterns, benchmarks, and AI tooling for each category.

INSIGHTS:

  • Categorizing large language model use cases into six distinct types provides a powerful framework for efficient development.
  • The framework's simplicity lies in its ability to classify any prompt into one of six categories.
  • Each category has unique characteristics, enabling targeted tooling, benchmarking, and prompt engineering approaches for improved results.
  • Agentic workflows can be designed by chaining these categories, creating a logical flow for complex tasks.
  • Reasoning prompts are the most powerful, enabling AI to make decisions and guide actions in agents.
  • Compression prompts are crucial for learning faster by distilling large amounts of information into concise summaries.
  • Action prompts bridge the gap between the digital and physical worlds, enabling tangible effects from prompts.
  • Seeker prompts are essential for businesses, allowing precise information extraction to drive decision-making and operations.
  • Conversion prompts facilitate seamless data transformation, enabling interoperability between different systems and formats, including languages.
  • Expansion prompts are foundational for content creation, learning, and ideation, turning small inputs into rich outputs.

QUOTES:

  • "The generative AI ecosystem continues to move at a light speed pace."

  • "I thought it would be a good time to take a step back and share my large language model use case framework."

  • "This framework is a simple mental model that I use for categorizing large language model use cases."

  • "Expansion prompts are what you use to generate content, learn new things, get explanations and generate new ideas."

  • "Compression prompts take information, they take blog posts, research, large swaths of information and they distill it down for you."

  • "Conversion prompts change the format of information from one format to another."

  • "Seeker prompts are used to find information."

  • "Action prompts are of course our tool calling prompts that execute commands that have concrete side effects."

  • "Reasoning prompts these provide judgments, conclusions, insights and ultimately they help Drive action, they help Drive decision- making."

  • "Organizing generative AI work into categories will help you speed up and simplify your gen AI work."

  • "Mental Frameworks create better and faster decision-making."

  • "It also simplifies your prompt engineering by classifying generative AI problems into one of these six categories."

  • "These categories are a great way to create reusable benchmarks for the problems that you're solving."

  • "This framework is really fantastic for guiding agentic design."

  • "We need to be putting together these larger AI agents and agentic workflows with chains of prompts."

  • "Having concrete categories makes it easier to design and build the structure of your AI agents."

  • "This is the bread and butter of this channel, this is all we're focused on."

  • "This is the most important technology, this is the best tool for most jobs."

  • "You're literally expanding your input text into something larger."

  • "Compression prompts allow us to learn faster, they allow us to compress information."

  • "These are essential for compressing large amounts of information for AI agents and for agentic workflows."

  • "Language models are great at converting formats because they know and have internalized the language of many many formats."

  • "Many businesses are built around the secret prompt, this is where we're querying information and we're extracting data."

  • "You would use completely different AI tooling between Seeker prompts versus conversion prompts, impression and expansion prompts."

  • "These are powerful distinct prompts that really allow llms to take control over things in the real world."

  • "This is the prompt that is going to make decisions for you."

  • "Categorizing your llm use case immediately Narrows Down The Prompt engineering approach and tooling needed."

  • "Categorizing llm use cases is a great way to build and design your AI agents and agentic workflows."

  • "The power of this llm use case framework lies in its Simplicity."

  • "None of this matters if we can't categorize and use and build with this stuff."

HABITS:

  • The speaker uses a framework to move quickly in the generative AI age and filter new releases.
  • The speaker uses a mental model for categorizing large language model use cases to simplify work.
  • The speaker organizes generative AI work into categories to speed up and simplify generative AI work.
  • The speaker uses the framework for guiding agentic design to simplify the shape/structure of AI agents.
  • The speaker chains prompt categories to guide and simplify the shape and structure of AI agents.
  • The speaker reuses tooling for each category to make it easier to reuse tooling and benchmarks.
  • The speaker has developed entire suites of patterns, benchmarks, and AI tooling for each category.
  • The speaker uses expansion prompts to generate content, learn new things, get explanations, and generate ideas.
  • The speaker uses compression prompts to distill information, summarize, gather key points, and extract key information.
  • The speaker uses conversion prompts to change the format of information from one to another.
  • The speaker uses seeker prompts to find information and extract data from various sources.
  • The speaker uses action prompts to execute real-world commands and create concrete side effects.
  • The speaker uses reasoning prompts to make judgments, draw conclusions, gain insights, and drive decision-making.

FACTS:

  • The generative AI ecosystem is moving at a very rapid pace, with frequent new releases.

  • OpenAI has been releasing updates every day, with a potential "GPT-5" model on the horizon.

  • Microsoft's Phi-4, a 14 billion parameter model, performs at GPT-4.0+ levels despite its small size.

  • Gemini 2.0 is another fantastic model with every single input and output format available.

  • Llama 3.3 is another model on the level of GPT-4.0 that is great to work with.

  • Expansion prompts are one of the most common categories of prompts used in generative AI.

  • Compression prompts are the opposite of expansion prompts, reducing the size of the input information.

  • Conversion prompts are useful for tasks like text-to-SQL, text-to-code, and language translation, changing data formats.

  • Seeker prompts are used to find specific information within a larger body of data or text.

  • Action prompts, like tool calls, allow large language models to execute commands and interact with the real world.

  • Reasoning prompts are used to make decisions, provide judgments, and generate insights based on complex inputs.

  • The six categories of large language model use cases are expansion, compression, conversion, seeker, action, and reasoning.

  • Each category of large language model prompts has its own distinct patterns, structures, metrics, and tooling.

  • Tool calling is currently underutilized in developer workflows and AI agents but has massive potential.

  • The goal is to build "living software" that works autonomously while humans sleep, using AI agents.

REFERENCES:

  • OpenAI
  • GPT-5
  • GPT-4.0+
  • 01
  • ChatGPT Pro
  • Microsoft
  • Phi-4 (14 billion parameter model)
  • Gemini 2.0
  • Gemini Flash
  • Llama 3.3
  • Fireworks (LLaMA 3.3 provider)
  • SQL
  • Python
  • TypeScript
  • JSON
  • XML
  • Custom JWTs
  • OAuth
  • Firebase Auth

ONE-SENTENCE TAKEAWAY:

Categorizing prompts into six types—expansion, compression, conversion, seeker, action, and reasoning—simplifies AI development and agent design.

RECOMMENDATIONS:

  • Use expansion prompts to generate content, explanations, learning materials, ideas, stories, code, and documentation.
  • Employ compression prompts to distill, summarize, gather key points, extract information, and build meeting summaries.
  • Utilize conversion prompts to change formats like text to code, text to SQL, or language translation.
  • Apply seeker prompts for codebase question answering, support bots, information extraction, document search, and knowledge retrieval.
  • Incorporate action prompts to execute real-world commands, using tool calls as the most fundamental form.
  • Leverage reasoning prompts for decision-making, planning, problem-solving, risk assessment, trend analysis, and threat analysis.
  • Organize generative AI work into categories to speed up and simplify your generative AI work.
  • Use mental frameworks to create better and faster decision-making in the context of generative AI.
  • Classify generative AI problems into categories to simplify prompt engineering and select the right tooling.
  • Create reusable benchmarks for problems by using the categories as a guide for standardization.
  • Guide agentic design using this framework to help simplify the shape and structure of agents.
  • Put together larger AI agents and agentic workflows with chains of prompts from these categories.
  • Chain categories to guide AI agents, breaking down tasks into individual prompts in a sequence.
  • Reuse tooling for each category, as each has distinct success metrics, patterns, and prompt structures.
  • Adopt the framework to make generative AI engineering more systematic, efficient, leading to faster decisions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants