From 2f3baf7cdd56e3ca800502e7b9ab7fe06008c846 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Thu, 23 May 2024 08:04:37 -0700 Subject: [PATCH] copy --- _posts/2024-05-22-swe-bench-lite.md | 26 +++++----- assets/swe_bench_lite.jpg | Bin 37529 -> 37193 bytes assets/swe_bench_lite.svg | 74 ++++++++++++++-------------- benchmark/swe_bench_lite.py | 2 +- 4 files changed, 51 insertions(+), 51 deletions(-) diff --git a/_posts/2024-05-22-swe-bench-lite.md b/_posts/2024-05-22-swe-bench-lite.md index d51a33ea5..1ad664c74 100644 --- a/_posts/2024-05-22-swe-bench-lite.md +++ b/_posts/2024-05-22-swe-bench-lite.md @@ -23,21 +23,21 @@ The best result reported elsewhere seems to be Aider achieved this result mainly through its focus on static code analysis, reliable LLM code editing, and pragmatic workflows for interactive pair programming with AI. -Aider intentionally has quite limited and narrow "agentic behavior": -it doesn't require a highly detailed upfront "spec" from the user, -use RAG or vector search, farm out sub-problems to an army of LLMs, -allow the LLM to use tools, -or perform web searches, -etc. +Aider intentionally has quite limited and narrow "agentic behavior" +to avoid long delays, high token costs +and the need for users to repeatedly code review incorrect solutions. +It's also worth noting that aider currently does not use +RAG, vector search, tools or give the LLM access to execute code +or run web searches. -Aider is first and foremost a tool for engineers to get real work done in -real code bases through a pair programming chat style interface. -When a user asks aider for a change, they see the edits performed in real-time, -and aider may also then offer additional -help like fixing lint or test errors. -In normal use, the user is in full interactive control. +Aider is first and foremost an interactive tool for engineers to get real work done in +real code bases using a chat interface. +Aider provides a pair programming experience where users can ask for a change +and see the edits performed in real-time. +Aider can also offer additional help like fixing lint or test errors, +but the user is always in full interactive control. This lets them quickly steer misunderstandings back on course and -avoid wasted time, code reviews and token costs. +avoid wasting time and token costs. ## Benchmark methodology diff --git a/assets/swe_bench_lite.jpg b/assets/swe_bench_lite.jpg index c940d26045dda3751b1ef60ee68da8c9f33c4520..9c525c7c4ba1aac06d260bf4285b5718349d6804 100644 GIT binary patch delta 25340 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

Zam7 znAY6dY8s)S-d1kT{4{uBSx4V+)sP>-j9^j-u*$eCzA|7DPg!IevqGTSngMbz)lNcX z^st4otYb9miW7b0WBNGtf_&}nr?Sf?U-*}7j}Mx4K*dgWUq<+Zb>H)T_H1g-yGlO3 z`b9IL^9i8Mm2CDe6>oZ23JMel*SPnIZ`Yj7IIw#C0!0sRW8Y=~i7@mJ3(UjhR*@93 zEDJhYTm}%jSGFLdH}ac-z5Hl-Uu_cXYHg1x&D$zMg!V=P%^QvHy~UU+W$Qh_8Yrcu z3KIg9s@~YpJnj}eRl{uR!*ve$!Fv0csfqy4TH7mdshVbR%4BSf0GHm9N(IgT`?brc zIx)|i&8?y;h2_C>yJ&6fbY={O-N8ZlV%`1PK{)V^65idsOE-0yW_Fir`_8j3+V>p; zdSscYhZVfN^ILOtJnRNkwd$hDDk=vV{hffKp!+YeI+J!!RIv1Pbi*rWCkZs8^*XcD z>Ju2k8uG*giHlSozmd8*5|NWDIF^~0zCJHEWCvAI_+XJTHfwTMa^bwKLwL1ET6Sk` zlwoIXZO@+(`Gq~Ymxq?;v<*Wt$>lSCfC8d)(;72TsXBa?c(!au<2<14!uryzJ$(ci zvr#+okc|;;vGCMws=m#+!Dgi6aElsKK*04m7kdVgQE#t4qr-&dRFhh6cOaPvo zZ=GEf)`V|R)JdymiQXOl#Uf`6)*aU6ey1F5-Zu2io6=`7qxSOSk-I8;*?vo(0+oyF z%QpmrC~@WH`I=)c%;Nk(VAaH`k&T(=O*NHs_nYD_z010B+PT44s&y`~l(eE(rO3Z^HywGoz z!c=JmhwvPVDaz>CFjbY;mEimG|Qd8^S?_-Nyj zoc)`PN)YfoBh)u~R=R_vwR1Sr#QIjl^a`;Z-O9jN0Y|hH$&Q0x$sHxH-E}4S z@N0S4xO|Q!Lf2y;fIHAGzNsWon87r#9gE^KeqG2smpH`XOeq-1e8CRO*7qc^f7r<8 zBp5KhL?gG_!#Y$4hmCqfw<;h$f8$xhdGJQzF)I3Wf8vSVdaExBMow;=S3$DzEEm@% zB);l)rUt;gFF;!9JEj!~_=Zqy&Ug~v3-p^m%m-ti*egTu$5ra#K}X0l#)_1=#T%gt zq4Ozz=$Kd;AlEy+BuxtJgkOuwWo2*)=2)N25hB32uOAh`2i`$n<~1|N+txcWJWB2m zGc)#e9sl{u#(i;CP?>32l)ffph4slHF>!!mkH6wPAaQlWuVyZY~3-@+UX|WgNk4iHw z`WQqba|^T5+ra24;zIK!M>iZ9pFf`WKCSXY2k#s1N8(!;NlvUdR6{#Guz7Mlbm8xV zz)SVM@|;POIclterEn7&HuuEYia6N)i0$pZN*-P`{g!$gMI+NAYDXn#ldguEHOsLM zL`1Woi0UpmJ$C@`_UTfvww{EhtZwXcWMUYidy_i#FB1eRPvuS0J}jk?l6y6 zOC4>6Da|_cNoR|Pbb3|C}zgJ8a|Jc8d!npUl+bg_Z~P$JT)p>t{EO~EDxN@ z+TC3`DOvgK6J$6&K!+wuUe5Zm!7wv~D+Evri2FGc2uUpe1Y4@SH-oE{vDoB$f44BG zpDSSsM{DpCPyN?6q_H0yB#0zv&3MsuzPT&lJEob)0k?}hcbUVm$L)qPdrN)}_*4`(9@b0@0_ zR#pBP#E%A()+!&gMSV*&ZaCgEW5-6E+eDy`p=AmECP9JnBH;dAfCA^H1WiPF&dO2H zgk%hL%iLys9InRe_Zmr&O3p2;QyFtGBKgX5fvwNMlDwwURusNp9<|PE9dw&2BOqO8 zt`pjK1A<08)we_=TKu>#WM?)-_ob>oDD-c@wi~v~qsi3-r?T#2f=q>5=QSV~5;@l8 zy7Sht)8>>hZ|~aS1F$kp1CX#erDeYKqZUx82*@BpT<%AA{c}IjN>BRgY#qlcl?mrN4BO(Xi0;^Nb1_~ z`?@8bJE+F)Vf4r8y zfmBfF=czW2XX1c^?JF7jNVyeh7ZL^Kp?p_$$0Mr1#ErdA=B)S_;pq&{htw)J$Nr34 z05;LtUAg*xa;k&p&YExla_v zhTrt}T&pneLjNf>@@WGUz z>c2seeot0fFU+H^dmG4~hsqY0yQy*_Uc9p7*8Yj_iHaqs`H2t^dT240l-2AU#aZEJ zSU6MfzBiQ%^}DB$g30aNo5711ZW3jJu*O*|x3PgqY>_eX zj#3$IEsGDmJ@KE7C+4*#^A%5pA(c0kE5uO@$5VPKrZHIa zJYfoE87ps(@dRScNGPat(bMEO5K3?bGSI`p^KO6$#3o*U|Ef$cZZ3*2X5p-hw#sBE!C>YZB*Pl3T9VYeUrc3=ta&5Kf$;Tb7&K z$o}jv@?r`Pmgyz1GTcg4un1o>d#8=8@U7l6=-&EBV-`GaT=7E0;r5D?5}z6@>%9OM z*~%DfD=9WMHjnqy+jaT}W-Uwf1xg?c;Z}hWpihb#uPh+j5_73zy3viYw)$DW-h@1Z zWgGdjO%R3fA<57RDVeBS6tz&8ot-=v^XQz;PofbJ)+2vtd$U#FKUvtsa0oArseI)? z0pFrh;B6Y&FSJhrPPD*IaqpM=&_5NEmCPfu)eUnoCZiPEPhI>C^leg#i6l%CzbYm-pjbVrF>G$@#^KNruE(P_P11}N$ z)nSseUv;t+Lrw2<-y6lu*J~(4pw|C3CJY_jYX(;Z>p{+moi~jgjkB^SFUfP-X>2tKFNmx8xm;zs!FbLmMz&Zpp$Ik^? zby_JKSSO8c&+e&nZKPOuQX4LJpBof9pJm;ds!(6NlNur}h8H*y*~lH;l>hw4yc-@| zd6#7SPyjLI(fjCIT>{XtbcmQEyz#zludZK4mi4PkUV`>}ewZ!z$aTZH6!78Jj9dGP zai)T){DFg$({yL$&D4w6FvBrY$8xc3ElvS-_CnWMg4xBoIIFML zsMYrCm42}8qQBWmK}O^8GGGAw?4W}MBXVc5I}H9&l%^m8CKb(wRZ&@NhTBBg)#aVK zL!$n4&=rhpnf|omrz=igqT1?>vOc>YV|i8ui^cUGo5Jcr7`q*Zab==extga#LBG2o zUpN+RnBHds$qzu|@fqaZ+s!GmSPwXcL|?E1yLqva+zO^+N=$jd*o5LdElw{nVGVa} zd#v)w5G&PO+O%pygpk;LmTY>zscx?r0--ce?Bx5)8&!#%~FoDBqs(b}!f;)2;r$Mv4f zKGgq#Eu&-9z*mZvQa4mWQf%YKQ&yh#h#ClKB|W~Uf9~^xf*O$_?dWQ6L6+z&t|A** zz37n6{JH%z`WRxWV-m7y9CAxt%rqE1cVS@$Ulgj=_wQF5BvEq`g4^l?n*8U5B~y=h zm2n6kmvHTriRQq(STLYfb-M+{tJLGpVYo*?(Kd6Y4Uq;pYW3Ni z2?YyuCic zhybhwSxyLD#lwLH-gRhWV7NGCtMSgz$K-FfHkRSBRKuO}RPU97DK>rssr|iGo`!~<(QW7GR z@4+G`MuW}(cQcb`Eg|91yos3TCrf%SO5Zyz>@<|uJg{)%I;_>5>ro(w-|m|&i+nlA za=!$>Ie2wbOZ;x8p(TY{F5@$ z-kYNRtAj6fJv7_y1T+{=A5;K6gVhp)HVX)f2Z`ds-D zE_#a6M8*}NBKpf#TVU~FE?h&7vY(iKRhresPmU}PY2hqVpT@{Dh0L(mP@-Fa-{;%_AYeBRp$YA{}DYB`MwgweZ{X__hbt+{XtO zD>mOwvYN&OdQ$i+O51=jUY**Gj=iWh>G6gIzuU|iAkBINJ^Umf%LtaS*`bh*UNqjg zBp>ADBz0-sd@yYIaM(rFCVh=GYGe{8zM$~_-naAVw~U{UXyy-u{Cn zzbicIxUloS?PiPf$w5J}pD^l6-swHMDPUNx{(#58wnX}dB6~l;;8@7M^&RbysdAfU z)xE0s?Urr+gZ%=UpSgB8N!-lQQU!13rl_*-;k-9ZAS1V2Q0Zu#xL1lMvu-rN;WD1M zUG{`sa6N9%4ByEMpFqunq*)@Y|D?RptL!WG8rd;niEPUKP}w~hNx!6XsKHw#>CXc8 zuO*@erEYt?)n9QIfGxJ4(VxW4hJ|upgTFy64jkV*e0_-A1X&qO zuZ`6Q+a35Y?Xo}k7DlCPNAvdfkCqd!O|E6m)RdkXvr;C!k@;9eHySxr1C11 zdNd!BCzzPKVn|mtSn5q&53dd3PZ;T;cd=|4GS+*;b23zm0Vvc{)_p0kE^56wG$J=& z9(MfR)Udfa+VeAh$RD}31VTH^!9+?sKFLM>t{>h6DNp@k!wrv@hYC!F55_!kcuelV2G484U&D!WN$FW9)>i?zGOt!Y>Aod zW8ZfnGmPvEveZ}#3Dq;_Ip=x)%j^G}|2fZ#`~2SC=XdV=oa?@>>+?;i+#U{hY=MHt zf)6N~Jgb>~wVPrNcBZpRZsCONz!|MOujjej1D_<5${O}1CQo+IK2M}dJdP50xhhV} zI~RUd=jrm;UEY5hF8mkpBGlb{z4x}Woi4?&)3l;LrDg|BC#TWGX zz4{-(-eAxd1F=>F`xs^TY>i<@6(7EYe+E zB0(OOz@aA+m2^1np}~TRF>EBb<{M^ORN-q*Z}b||KCzg$`S@s1QX-kBVkPX#jQ@~q zWh>aP1x)^&W*cp_<{R9N5s^{Xaib+1H|EFu1?;7~UOk0o;D@^ga&zAxa#jPMZg8K% zO?UrrZTg+Ic;32wbh8O#mJq}K#j!vWA4(~63HS@B z7>9Pu5gJPBnr?GhZ`usQJF4&72lUjUa&w!ua*%O=5#kw?jD6T6JQr}J>ZC28);#Fo zH>W?=$v#39OiyDC5O`3KjZ1ZZcbVHJ7GqSr;iYS^0g-q1_ulKfait+!Ex-0byJ5ff zTJ16%@*~x{oeTBc#`~PR&-jJD>o)J6q#D%Z-(fcZ%u-{ue@1I*d*f$G?Nq=SN3FD+ z(7X$^68Icc)Du$Dcn*1Exh^9!Sx$L1-xg^UedC$V{)3iactP7?+d-;=7v4m-8^_Lq zocxpF!YXeu9jfJC{?)wNa`rQ$(vj!YjO;tNnqpUzP@Tq%_d4Qa>g%&lWO>{}?%tuA z_4+TKjuk9}m<1C~11gxwb6*qXHAy|i<{tv!icH3g_tWdZUIn!BT|26i0U>N91zIw1 zfYEio%{jioacgOc*NfNA(Xr&X*29NZW^kbwl#&BJsZUnla*38mq|cgf1hCNzsPAhs zeEHxTih}VZT=*5BWbW-B_5v6XbZ-cBi5U^Mfjxtw-p^>f%ezic_yQkgd?SkqqF>hQ z!_y+>NO*`;k;9ezceb9@=t+Ox-fey*P79}m=eqav`)i~Rj9|J%Dsxw~N6LDq@CkQ+^Z|4E#g`z8CR_7Vf6HG0lX>Zd$9a@^)Kv&0;5o2CtK#Tq$nHyT|8okI2kLU& zgca=DzM5g8-0v@H%`69fs$aDx>4F|}!g4;(gJg;mO(j4;@v8$Mb+jCbXumi5rI0PZ zq_hm??=yXi)3;jT{=y@?Kj@%<<#dyn51n%=?Cxe(*NU7#*EOz0^1- zD#-g=bH-5_!{M8cskU?2s)W1zt5-YMmQM~V!=CB15+NYzOu2#IC1LLekW!LYlSVs* z3J^8|=(5;QJyLVnpDYISD`YWV9y^#mb{<&|00Hu;kclO|bFj( z9gI(+_?V6!%^;1g0XozwOfnjxUGtrqr2Up=&BPR1t2}Blr%TOa5-auSTSNz!9zXx{ zXIi_C1phER2+NodM|XC0A)c3g__glx$=~Ws414zogRpmy-FZrR#0fK*FkJRh4~B#o zGcLtgn5T_;``b)r;9$CjLFDsQ`#E0Qy=$&peNU&JG3BwUlCCjM>zP=(f<;gOkG_9$ z)jWg8J3H4zhzI&ITs)IFK-NMx8m-~FcJNIKhqH8Je}CNl7hp_!DvBAtYPvYA(ydo1 z-<0nSR$0ySaifhvdso(tb9`;S*VZfRoR6R5&yjnd`s3ZeeL)12xN`=@x*L74@!+uO zUCCR5dir#wZ~C^#2^)To@_fei`HL+x$Aqnpt)_ufcEfltFj|q>QlzoD z${Ybl{Jf&O-2|aa;4p%_XNQ*{E9VxB3O~D%QfRFeISr*h>I%yxzhZ~wZ_*g*HSTM) zpH#(L#*JMx{8jMs&v2TW<6aqn1yN2yW7Uc&aq%2~EggGng9bVbyi zZ$rps<%cWXQIJS+CH%raL&2ghxCaL6!B@d60v6rGz9~OaMKSb{nfR5UlzLaA!cGJeWQId zv3i=4=iiqlg{)1z`3nGUT7>wI)>-T1v!vY}Oe?985*2&S1RBJ78r1BwWdu8iOBbS= zI!>ADTdF*Zt+Y-2>*^?@S@qYOmr`(K#K|XyH@lqM_@C|kc0!iRcIM~o z?`6=vU(p&bpZnoRD~HIg_VmZj9OoG^{(NLph2y!lE=h<-`LUdQM zCU`BSMRR4YP~Fy#5wskz@^R{uQbu8}2@>pFF0E3V)JG0hX5(+r>_<}l8Zflyjc4OG z@3rjTrSX(>k=Wjf7}k+BH_uirc5uy}*l-cqWnp7vLnL=cC~e}djPx#w zlB7$g6e`r^Z1ff)YTbn?(%h>#K9z_RCfpc^<&&;xVv$T?9JtFiDP}Rf>LO2i0T2EE z)k4u&%_g;!x+|Mwrl$>AroC$zu0L2!QDajPOOKoQaFc|Nd8x?G1yw(+gSv9mRdL;a zzvy)7TaRQ5py^-~5E91I-x2R66MC)4)}1W>ZaYn)h7V-9l=4ltKxF@*ba9ky$7eR- zm~WAEMEbt(gn`x+dx3Aug80>ulQ1kG0QJh^9D;0hsP1ZvkLkq-PzRrsGW>V}7a!Bu z?@2`iBa`Y`#}oX4dphNTtbI+B3a2Fz^ET+9^^22?wrjrU3fKlLCn$$43iVCFCR}E( z_y>X4eO06SZ1~J6exwSB&Wf4ZT|w{jAzZ4fi%qNsyS>>Lwr0^^N*H?i_)NMGC>P9% z`OUw81yn0ymsD6=OU;?k<)KTniS=+(9S2bjw-G_zyw8VUH7`y5n{_thQzl_-!l(S{ zFaE$&5#De9{o!vTB;Pinn2*z>zS?x)w*y9RwqveFsb0H!@jQTke7em~0Nqtb^un1r z7oykbCL@dhuG`_)CQu6T`L*^-Z=ngVGps(d`xK-elX!Dime@Rv@B3lxf7Si;b*{lT zOYuU*x%=0F#JD$IHwT=Tr=}9*Y!??Q=I0?E0#D&P|RYtAw6_g$sXMJ3DudS-Ft)bmY zv;p+SLuu`#R5?6jc+;A^Wxezg23LOAyi~5{RaftB_KZtafbfajGTG`L_#szy6bO)+Ga@A7wl!6mi*PEuOi3yzaSWJr!NglJ@yNp%`8te|IZt zx`@X1XDn*15EW$jXR+ge#?EMT9h+TYXWK(t-6_{-j8X;Um1|X4E_hg|`thCr8PEwT z0-R-Sjomta#OiIwdvx;(X5V&c=~moFF-Fsc`P4J1q1*S(+0hEU1PHv+S~^jRSx-RU z_KcwRq*l0`I=FrunpGzi9gxXJDG0@m8YTxTAiMON3J=3@E z-NKS#neClY#n$NMJ6%vUeF*0vc6Q~U1q^ve#yXvvC3-m$ajd!6)~H*B4y}D5T+k24 zj&#T#Ot#{CTcyl!Jn?=PPDWtONG!E;zK4L9irL2{x)*Qh_6pqRwDRC(OA=yW5=WVK z@;HLU@`*ey-dvu_8WO5HneJ{~m8(rwUd%K?Av**1odBSH9nJKFZH~~D$;Zi7HIrCu z(Uiied9(I87|T#yiY6pUhiTNRae9Zm2bjiyjV5aKk9gFSIjA1hYQ8mKa}!7HYxm-* z{t!``Ye-i1#=Q~4fRAEyr|*H6#Wx_XC7y2hkjlRR_b7{+q;t!T^i^C=S$bm@ko`|l zngZ!7s@&A!tDZ#V6WmN4Xzl`Dl?74!C%Qqc^#tU)Hae!5-!Gb!iz`}Y%iiKS;HdpZV z4bq^uv9!Luh_v7VFHiZNlbs@9B;~2-C-05sXTF&4y%F7=8w~lkW#k7nGB%Zs!%7Km z%J3hsCkqLyVxafgLRr7#-&(sb2Ie05&3u8+wJd?a)ILEfb#~|8fe=?y62Wtw@S+@f zsb&YYD09wa-kL5uZ`R1rZ2vc|*srCMU7~4VhCV9H_E$16|2K%c*9 zZ9P_{3w$P3M%~Jy1Iu=Z|Hm!2hP^&`Id%slk@1LXUVYaJ%I373#)@}E$Lf0YA7hd_@>_zr^+N%xztZ_C1pX@gdStV zUtYT(c8W}^^`G5-?F7V4L@X^;j;f5W>T_~S+;GXu>gbnuWz{K zpKqT(q&n@ub@R;vHp3pF3w1U4Cb+gv&4u3$R-!J^%Ff9F59wWndg}dsFOOW**#`0R zI6jMd@HPUxAV=)A=SJ6|MvPR|Z5~*-G$8(ESVs+Q-#+OQA^4wmfVP@8OEKJ05OhpmODw z1wLGEk8;MbTVMC%?B_h==pgOh1E@v@KDf+s`)YZZvp34`o$uSAj82Ui9+x;kZ`)o{ zRCvQzrJT5i?Gdg{%J~9Vdc+GhsA7Cc(Dm7#ev81jLxf>4*;7|pdZ|_TnOFeyj5&_t z_HXrle)@=aw&WEi(9QnbttRc73(uL>_0%ArWY2+e*=SZifo^3tPQWi`+ zMKysb*}IzsOz<0`)pc>C1%n+|5 z=Izjw>C{NnMEhNA6n&QTS*U)|+)Py#l|hcr^`wA)U@=QWGen@uLOzk3W_)gI`sDCW z)B91^8*#QsJB0TF;SGa>M(|0GrM8l)RL(*I}u=O6rkJp+u?ZVmA7%s&9PlfcaY delta 24677 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 - 2024-05-23T07:38:15.931243 + 2024-05-23T07:52:54.138893 image/svg+xml @@ -41,12 +41,12 @@ z - - + @@ -453,7 +453,7 @@ z - + @@ -479,7 +479,7 @@ z - + @@ -601,7 +601,7 @@ z - + @@ -674,7 +674,7 @@ z - + @@ -886,7 +886,7 @@ z - + @@ -1007,7 +1007,7 @@ z - + @@ -1043,16 +1043,16 @@ z +" clip-path="url(#pdd89e16c85)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - - + @@ -1089,11 +1089,11 @@ z +" clip-path="url(#pdd89e16c85)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - + @@ -1135,11 +1135,11 @@ z +" clip-path="url(#pdd89e16c85)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - + @@ -1167,11 +1167,11 @@ z +" clip-path="url(#pdd89e16c85)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - + @@ -1186,11 +1186,11 @@ L 690 158.200121 +" clip-path="url(#pdd89e16c85)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - + @@ -1232,11 +1232,11 @@ z +" clip-path="url(#pdd89e16c85)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - + @@ -1411,7 +1411,7 @@ L 163.368917 273.70025 L 163.368917 71.190023 L 96.917045 71.190023 z -" clip-path="url(#p535a156c8f)" style="fill: #b3e6a8; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3e6a8; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3e6a8; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#pdd89e16c85)" style="fill: #b3d1e6; opacity: 0.75"/> - + - + @@ -1556,7 +1556,7 @@ z - + @@ -1566,7 +1566,7 @@ z - + @@ -1576,7 +1576,7 @@ z - + @@ -1586,7 +1586,7 @@ z - + - + + diff --git a/benchmark/swe_bench_lite.py b/benchmark/swe_bench_lite.py index 26aca75f6..bac10552a 100644 --- a/benchmark/swe_bench_lite.py +++ b/benchmark/swe_bench_lite.py @@ -38,7 +38,7 @@ def plot_swe_bench_lite(data_file): yval = bar.get_height() ax.text( bar.get_x() + bar.get_width() / 2, - yval - 1.5, + yval - 1.25, f"{yval}%", ha="center", va="top",