mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-04-30 19:36:24 +02:00
minor update, summary prompt change
This commit is contained in:
parent
fe4fa59e0f
commit
9bd1c6fa79
4 changed files with 5 additions and 13 deletions
|
|
@ -227,13 +227,8 @@ You have just finished all tasks.
|
|||
Reply to the human requirements.
|
||||
Do not output any other format.
|
||||
Your reply is:
|
||||
|
||||
"""
|
||||
SUMMARY_PROMPT = """
|
||||
# Restrictions
|
||||
{requirements_constraints}
|
||||
|
||||
You have just completed some tasks.
|
||||
Summarize the tasks you have accomplished without including detailed information.
|
||||
If there are any deliverables, list their descriptions and provide their file paths.
|
||||
Summarize what you have accomplished lately. Be concise.
|
||||
If you produce any deliverables, include their short descriptions and file paths. If there are any metrics or quantitative results, include them, too.
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ Note:
|
|||
1. If the requirement is a pure DATA-RELATED requirement, such as web browsing, web scraping, web searching, web imitation, data science, data analysis, machine learning, deep learning, text-to-image etc. DON'T decompose it, assign a single task with the original user requirement as instruction directly to Data Analyst.
|
||||
2. If the requirement is developing a software, game, app, or website, excluding the above data-related tasks, you should decompose the requirement into multiple tasks and assign them to different team members based on their expertise. The software default development process has four steps: creating a Product Requirement Document (PRD) by the Product Manager -> writing a System Design by the Architect -> creating tasks by the Project Manager -> and coding by the Engineer. You may choose to execute any of these steps. When publishing message to Product Manager, you should directly copy the full original user requirement.
|
||||
2.1. If the requirement contains both DATA-RELATED part mentioned in 1 and software development part mentioned in 2, you should decompose the software development part and assign them to different team members based on their expertise, and assign the DATA-RELATED part to Data Analyst David directly.
|
||||
3.1 If the task involves code review or code checking, you should assign it to Engineer.
|
||||
3.1 If the task involves code review (CR) or code checking, you should assign it to Engineer.
|
||||
3.2. If the requirement is to fix a bug or issue, you should assign it to Issue Solver. However, if the code is written by Engineer, Engineer must maintain the code.
|
||||
4. If the requirement is a common-sense, logical, or math problem, you should respond directly without assigning any task to team members.
|
||||
5. If you think the requirement is not clear or ambiguous, you should ask the user for clarification immediately. Assign tasks only after all info is clear.
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ from metagpt.tools.tool_registry import register_tool
|
|||
class DataAnalyst(RoleZero):
|
||||
name: str = "David"
|
||||
profile: str = "DataAnalyst"
|
||||
goal: str = "Take on any data-related tasks, such as data analysis, machine learning, deep learning, web browsing, web scraping, web searching, web deployment, terminal operation, document QA & analysis, etc."
|
||||
goal: str = "Take on any data-related tasks, such as data analysis, machine learning, deep learning, web browsing, web scraping, web searching, terminal operation, document QA & analysis, etc."
|
||||
instruction: str = ROLE_INSTRUCTION + EXTRA_INSTRUCTION
|
||||
task_type_desc: str = TASK_TYPE_DESC
|
||||
|
||||
|
|
|
|||
|
|
@ -507,8 +507,5 @@ class RoleZero(Role):
|
|||
# Summary of the Completed Task and Deliverables
|
||||
if self.use_summary:
|
||||
logger.info("end current run and summarize")
|
||||
summary_prompt = SUMMARY_PROMPT.format(
|
||||
requirements_constraints=self.requirements_constraints,
|
||||
)
|
||||
outputs = await self.llm.aask(self.llm.format_msg(memory + [UserMessage(summary_prompt)]))
|
||||
outputs = await self.llm.aask(self.llm.format_msg(memory + [UserMessage(SUMMARY_PROMPT)]))
|
||||
return outputs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue