1. update bug of getting requirement_doc

2. modify prompt
This commit is contained in:
mannaandpoem 2024-01-24 09:51:18 +08:00
parent 0e4197395d
commit 62c128602f
7 changed files with 24 additions and 26 deletions

View file

@ -101,7 +101,7 @@ class WriteCode(Action):
test_doc = await self.repo.test_outputs.get(filename="test_" + coding_context.filename + ".json")
code_plan_and_change_doc = await self.repo.docs.code_plan_and_change.get(filename=CODE_PLAN_AND_CHANGE_FILENAME)
code_plan_and_change = code_plan_and_change_doc.content if code_plan_and_change_doc else ""
requirement_doc = await self.repo.docs.requirement.get(filename=REQUIREMENT_FILENAME)
requirement_doc = await self.repo.docs.get(filename=REQUIREMENT_FILENAME)
summary_doc = None
if coding_context.design_doc and coding_context.design_doc.filename:
summary_doc = await self.repo.docs.code_summary.get(filename=coding_context.design_doc.filename)

View file

@ -137,7 +137,8 @@ class WriteCodeReview(Action):
async def run(self, *args, **kwargs) -> CodingContext:
iterative_code = self.i_context.code_doc.content
k = self.context.config.code_review_k_times or 1
# k = self.context.config.code_review_k_times or 1
k = 1
code_plan_and_change_doc = await self.repo.get(filename=CODE_PLAN_AND_CHANGE_FILENAME)
code_plan_and_change = code_plan_and_change_doc.content if code_plan_and_change_doc else ""
mode = "incremental" if code_plan_and_change else "normal"
@ -154,20 +155,18 @@ class WriteCodeReview(Action):
if not code_plan_and_change:
context = "\n".join(
[
"## System Design\n" + str(self.context.design_doc) + "\n",
"## System Design\n" + str(self.i_context.design_doc) + "\n",
"## Tasks\n" + task_content + "\n",
"## Code Files\n" + code_context + "\n",
]
)
else:
requirement_doc = await self.repo.get(filename=REQUIREMENT_FILENAME)
user_requirement = requirement_doc.content if requirement_doc else ""
requirement_doc = await self.repo.docs.get(filename=REQUIREMENT_FILENAME)
context = "\n".join(
[
"## User New Requirements\n" + user_requirement + "\n",
"## User New Requirements\n" + str(requirement_doc) + "\n",
"## Code Plan And Change\n" + code_plan_and_change + "\n",
"## System Design\n" + str(self.context.design_doc) + "\n",
"## System Design\n" + str(self.i_context.design_doc) + "\n",
"## Tasks\n" + task_content + "\n",
"## Code Files\n" + code_context + "\n",
]

View file

@ -215,10 +215,10 @@ class Engineer(Role):
self.rc.todo.i_context.design_filename,
self.rc.todo.i_context.task_filename,
}
await self.project_repo.resources.code_plan_and_change.save(
await self.project_repo.docs.code_plan_and_change.save(
filename=self.rc.todo.i_context.filename, content=code_plan_and_change, dependencies=dependencies
)
await self.project_repo.docs.code_plan_and_change.save(
await self.project_repo.resources.code_plan_and_change.save(
filename=Path(self.rc.todo.i_context.filename).with_suffix(".md").name,
content=node.content,
dependencies=dependencies,
@ -349,7 +349,8 @@ class Engineer(Role):
async def _new_code_plan_and_change_action(self):
"""Create a WriteCodePlanAndChange action for subsequent to-do actions."""
files = self.project_repo.all_files
requirement = str(self.rc.memory.get_by_role("Human")[0])
requirement_doc = await self.project_repo.docs.get(REQUIREMENT_FILENAME)
requirement = requirement_doc.content if requirement_doc else ""
code_plan_and_change_ctx = CodePlanAndChangeContext.loads(files, requirement=requirement)
self.rc.todo = WriteCodePlanAndChange(i_context=code_plan_and_change_ctx, context=self.context, llm=self.llm)