index.html 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524
  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <link rel="prev" href="..">
  7. <link rel="next" href="aci/">
  8. <link rel="icon" href="../assets/images/favicon.png">
  9. <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.40">
  10. <title>Learn more about the project. - SWE-agent documentation</title>
  11. <link rel="stylesheet" href="../assets/stylesheets/main.8c3ca2c6.min.css">
  12. <link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
  13. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  14. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
  15. <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
  16. <link rel="stylesheet" href="../assets/_mkdocstrings.css">
  17. <link rel="stylesheet" href="../assets/custom.css">
  18. <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
  19. <link href="../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
  20. html.glightbox-open { overflow: initial; height: 100%; }
  21. .gslide-title { margin-top: 0px; user-select: text; }
  22. .gslide-desc { color: #666; user-select: text; }
  23. .gslide-image img { background: white; }
  24. .gscrollbar-fixer { padding-right: 15px; }
  25. .gdesc-inner { font-size: 0.75rem; }
  26. body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
  27. body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
  28. body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../assets/javascripts/glightbox.min.js"></script></head>
  29. <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
  30. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  31. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  32. <label class="md-overlay" for="__drawer"></label>
  33. <div data-md-component="skip">
  34. <a href="#learn-more-about-the-project" class="md-skip">
  35. Skip to content
  36. </a>
  37. </div>
  38. <div data-md-component="announce">
  39. <aside class="md-banner">
  40. <div class="md-banner__inner md-grid md-typeset">
  41. <button class="md-banner__button md-icon" aria-label="Don't show this again">
  42. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
  43. </button>
  44. <!-- This link won't work in local preview -->
  45. <a href="SWE-agent/background#enigma" class="clickable-banner">
  46. <div>
  47. News: SWE-agent <span class="enigma">EniGMA</span> solves cybersecurity and CTF challanges to achieve <span class="enigma">3x improvement over previous SOTA!</span>
  48. </div>
  49. </a>
  50. </div>
  51. <script>var el=document.querySelector("[data-md-component=announce]");if(el){var content=el.querySelector(".md-typeset");__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0)}</script>
  52. </aside>
  53. </div>
  54. <header class="md-header md-header--shadow" data-md-component="header">
  55. <nav class="md-header__inner md-grid" aria-label="Header">
  56. <a href=".." title="SWE-agent documentation" class="md-header__button md-logo" aria-label="SWE-agent documentation" data-md-component="logo">
  57. <img src="../assets/swe-agent.svg" alt="logo">
  58. </a>
  59. <label class="md-header__button md-icon" for="__drawer">
  60. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
  61. </label>
  62. <div class="md-header__title" data-md-component="header-title">
  63. <div class="md-header__ellipsis">
  64. <div class="md-header__topic">
  65. <span class="md-ellipsis">
  66. SWE-agent documentation
  67. </span>
  68. </div>
  69. <div class="md-header__topic" data-md-component="header-topic">
  70. <span class="md-ellipsis">
  71. Learn more about the project.
  72. </span>
  73. </div>
  74. </div>
  75. </div>
  76. <form class="md-header__option" data-md-component="palette">
  77. <input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
  78. <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
  79. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
  80. </label>
  81. <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="deep-orange" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
  82. <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
  83. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
  84. </label>
  85. <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="deep-orange" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
  86. <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
  87. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
  88. </label>
  89. </form>
  90. <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
  91. <label class="md-header__button md-icon" for="__search">
  92. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
  93. </label>
  94. <div class="md-search" data-md-component="search" role="dialog">
  95. <label class="md-search__overlay" for="__search"></label>
  96. <div class="md-search__inner" role="search">
  97. <form class="md-search__form" name="search">
  98. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
  99. <label class="md-search__icon md-icon" for="__search">
  100. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
  101. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
  102. </label>
  103. <nav class="md-search__options" aria-label="Search">
  104. <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
  105. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
  106. </button>
  107. </nav>
  108. </form>
  109. <div class="md-search__output">
  110. <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
  111. <div class="md-search-result" data-md-component="search-result">
  112. <div class="md-search-result__meta">
  113. Initializing search
  114. </div>
  115. <ol class="md-search-result__list" role="presentation"></ol>
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. </div>
  121. <div class="md-header__source">
  122. <a href="https://github.com/princeton-nlp/SWE-agent" title="Go to repository" class="md-source" data-md-component="source">
  123. <div class="md-source__icon md-icon">
  124. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
  125. </div>
  126. <div class="md-source__repository">
  127. princeton-nlp/SWE-agent
  128. </div>
  129. </a>
  130. </div>
  131. </nav>
  132. </header>
  133. <div class="md-container" data-md-component="container">
  134. <main class="md-main" data-md-component="main">
  135. <div class="md-main__inner md-grid">
  136. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  137. <div class="md-sidebar__scrollwrap">
  138. <div class="md-sidebar__inner">
  139. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  140. <label class="md-nav__title" for="__drawer">
  141. <a href=".." title="SWE-agent documentation" class="md-nav__button md-logo" aria-label="SWE-agent documentation" data-md-component="logo">
  142. <img src="../assets/swe-agent.svg" alt="logo">
  143. </a>
  144. SWE-agent documentation
  145. </label>
  146. <div class="md-nav__source">
  147. <a href="https://github.com/princeton-nlp/SWE-agent" title="Go to repository" class="md-source" data-md-component="source">
  148. <div class="md-source__icon md-icon">
  149. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
  150. </div>
  151. <div class="md-source__repository">
  152. princeton-nlp/SWE-agent
  153. </div>
  154. </a>
  155. </div>
  156. <ul class="md-nav__list" data-md-scrollfix>
  157. <li class="md-nav__item">
  158. <a href=".." class="md-nav__link">
  159. <span class="md-ellipsis">
  160. Home
  161. </span>
  162. </a>
  163. </li>
  164. <li class="md-nav__item md-nav__item--active md-nav__item--nested">
  165. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
  166. <div class="md-nav__link md-nav__container">
  167. <a href="./" class="md-nav__link md-nav__link--active">
  168. <span class="md-ellipsis">
  169. Project Overview
  170. </span>
  171. </a>
  172. <label class="md-nav__link md-nav__link--active" for="__nav_2" id="__nav_2_label" tabindex="0">
  173. <span class="md-nav__icon md-icon"></span>
  174. </label>
  175. </div>
  176. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
  177. <label class="md-nav__title" for="__nav_2">
  178. <span class="md-nav__icon md-icon"></span>
  179. Project Overview
  180. </label>
  181. <ul class="md-nav__list" data-md-scrollfix>
  182. <li class="md-nav__item">
  183. <a href="aci/" class="md-nav__link">
  184. <span class="md-ellipsis">
  185. Agent-Computer Interface
  186. </span>
  187. </a>
  188. </li>
  189. <li class="md-nav__item">
  190. <a href="iat/" class="md-nav__link">
  191. <span class="md-ellipsis">
  192. Interactive Agent Tools
  193. </span>
  194. </a>
  195. </li>
  196. <li class="md-nav__item">
  197. <a href="architecture/" class="md-nav__link">
  198. <span class="md-ellipsis">
  199. Architecture
  200. </span>
  201. </a>
  202. </li>
  203. </ul>
  204. </nav>
  205. </li>
  206. <li class="md-nav__item md-nav__item--nested">
  207. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
  208. <div class="md-nav__link md-nav__container">
  209. <a href="../installation/" class="md-nav__link ">
  210. <span class="md-ellipsis">
  211. Installation
  212. </span>
  213. </a>
  214. <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
  215. <span class="md-nav__icon md-icon"></span>
  216. </label>
  217. </div>
  218. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
  219. <label class="md-nav__title" for="__nav_3">
  220. <span class="md-nav__icon md-icon"></span>
  221. Installation
  222. </label>
  223. <ul class="md-nav__list" data-md-scrollfix>
  224. <li class="md-nav__item">
  225. <a href="../installation/codespaces/" class="md-nav__link">
  226. <span class="md-ellipsis">
  227. Use in-browser
  228. </span>
  229. </a>
  230. </li>
  231. <li class="md-nav__item">
  232. <a href="../installation/source/" class="md-nav__link">
  233. <span class="md-ellipsis">
  234. Install from source
  235. </span>
  236. </a>
  237. </li>
  238. <li class="md-nav__item">
  239. <a href="../installation/docker/" class="md-nav__link">
  240. <span class="md-ellipsis">
  241. Run with docker
  242. </span>
  243. </a>
  244. </li>
  245. <li class="md-nav__item">
  246. <a href="../installation/keys/" class="md-nav__link">
  247. <span class="md-ellipsis">
  248. API keys
  249. </span>
  250. </a>
  251. </li>
  252. <li class="md-nav__item">
  253. <a href="../installation/tips/" class="md-nav__link">
  254. <span class="md-ellipsis">
  255. Installation tips
  256. </span>
  257. </a>
  258. </li>
  259. <li class="md-nav__item">
  260. <a href="../installation/changelog/" class="md-nav__link">
  261. <span class="md-ellipsis">
  262. Changelog
  263. </span>
  264. </a>
  265. </li>
  266. </ul>
  267. </nav>
  268. </li>
  269. <li class="md-nav__item md-nav__item--nested">
  270. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
  271. <div class="md-nav__link md-nav__container">
  272. <a href="../usage/" class="md-nav__link ">
  273. <span class="md-ellipsis">
  274. Usage
  275. </span>
  276. </a>
  277. <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
  278. <span class="md-nav__icon md-icon"></span>
  279. </label>
  280. </div>
  281. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
  282. <label class="md-nav__title" for="__nav_4">
  283. <span class="md-nav__icon md-icon"></span>
  284. Usage
  285. </label>
  286. <ul class="md-nav__list" data-md-scrollfix>
  287. <li class="md-nav__item">
  288. <a href="../usage/cl_tutorial/" class="md-nav__link">
  289. <span class="md-ellipsis">
  290. Command line usage
  291. </span>
  292. </a>
  293. </li>
  294. <li class="md-nav__item">
  295. <a href="../usage/enigma/" class="md-nav__link">
  296. <span class="md-ellipsis">
  297. EnIGMA usage
  298. </span>
  299. </a>
  300. </li>
  301. <li class="md-nav__item">
  302. <a href="../usage/coding_challenges/" class="md-nav__link">
  303. <span class="md-ellipsis">
  304. Solving coding challenges
  305. </span>
  306. </a>
  307. </li>
  308. <li class="md-nav__item">
  309. <a href="../usage/web_ui/" class="md-nav__link">
  310. <span class="md-ellipsis">
  311. Using the web UI
  312. </span>
  313. </a>
  314. </li>
  315. <li class="md-nav__item">
  316. <a href="../usage/trajectories/" class="md-nav__link">
  317. <span class="md-ellipsis">
  318. Trajectories
  319. </span>
  320. </a>
  321. </li>
  322. <li class="md-nav__item">
  323. <a href="../usage/inspector/" class="md-nav__link">
  324. <span class="md-ellipsis">
  325. Trajectory inspector
  326. </span>
  327. </a>
  328. </li>
  329. <li class="md-nav__item">
  330. <a href="../usage/usage_faq/" class="md-nav__link">
  331. <span class="md-ellipsis">
  332. FAQ
  333. </span>
  334. </a>
  335. </li>
  336. <li class="md-nav__item">
  337. <a href="../usage/benchmarking/" class="md-nav__link">
  338. <span class="md-ellipsis">
  339. Benchmarking
  340. </span>
  341. </a>
  342. </li>
  343. </ul>
  344. </nav>
  345. </li>
  346. <li class="md-nav__item md-nav__item--nested">
  347. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
  348. <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
  349. <span class="md-ellipsis">
  350. Configuration
  351. </span>
  352. <span class="md-nav__icon md-icon"></span>
  353. </label>
  354. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
  355. <label class="md-nav__title" for="__nav_5">
  356. <span class="md-nav__icon md-icon"></span>
  357. Configuration
  358. </label>
  359. <ul class="md-nav__list" data-md-scrollfix>
  360. <li class="md-nav__item">
  361. <a href="../config/config/" class="md-nav__link">
  362. <span class="md-ellipsis">
  363. Config files
  364. </span>
  365. </a>
  366. </li>
  367. <li class="md-nav__item">
  368. <a href="../config/commands/" class="md-nav__link">
  369. <span class="md-ellipsis">
  370. Command definitions
  371. </span>
  372. </a>
  373. </li>
  374. <li class="md-nav__item">
  375. <a href="../config/demonstrations/" class="md-nav__link">
  376. <span class="md-ellipsis">
  377. Demonstrations
  378. </span>
  379. </a>
  380. </li>
  381. <li class="md-nav__item">
  382. <a href="../config/env/" class="md-nav__link">
  383. <span class="md-ellipsis">
  384. Environment variables
  385. </span>
  386. </a>
  387. </li>
  388. <li class="md-nav__item">
  389. <a href="../config/docker/" class="md-nav__link">
  390. <span class="md-ellipsis">
  391. Docker images
  392. </span>
  393. </a>
  394. </li>
  395. <li class="md-nav__item">
  396. <a href="../config/summarizers/" class="md-nav__link">
  397. <span class="md-ellipsis">
  398. Summarizers
  399. </span>
  400. </a>
  401. </li>
  402. </ul>
  403. </nav>
  404. </li>
  405. <li class="md-nav__item md-nav__item--nested">
  406. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
  407. <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
  408. <span class="md-ellipsis">
  409. Development
  410. </span>
  411. <span class="md-nav__icon md-icon"></span>
  412. </label>
  413. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
  414. <label class="md-nav__title" for="__nav_6">
  415. <span class="md-nav__icon md-icon"></span>
  416. Development
  417. </label>
  418. <ul class="md-nav__list" data-md-scrollfix>
  419. <li class="md-nav__item">
  420. <a href="../dev/contribute/" class="md-nav__link">
  421. <span class="md-ellipsis">
  422. Contribution guide
  423. </span>
  424. </a>
  425. </li>
  426. <li class="md-nav__item">
  427. <a href="../dev/formatting_conflicts/" class="md-nav__link">
  428. <span class="md-ellipsis">
  429. Formatting conflicts
  430. </span>
  431. </a>
  432. </li>
  433. </ul>
  434. </nav>
  435. </li>
  436. <li class="md-nav__item md-nav__item--nested">
  437. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
  438. <div class="md-nav__link md-nav__container">
  439. <a href="../reference/" class="md-nav__link ">
  440. <span class="md-ellipsis">
  441. Reference
  442. </span>
  443. </a>
  444. <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
  445. <span class="md-nav__icon md-icon"></span>
  446. </label>
  447. </div>
  448. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
  449. <label class="md-nav__title" for="__nav_7">
  450. <span class="md-nav__icon md-icon"></span>
  451. Reference
  452. </label>
  453. <ul class="md-nav__list" data-md-scrollfix>
  454. <li class="md-nav__item">
  455. <a href="../reference/agent/" class="md-nav__link">
  456. <span class="md-ellipsis">
  457. Agent
  458. </span>
  459. </a>
  460. </li>
  461. <li class="md-nav__item">
  462. <a href="../reference/models/" class="md-nav__link">
  463. <span class="md-ellipsis">
  464. Models
  465. </span>
  466. </a>
  467. </li>
  468. <li class="md-nav__item">
  469. <a href="../reference/env/" class="md-nav__link">
  470. <span class="md-ellipsis">
  471. Environment
  472. </span>
  473. </a>
  474. </li>
  475. <li class="md-nav__item">
  476. <a href="../reference/env_utils/" class="md-nav__link">
  477. <span class="md-ellipsis">
  478. Environment utils
  479. </span>
  480. </a>
  481. </li>
  482. </ul>
  483. </nav>
  484. </li>
  485. <li class="md-nav__item">
  486. <a href="../faq/" class="md-nav__link">
  487. <span class="md-ellipsis">
  488. FAQ
  489. </span>
  490. </a>
  491. </li>
  492. </ul>
  493. </nav>
  494. </div>
  495. </div>
  496. </div>
  497. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  498. <div class="md-sidebar__scrollwrap">
  499. <div class="md-sidebar__inner">
  500. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  501. <label class="md-nav__title" for="__toc">
  502. <span class="md-nav__icon md-icon"></span>
  503. Table of contents
  504. </label>
  505. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  506. <li class="md-nav__item">
  507. <a href="#swe-agent" class="md-nav__link">
  508. <span class="md-ellipsis">
  509. SWE-agent
  510. </span>
  511. </a>
  512. </li>
  513. <li class="md-nav__item">
  514. <a href="#swe-agent-enigma" class="md-nav__link">
  515. <span class="md-ellipsis">
  516. SWE-agent EnIGMA
  517. </span>
  518. </a>
  519. </li>
  520. </ul>
  521. </nav>
  522. </div>
  523. </div>
  524. </div>
  525. <div class="md-content" data-md-component="content">
  526. <article class="md-content__inner md-typeset">
  527. <a href="https://github.com/princeton-nlp/SWE-agent/edit/main/docs/background/index.md" title="Edit this page" class="md-content__button md-icon">
  528. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
  529. </a>
  530. <h1 id="learn-more-about-the-project">Learn more about the project.</h1>
  531. <p>This section of the documentation talks about the architecture and research goals of <a href="#swe-agent">SWE-agent</a> and <a href="#enigma">EnIGMA</a>.</p>
  532. <p>Just want to run SWE-agent or EnIGMA? Skip ahead to our <a href="../installation/">installation notes</a>.</p>
  533. <h2 id="swe-agent">SWE-agent <a name="swe-agent"></a></h2>
  534. <p>SWE-agent turns LMs (e.g. GPT-4) into software engineering agents that can fix issues in GitHub repositories.</p>
  535. <p>On <a href="https://github.com/princeton-nlp/SWE-bench">SWE-bench</a>, SWE-agent resolves <strong>12.29%</strong> of issues, achieving the state-of-the-art performance on the full test set.</p>
  536. <p>We accomplish our results by designing simple LM-centric commands and feedback formats to make it easier for the LM to browse the repository, view, edit and execute code files. We call this an 🤖 <strong>Agent-Computer Interface (ACI)</strong>.
  537. Read more about the ACI <a href="aci/">here</a>.</p>
  538. <p>SWE-agent is built and maintained by researchers from Princeton University.</p>
  539. <p>For a quick introduction, watch the following video:</p>
  540. <iframe width="560" height="315" src="https://www.youtube.com/embed/CeMtJ4XObAM?si=W2tyY9EpEe-v12EU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
  541. <p>A longer lecture touching on the project's motivation, research findings, as well as providing a hands-on tutorial on how to install, use, and configure SWE-agent is provided here:</p>
  542. <iframe width="560" height="315" src="https://www.youtube.com/embed/d9gcXpiiDao" title="NeurIPS Hacker Cup AI: SWEAgent" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
  543. <p>For in-depth information, read our <a href="https://arxiv.org/abs/2405.15793">paper</a>. If you found this work helpful, please consider using the following citation:</p>
  544. <div class="highlight"><pre><span></span><code><span class="nc">@misc</span><span class="p">{</span><span class="nl">yang2024sweagent</span><span class="p">,</span>
  545. <span class="w"> </span><span class="na">title</span><span class="p">=</span><span class="s">{SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering}</span><span class="p">,</span>
  546. <span class="w"> </span><span class="na">author</span><span class="p">=</span><span class="s">{John Yang and Carlos E. Jimenez and Alexander Wettig and Kilian Lieret and Shunyu Yao and Karthik Narasimhan and Ofir Press}</span><span class="p">,</span>
  547. <span class="w"> </span><span class="na">year</span><span class="p">=</span><span class="s">{2024}</span><span class="p">,</span>
  548. <span class="p">}</span>
  549. </code></pre></div>
  550. <h2 id="swe-agent-enigma">SWE-agent <span class="enigma">EnIGMA</span> <a name="enigma"></a></h2>
  551. <p>SWE-agent <span class="enigma">EnIGMA</span> adds advanced <strong>offensive cybersecurity capabilities</strong>.</p>
  552. <p>On the <a href="https://github.com/NYU-LLM-CTF/LLM_CTF_Database">NYU CTF benchmark</a>, EnIGMA solves <strong>13.5%</strong> of the capture the flag (CTF) challenges, achieving the state-of-the-art performance on the full test set of 200 challenges, <strong>surpassing previous agents by more than 3x</strong> (<a href="https://enigma-agent.com#results">leaderboard</a>).</p>
  553. <p>We accomplish our results by extending the <a href="aci/">🤖 ACIs</a> concept first introduced in SWE-agent, to the cybersecurity domain. We establish the novel <a href="iat/"><strong><img alt="⚙" class="twemoji" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/2699.svg" title=":gear:" /> Interactive Agent Tools</strong> (IATs)</a> concept, which enables our agent to use interactive tools such as a debugger, in a multitasking way such that the agent still has access to the main shell while using the debugger.</p>
  554. <p>We also use a new <strong>Summarizer</strong> concept integrated into the agent to deal with long context. Read more about our different summarizers <a href="../config/summarizers/">here</a>.</p>
  555. <p>Specific <a href="../config/demonstrations/">demonstrations</a> were built per each CTF category (cryptography, reverse-engineering, forensics, ...), to enhance the model ability to solve new tasks from the same category.</p>
  556. <p>EnIGMA is built and maintained by researchers from Tel-Aviv University, New York University and Princeton University.</p>
  557. <p>For a quick introduction, watch the following video:</p>
  558. <iframe width="560" height="315" src="https://www.youtube.com/embed/IJxqOsNFiCc?si=xtIxyCcriM9FJexK" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
  559. <p>For all the details, read our <a href="https://arxiv.org/abs/2409.16165">paper</a>. If you found this work helpful, please consider using the following citation:</p>
  560. <div class="highlight"><pre><span></span><code><span class="nc">@misc</span><span class="p">{</span><span class="nl">abramovich2024enigmaenhancedinteractivegenerative</span><span class="p">,</span>
  561. <span class="w"> </span><span class="na">title</span><span class="p">=</span><span class="s">{EnIGMA: Enhanced Interactive Generative Model Agent for CTF Challenges}</span><span class="p">,</span>
  562. <span class="w"> </span><span class="na">author</span><span class="p">=</span><span class="s">{Talor Abramovich and Meet Udeshi and Minghao Shao and Kilian Lieret and Haoran Xi and Kimberly Milner and Sofija Jancheska and John Yang and Carlos E. Jimenez and Farshad Khorrami and Prashanth Krishnamurthy and Brendan Dolan-Gavitt and Muhammad Shafique and Karthik Narasimhan and Ramesh Karri and Ofir Press}</span><span class="p">,</span>
  563. <span class="w"> </span><span class="na">year</span><span class="p">=</span><span class="s">{2024}</span><span class="p">,</span>
  564. <span class="w"> </span><span class="na">eprint</span><span class="p">=</span><span class="s">{2409.16165}</span><span class="p">,</span>
  565. <span class="w"> </span><span class="na">archivePrefix</span><span class="p">=</span><span class="s">{arXiv}</span><span class="p">,</span>
  566. <span class="w"> </span><span class="na">primaryClass</span><span class="p">=</span><span class="s">{cs.AI}</span><span class="p">,</span>
  567. <span class="w"> </span><span class="na">url</span><span class="p">=</span><span class="s">{https://arxiv.org/abs/2409.16165}</span><span class="p">,</span>
  568. <span class="p">}</span>
  569. </code></pre></div>
  570. </article>
  571. </div>
  572. <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
  573. </div>
  574. </main>
  575. <footer class="md-footer">
  576. <nav class="md-footer__inner md-grid" aria-label="Footer" >
  577. <a href=".." class="md-footer__link md-footer__link--prev" aria-label="Previous: Home">
  578. <div class="md-footer__button md-icon">
  579. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
  580. </div>
  581. <div class="md-footer__title">
  582. <span class="md-footer__direction">
  583. Previous
  584. </span>
  585. <div class="md-ellipsis">
  586. Home
  587. </div>
  588. </div>
  589. </a>
  590. <a href="aci/" class="md-footer__link md-footer__link--next" aria-label="Next: Agent-Computer Interface">
  591. <div class="md-footer__title">
  592. <span class="md-footer__direction">
  593. Next
  594. </span>
  595. <div class="md-ellipsis">
  596. Agent-Computer Interface
  597. </div>
  598. </div>
  599. <div class="md-footer__button md-icon">
  600. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
  601. </div>
  602. </a>
  603. </nav>
  604. <div class="md-footer-meta md-typeset">
  605. <div class="md-footer-meta__inner md-grid">
  606. <div class="md-copyright">
  607. Made with
  608. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  609. Material for MkDocs
  610. </a>
  611. </div>
  612. </div>
  613. </div>
  614. </footer>
  615. </div>
  616. <div class="md-dialog" data-md-component="dialog">
  617. <div class="md-dialog__inner md-typeset"></div>
  618. </div>
  619. <script id="__config" type="application/json">{"base": "..", "features": ["navigation.indexes", "content.action.edit", "navigation.footer", "content.code.copy", "content.footnote.tooltips", "header.autohide", "announce.dismiss"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
  620. <script src="../assets/javascripts/bundle.525ec568.min.js"></script>
  621. <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
  622. document$.subscribe(() => { lightbox.reload() });
  623. </script></body>
  624. </html>