You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Sources/Agentic_System/README.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,19 @@
6
6
-`FUZZILLI_TOOL_BIN` => points to the FuzzILTool binary, typically under .build in Fuzzilli's root
7
7
-`FUZZILLI_PATH` => points to Fuzzilli's root directory, where you land after cloning and cd'ing into the repo
8
8
3. Put your OpenAI key into a `keys.cfg` in Sources/Agentic_System
9
-
4. Replace the smolagents site-packaged located in `.venv/lib/python3.12/site-packages` or similar with the provided fork of smolagents<br>
10
-
You can simply remove the existing smolagents in site-packages and move + rename the fork as `smolagents`
11
-
5. run `python3 start_scripts/rises-the-fog.py (--debug)`
9
+
4. run `python3 start_scripts/rises-the-fog.py (--debug)`
12
10
13
11
### Technical flow
14
12
#### The first multi agent system is implemented and starts by initializing a root manager whose goal is to actually orchestrate the creation of program templates. It starts by selecting a "code region" that it determines to be interesting; this is done by querying a RAG DB (json file) that contains over 8000 regression tests, their FuzzIL form, and execution data via trace flags. We instruct the system to select a code region by using the execution data. On top of that, the system has access to a vector RAG DB with: V8 docs, JS MDM docs, C++ docs, and various research papers that it can query to gather more information. The vectorization library we use is META’s FAISS -"Facebook AI Similarity Search". After this is done it will select a code region such as: "Keyed array element access & elements-kind transitions (KeyedStoreIC/KeyedLoadIC, ElementsTransition, GrowElements/CopyElements, and Array builtin fast paths)".
15
13
14
+
### RAG layout
15
+
16
+
-`RAG/data_sources/knowlage_docs`: crawled and curated text sources used to build the vector stores
17
+
-`RAG/meta_data`: FAISS indexes, metadata json, model files, and legacy Chroma leftovers
18
+
-`RAG/util-scripts`: crawlers, HTML conversion, and index build/query helper scripts
19
+
20
+
The old top-level `knowlage_docs` path is kept as a compatibility symlink, but `RAG/` is now the canonical location.
21
+
16
22
17
23
#### From there we run a code analysis agent whose goal is to actually figure out what the code region looks like in the V8 code base and give back an in depth analysis of the code region - functions / files that are deemed "interesting". We give the V8 search agent, who is responsible for querying and searching through the source code, a variety of tools like ripgrep, fuzzyfinder, and sed in order to read files. This agent will create a run-time RAG in order to store interesting code chunks. We use tool calls that create controlled, structured json in order to create the runtime RAG that gets used between agents. After V8 search completes and generates a list of relevant database entries linked to the initial code region, the code analysis stage compiles a comprehensive summary of the codebase and its functions. It then sends a detailed explanation - along with supporting code snippets - to the verification agent. Once the response is verified, the finalized version is returned to the root manager.
0 commit comments