From 1f90bc58cc56485b0355243bba98398a8d9547b3 Mon Sep 17 00:00:00 2001 From: mannaandpoem <1580466765@qq.com> Date: Thu, 25 Jan 2024 16:25:23 +0800 Subject: [PATCH] 1. Update the code compression package 2. Modify the prompt of REFINED_TEMPLATE --- .../actions/write_code_plan_and_change_an.py | 4 ++-- tests/data/incremental_dev_project/Gomoku.zip | Bin 94089 -> 94000 bytes .../dice_simulator_new.zip | Bin 56384 -> 56393 bytes .../number_guessing_game.zip | Bin 53755 -> 53764 bytes .../incremental_dev_project/pygame_2048.zip | Bin 60632 -> 63452 bytes .../simple_add_calculator.zip | Bin 56538 -> 56546 bytes .../incremental_dev_project/snake_game.zip | Bin 119511 -> 108388 bytes .../incremental_dev_project/word_cloud.zip | Bin 12762 -> 12752 bytes 8 files changed, 2 insertions(+), 2 deletions(-) diff --git a/metagpt/actions/write_code_plan_and_change_an.py b/metagpt/actions/write_code_plan_and_change_an.py index 3fac22242..708808050 100644 --- a/metagpt/actions/write_code_plan_and_change_an.py +++ b/metagpt/actions/write_code_plan_and_change_an.py @@ -172,11 +172,11 @@ Role: You are a professional engineer; The main goal is to complete incremental 2. COMPLETE CODE: Your code will be part of the entire project, so please implement complete, reliable, reusable code snippets. 3. Set default value: If there is any setting, ALWAYS SET A DEFAULT VALUE, ALWAYS USE STRONG TYPE AND EXPLICIT VARIABLE. AVOID circular import. 4. Follow design: YOU MUST FOLLOW "Data structures and interfaces". DONT CHANGE ANY DESIGN. Do not use public member functions that do not exist in your design. -5. Follow Code Plan And Change: If there is any Incremental Change or Legacy Code files contain "{filename} to be rewritten", you must merge it into the code file according to the plan. +5. Follow Code Plan And Change: If there is any Incremental Change that is marked by the git diff format using '+' and '-' for add/modify/delete code, or Legacy Code files contain "{filename} to be rewritten", you must merge it into the code file according to the plan. 6. CAREFULLY CHECK THAT YOU DONT MISS ANY NECESSARY CLASS/FUNCTION IN THIS FILE. 7. Before using a external variable/module, make sure you import it first. 8. Write out EVERY CODE DETAIL, DON'T LEAVE TODO. -9. Attention: Retain content that is not related to incremental development but important for consistency and clarity.". +9. Attention: Retain details that are not related to incremental development but are important for maintaining the consistency and clarity of the old code. """ WRITE_CODE_PLAN_AND_CHANGE_NODE = ActionNode.from_children("WriteCodePlanAndChange", [CODE_PLAN_AND_CHANGE]) diff --git a/tests/data/incremental_dev_project/Gomoku.zip b/tests/data/incremental_dev_project/Gomoku.zip index d6c6b8d16148047dadbc180ad3974b612c48dac5..23649565ab58c4b07ee08680cb20370d933c1b39 100644 GIT binary patch delta 3940 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 diff --git a/tests/data/incremental_dev_project/dice_simulator_new.zip b/tests/data/incremental_dev_project/dice_simulator_new.zip index 4b8d3f038addf84e74e0d1a15a5209d3a263e921..4752ab4c55876bdb8d17a6ebc34aa7e2cf006786 100644 GIT binary patch delta 3861 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 delta 3564 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 delta 2540 zcmY+F30M=?7RP5U5P>2D5FR^7NSKU-2neW!Kz*WRHG&lp6wrr0Ktv3+fJLl6>xb0m zasX>ZlvR+;5O$G8CF}^cw6!kPDyX$}se2!V-prs+^L=yj`~T0mXL4umz4=eE+W(5w zOr-v5>az%f&?Hv2@mA%@+e*{0`jdqABnt>E)Ia3oq9#;U!yg+RjZF7;2Q{6gYHR1g zkny-+!}y4@Z#5)EnM0<`6mB|e$e(R-)Kc{++?HzB1qtGu49+fM^mzKR=CS^7bL$el zVs73$C9i*6)Ht<~b0vG?&bq&L6=ttX=c(}w)&8lrp0|FzjOQ}T{x(rI9y*~j6dU*Q z(-VoomcoYI{+kyQj;-M6pLy+5zNh4Bc=ldZ zpx=`Rlk!K$#(Pg@aNHW3YMbm_-6i~b6BE1Q?Zjw)Nmyb2i~nZHCMRkZZadfTU@TLp z6`->3E@e}sv*YvgFe>o3Rp=ZaQSJXmC|}a# z>Eu2TIXf7K-l$dvc5nTCLt;>)hf$8vUk=L#Rv9phX!w9?5os%`oEKWF;Z>ygb$Q+l zP1SNLE*@J2-tmqwvqh*F3(GczED0Acx(rZ_sp-}vWgtv8C!OI7WWs7iOmdnQ>_n=x zhDLI6n59w>4|u`0BMTSYWF#iF>_3+byfZh*Qzyej2_qSy?Dav19{#}u?n zXw*9sOCE%ke29v4F$$m+9QXi z{Iy1m3oXE+T#O=}8H~l4$6`ad8`|%}xR2*)fZk~u_5EK)oOVQ~=1pgHV1Abw44u|R z_up9B;NhwXIu#Uha-FWyhKLF`WaS15uFQKD4nC!)o0!xViqHAch zMZ(-yUL!&Z7S+#$ptIhLn|?-wCRrTDuKFVE3L!{Np`|LchZAxsnG28Q!Q>SjDG)7Y zyY5=djK5VYLR~Bx`v_r;f<~KtV0JwpI(*cjRzV>-E7g`zAgrTN*b*k2R_B27SbT^x z&+BN?9c=1@$ut}(7+T8S#n2a`1NdOj;DA=LSmsN?{stQT=*MJk;EcIHg9-i=gf-IW ziAvf-CB}IH7z5`>{Yf;7Q2iGW%zwd1jppY94T4Zz{*0>%HuxFM-{_g_g52<9smsDUSKcFVBmRWjuqMb+OCQTr^E0_$&k%F479Qb#I4m|9#A_uW!3u2`h z>B(@hIc!%Nzz}mv>7unVNJ_PUUL}okS^Qb156=h8@cF2&qk3%w!Nu2gCaJz<>%U|W z-)+ftW-w)=XIi>(| z97kL59`rm&M*KcWM}gItjG=pwbew+#aGK7gcQ3i-ZkX+d5d w(~~QDuV>})x8pKKRL`Fai$=`Q%Xe*G)LOt)O%&+C;}LD``(lEaC{XqJ8*8o&q5uE@ diff --git a/tests/data/incremental_dev_project/pygame_2048.zip b/tests/data/incremental_dev_project/pygame_2048.zip index 2f0457be626f4f60d27563c5bdc7c86940260c35..93e9cf0fe6fa29b344701c93dc7b5b34d3e41e87 100644 GIT binary patch delta 6280 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 TU;9z0Sor@j0fpjgqFVn8F&a!% delta 3332 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 lq5h*V`hbbN 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 diff --git a/tests/data/incremental_dev_project/word_cloud.zip b/tests/data/incremental_dev_project/word_cloud.zip index d15c1cf74cea5a7ac15ed29f75574351949df1cc..d8747d14d884677004c7f29ce2422319cb679eaa 100644 GIT binary patch delta 781 zcmY*VTSyd97@l)nYjww+!JVDeZPZoUcJ{c=>_%oQ-JqaQABK>yki^tNBndNcOL8mg zAu}((MQG7eS(J1!qYDb9_@Yu0V%SBYhl&Jyum_Wk=FDo~59jcG|Ns5h>GF5w4y_=@ zBrptPW~#!$;(_5mY_rY|w>xqgAMbnP%%8k-yQ)3??i0l+#u=^w|)tN2PoVOZ3+vL zkB2zF6)z=2ic^9dzl;KK$iE9!>VGoaawfvKpWvbtDD@}7m6WxR6d?F{nn6nfxwz16 Rz}`S+{8SvneD%;Z{sHx1=7#_P delta 758 zcmZ`#Ur1A76#u@vbatKFmFZQlo4Yz~_s`tjEl6Tz5C!7WM8TpW%T3eFj7>=;)I^F9 ziFIDGz`(GF2+AzMg8n!Jkp{jL&nc{tZR6aRWcffUQ>{DfIz%X;`jBi}c=!h+`Gn2vCm4fNq?}P0H1N*k$ z+k3eho$H-&)}*#nA1tvATyzXxi+0qNjyx*5(QN+O(_3)@MtA&Nd~)YkkLNJ42f2x9 zk$EThI0me^0mkVR{(LAHR{mPQNvtnKA7AI<5UNQ;NPuC?;xI6B%E%mENB}=)ffqO~ zuK85BAq=y0CKidry1^Nl9dRbUwk7>@0$6n&$CHuw9DEQt=o8HNht>lR1c`Ld3WZQC z(D4kpRxO4uoJ#iX5$%jX3R+;qlia`g#K=6{7PF{t@sMnEl92+n(+H);9Pmg271AIN zYpex$nSmvdak1JEJ+u|~X@o8`g@RRqvrR2QCD;@QE9;+$Np_dGp+x%5`TuGexe&YH zkX(dMg6d9(hq8o$AQ|G_5`IfiE%w5)J0B(pZzZUnqRsHdod)e@2DK On&`Q$2rarav%dj0DeW8p