AOCI-CODE
ทางการเซิร์ฟเวอร์ MCP และ CLI ภายในเครื่องที่ดูแลดัชนีซึ่งเขียนโดยโมเดลและจัดเก็บด้วย Git ของฐานโค้ดและสคีมาฐานข้อมูล เพื่อให้เอเจนต์เขียนโค้ดเริ่มแต่ละงานโดยมองเห็นระบบทั้งหมด
คุณทำอะไรได้บ้างด้วย AOCI CODE MCP?
- สร้างดัชนีทั้งรีโป — ขอให้เอเจนต์สร้างดัชนี AOCI เพื่อให้รู้วัตถุประสงค์ การพึ่งพา และสัญญาของแต่ละไฟล์ก่อนเริ่มงาน
- รับช่วงโค้ดเบสที่มีอยู่ — ชี้เอเจนต์ไปที่รีโพซิทอรี ให้จัดทำดัชนีระบบ แล้วรายงานความเชี่ยวชาญในแต่ละส่วนเป็นเปอร์เซ็นต์
- จัดทำดัชนีตารางฐานข้อมูล — สร้างดัชนีระดับตารางแยกต่างหากสำหรับ PostgreSQL, MySQL หรือ openGauss เพื่อให้ความรู้เรื่องโค้ดและสคีมาถึงเอเจนต์พร้อมกัน
- รักษาดัชนีให้สอดคล้อง — หลังจากโค้ดและเทสต์เสถียรแล้ว เอเจนต์จะอัปเดตรายการที่ได้รับผลกระทบผ่านเวิร์กโฟลว์ MCP โดยไม่ต้องมีพรอมป์บำรุงรักษาด้วยมือ
- ตรวจสอบความสอดคล้องและวินิจฉัย — รัน
verify,check,capabilitiesและdoctorเพื่อยืนยันว่าดัชนีตรงกับซอร์สที่จัดการอยู่ในปัจจุบัน - เปิดแผง AOCI — เริ่มแผงสถานะภายในเครื่องในเบื้องหลังและรับลิงก์ที่แสดงสถานะดัชนี
เอกสาร

AOCI-CODE
แผนที่ของทั้งโค้ดเบสของคุณที่คงอยู่และมี Git ควบคุมเวอร์ชัน — เขียนโดยเอเจนต์เขียนโค้ดของคุณ กำกับดูแลโดย MCP เซิร์ฟเวอร์ภายในเครื่อง เอเจนต์อ่านครั้งเดียวแล้วรู้จักระบบ แทนที่จะอ่านรีโปซ้ำในทุกงาน
🇺🇸 English | 🇨🇳 简体中文
มันทำอะไร
สร้างระบบขนาดใหญ่โดยไม่หลงทาง ใน Codex, Claude Code, Cursor, OpenCode และเอเจนต์ที่คล้ายกัน เอเจนต์ของคุณเริ่มทุกงานโดยรู้จักทั้งระบบอยู่แล้ว: แต่ละไฟล์มีไว้ทำอะไร พึ่งพาอะไร และอะไรที่ต้องไม่พัง มันหยุดค้นหาและอ่านโค้ดเบสซ้ำในทุกคำขอ คนที่ไม่ใช่นักพัฒนามืออาชีพก็สามารถพัฒนาระบบของตัวเองต่อไปได้ ส่วนนักพัฒนามืออาชีพสามารถมอบทั้งระบบให้เอเจนต์และเก็บสมาธิไว้กับสถาปัตยกรรมและการออกแบบ
รับช่วงระบบที่มีอยู่แล้วได้ในขั้นตอนเดียว ชี้เอเจนต์ไปที่โค้ดเบสที่มีอยู่ขนาดไม่เกินประมาณ 500,000 บรรทัด แล้วสั่งให้สร้างดัชนี มันจะรายงานว่ารู้จักแต่ละส่วนได้ดีแค่ไหน แล้วเริ่มพัฒนาต่อจากตรงนั้น ขีดจำกัดในทางปฏิบัติคือขนาดของดัชนี ไม่ใช่จำนวนบรรทัด: ระบบเชิงพาณิชย์ขนาด 700,000 บรรทัดได้รับการพัฒนาด้วยวิธีนี้ในปัจจุบัน โดยมีดัชนีขนาดประมาณ 300K โทเคน
เปลี่ยนคน เอเจนต์ หรือบทสนทนาได้โดยไม่ต้องเริ่มใหม่ ดัชนีอาศัยอยู่ในรีโปข้างโค้ดและมี Git ควบคุมเวอร์ชัน เมื่อโปรเจกต์เปลี่ยนมือ เปลี่ยนเอเจนต์ หรือเปิดบทสนทนาใหม่ การอ่านดัชนีครั้งเดียวก็ทำต่อจากจุดที่ค้างไว้ได้
หลังดัชนีแรก การบำรุงรักษาเป็นไปโดยอัตโนมัติ MCP เซิร์ฟเวอร์ตรวจจับการเปลี่ยนแปลงของโค้ดและแจ้งรายการที่ต้องอัปเดต เอเจนต์กรอกข้อมูลเหล่านั้นเมื่อทำงานแต่ละงานเสร็จ ดัชนีจึงตรงกับโค้ดปัจจุบันและคุณไม่ต้องหยุดเพื่อบำรุงรักษา
หน้าตาเป็นอย่างไร
หนึ่งบรรทัดต่อหนึ่งไฟล์ เขียนโดยโมเดลจากซอร์สจริง นี่คือรายการจริงจากดัชนีของรีโปนี้เอง:
atomic.go[CG9L]: F:Provides durable replace CAS, create CAS, atomic writes, and no-clobber recovery moves | R:code:internal/fs/atomic_exchange_linux.go,code:internal/fs/atomic_exchange_windows.go,code:internal/fs/lock.go | A:AtomicWrite,AtomicWriteCAS,AtomicCreateCAS,AtomicMoveCAS | S:Native publication never degrades to an overwriting rename; on a race, unsafe type, or unverifiable bytes, preserve third-party state
F คือสิ่งที่ไฟล์นี้รับผิดชอบ R คือสิ่งที่คุณต้องอ่านควบคู่ไปด้วย A คือสิ่งที่ผู้เรียกใช้พึ่งพา และ S คือสิ่งที่คุณอนุมานจากโค้ดไม่ได้แต่ต้องไม่เข้าใจผิด แท็ก [CG9L] จัดวางไฟล์ตามชั้น โดเมน ความสำคัญ และขนาด เพียงไม่กี่ร้อยบรรทัดแบบนี้ก็ครอบคลุมทั้งระบบ และเอเจนต์อ่านได้ในรอบเดียว รูปแบบรายการ อธิบายแต่ละฟิลด์
ต่างจาก CodeGraph อย่างไร?
- CodeGraph แยกวิเคราะห์โค้ดของคุณเป็นกราฟของสัญลักษณ์และการเรียกใช้ เมื่อเอเจนต์ถามคำถาม มันจะคืนซอร์สและเส้นทางการเรียกที่แม่นยำ เป็นเครื่องมือค้นหาที่แม่นยำสำหรับงานตรงหน้า
- AOCI-CODE ให้โมเดลเขียนหนึ่งบรรทัดต่อหนึ่งไฟล์และตาราง: มีไว้ทำอะไร เชื่อมต่อกับอะไร และอะไรที่ต้องไม่พัง เอเจนต์อ่านดัชนีทั้งหมดก่อน รู้จักระบบก่อนที่งานจะเริ่ม ดัชนีอาศัยอยู่ใน Git และถูกทำให้สอดคล้องกับโค้ด
- ใช้ทั้งสองอย่าง: ดัชนีเพื่อรู้จักระบบ CodeGraph เพื่อดึงโค้ดที่แม่นยำขณะทำงาน
การเปรียบเทียบแบบเต็ม ครอบคลุม RAG, LSP และ repo map ด้วย
สิ่งที่ควรคาดหวัง
ดัชนีแรกใช้เวลาสักพัก เอเจนต์อ่านทุกไฟล์ที่จัดการและเขียนหนึ่งรายการต่อไฟล์: ประมาณหนึ่งชั่วโมงต่อโค้ด 200,000 บรรทัด ขึ้นอยู่กับโมเดลและความเร็วของเอเจนต์ มันทำงานเป็นชุดและทำต่อจากจุดที่หยุดหากถูกขัดจังหวะ
มีฐานข้อมูล? จัดทำดัชนีด้วย รองรับ MySQL และ PostgreSQL และ openGauss 6.0.5 ที่มีข้อจำกัด MySQL หมายถึง 5.7.6 ขึ้นไป; ไม่รองรับ MariaDB สร้างดัชนีโค้ดก่อน แล้วจึงสร้างดัชนีฐานข้อมูล เมื่อความรู้ระดับโค้ดและระดับตารางถูกส่งมอบพร้อมกัน เอเจนต์จะเข้าใจระบบได้สมบูรณ์ยิ่งขึ้น
ภายในเครื่องเท่านั้น: อ่านอย่างเดียวบนระบบของคุณ ไม่มีอินเทอร์เน็ต ไม่เก็บข้อมูลรับรอง AOCI-CODE อ่านซอร์สโค้ดและโครงสร้างตารางฐานข้อมูลของคุณ ไม่เคยแตะข้อมูลธุรกิจ มันเขียนไฟล์ดัชนีและสถานะของตัวเองภายในไดเรกทอรีโปรเจกต์ บวกกับการลงทะเบียนของหน้าสถานะในไดเรกทอรีแคชของผู้ใช้ของคุณ มันไม่เคยเข้าถึงอินเทอร์เน็ตและไม่อัปโหลดสิ่งใด: การเชื่อมต่อเดียวที่มันเปิดคือไปยังฐานข้อมูลที่คุณประกาศ สำหรับเมทาดาทาแคตตาล็อก และไปยังหน้าสถานะลูปแบ็กของตัวเอง ข้อมูลรับรองฐานข้อมูลถูกอ้างอิงด้วยชื่อตัวแปรสภาพแวดล้อมและไม่เคยถูกเก็บ ข้อความดัชนีเขียนในเครื่องโดยเอเจนต์ของคุณเองผ่านช่องทางโมเดลที่คุณใช้อยู่แล้ว AOCI-CODE ไม่เพิ่มทางออกของข้อมูลใหม่
เริ่มต้นอย่างรวดเร็ว
ให้คำสั่งต่อไปนี้กับเอเจนต์ของคุณเพื่อดาวน์โหลด AOCI-CODE และเชื่อมต่อ หลังจากคุณรีสตาร์ทเอเจนต์แล้ว ส่งคำสั่งที่สองเพื่อสร้างดัชนี
AOCI-CODE project: https://github.com/aoci-spec/aoci-code
Download the latest release package for this operating system and CPU architecture from
https://github.com/aoci-spec/aoci-code/releases, and follow the installation instructions
on the Release page to verify it. If no compatible release package exists, or if I
explicitly request the latest source, build it from the official repository.
After extracting the package, place aoci (aoci.exe on Windows) at a stable absolute path.
Then use that absolute path to do the following for my project:
1. Run init to initialize AOCI and integrate MCP for the current host; if this host does
not write project configuration (Cursor, for example), give me the configuration I
need to paste myself
2. Run scan
scan takes its file inventory from Git, so do not add the cognition assets
init writes (aoci.txt, aoci.meta.txt, aoci.code.txt, AGENTS.md) to .gitignore
or .git/info/exclude — an ignored asset is silently skipped and the index
cannot be built. Leave the host-config ignore init writes for itself as it is.
3. Tell me to restart the agent so the newly written MCP server takes effect
Stop after those three steps and do not build the index yet — I will tell you to continue
after the restart.
หลังจากรีสตาร์ทเอเจนต์แล้ว ส่งคำสั่งนี้:
First confirm the AOCI MCP server is connected, then build the AOCI index for this project. When it is complete, give me the AOCI panel link.
เอเจนต์เริ่มแผงควบคุมในเบื้องหลังด้วย aoci ui --detach --json และส่งลิงก์ให้คุณ แผง AOCI อธิบายสิ่งที่มันแสดงและคำสั่งอื่นๆ
ทำไมต้องรีสตาร์ท: ดัชนีถูกเขียนผ่านเครื่องมือ MCP ของ AOCI และเซสชันที่รัน init ยังไม่ได้โหลด MCP เซิร์ฟเวอร์ที่ init เพิ่งเขียน โฮสต์ที่โหลด MCP เซิร์ฟเวอร์แบบไดนามิกอาจไม่ต้องรีสตาร์ท การผสานรวมกับโฮสต์ อธิบายวิธีตรวจสอบ
หากโปรเจกต์ของคุณมีฐานข้อมูล (รองรับ PostgreSQL และ MySQL บวก openGauss 6.0.5 ที่มีข้อจำกัด) ให้จัดทำดัชนีด้วย ประกาศแหล่งข้อมูลตามที่อธิบายใน Database Cognition ระบุตัวแปรสภาพแวดล้อมของสตริงการเชื่อมต่อในสภาพแวดล้อมของโฮสต์ (AOCI ไม่เก็บข้อมูลรับรอง) แล้วส่ง:
Build the AOCI database index for this project.
หากบริบทถูกบีบอัด หรือคุณต้องการให้เอเจนต์สร้างภาพระบบใหม่ ส่งคำสั่งนี้:
Using only AOCI, establish whole-framework cognition of this project, tell me your mastery of each area as a percentage, and whether you can take over development.
มันทำงานอย่างไร
AOCI (AI-Oriented Cognition Infrastructure) คือวิธีการและโปรโตคอล: ชั้นระหว่างเอเจนต์เขียนโค้ดและระบบซอฟต์แวร์ โมเดลให้เหตุผล เอเจนต์วางแผนและลงมือ และ AOCI เก็บคำอธิบายระบบที่เป็นปัจจุบัน ครอบคลุมโค้ด การกำหนดค่า การทดสอบ และโครงสร้างฐานข้อมูล ให้เอเจนต์อ่านก่อนลงมือ AOCI-CODE คือโปรเจกต์นี้: CLI aoci, MCP เซิร์ฟเวอร์ และดัชนีที่ทั้งสองดูแล
AOCI-CODE กลั่นสิ่งที่สำคัญจริงๆ ต่อการเข้าใจและการเปลี่ยนแปลงระบบให้เป็นดัชนีข้อความล้วนที่กระชับ ซึ่งผสานสัญลักษณ์และความหมายเข้าด้วยกัน เมื่อบริบทของโมเดลมีจำกัด เอเจนต์จะอ่านดัชนีก่อน ได้ข้อมูลสำคัญส่วนใหญ่ของโปรเจกต์ในรอบเดียว แล้วจึงเริ่มงาน ช่วยลดการค้นหาและการเรียนรู้ซ้ำ และส่งต่อความเข้าใจข้ามงานและเซสชัน
- ไม่ใช่บทสรุปครั้งเดียว ดัชนีวิวัฒน์ไปพร้อมระบบและอยู่ในโปรเจกต์ ที่ซึ่งคุณสามารถ diff, รีวิว, ควบคุมเวอร์ชัน และย้อนกลับด้วย Git
- มากกว่า "ไฟล์อยู่ที่ไหน" มันบันทึกความรับผิดชอบ ความสัมพันธ์ที่แน่นแฟ้น สัญญาสาธารณะ ขอบเขตธุรกรรม ข้อจำกัดด้านความเข้ากันได้ และสิ่งอื่นๆ ที่อนุมานจากโครงสร้างโค้ดได้ยาก
- พกพาได้ ดัชนีถูกเก็บพร้อมโปรเจกต์ ไม่ผูกกับโมเดล เอเจนต์ หรือเซสชัน ตราบใดที่มันสอดคล้องกับโค้ด เอเจนต์ใดและเซสชันใดในภายหลังก็ใช้ซ้ำได้โดยไม่ต้องสร้างความเข้าใจใหม่ตั้งแต่ต้น
- โค้ดและฐานข้อมูลไปด้วยกัน โมเดลสามารถสร้างดัชนีระดับตารางแยกต่างหากสำหรับตารางฐานข้อมูล เมื่อส่งมอบพร้อมกัน ทั้งสองจะให้ภาพระบบที่สมบูรณ์ยิ่งขึ้นแก่เอเจนต์
ดัชนีคือชุดไฟล์ข้อความล้วนที่กำกับดูแล เก็บไว้พร้อมโปรเจกต์:
- Root (
aoci.txt) ประกาศว่าอะไรประกอบเป็นดัชนีปัจจุบันและเป็นจุดเข้าถึงการเปิดใช้งาน - Meta (
aoci.meta.txt) เก็บพจนานุกรมแท็ก กฎ FRAS และข้อจำกัดในการเขียน - Code (
aoci.code.txt) เก็บรายการที่โมเดลเขียนสำหรับโค้ดและสินทรัพย์อื่นๆ ของรีโป - Database (
aoci.database.txt) เก็บรายการระดับตารางแบบเลือกได้เมื่อเปิดใช้ Database Cognition
Root, Meta และ Volume ของออบเจกต์ที่เข้าร่วมรวมกันเป็น Whole-Index เวิร์กโฟลว์บนสิ่งเหล่านี้มีสามขั้นตอน:
- สร้างดัชนีภายใต้การกำกับดูแล โมเดลอ่านซอร์สโค้ดและหลักฐานที่ยอมรับ AOCI-CODE กำกับดูแล Managed Scope และรายการที่โมเดลเขียนสำหรับทุกออบเจกต์ที่จัดการด้วยบทบาท
index - อ่านก่อนลงมือ เอเจนต์อ่านกฎของโปรเจกต์ คู่มือสด และ Whole-Index ปัจจุบัน แล้วตรวจสอบซอร์สและหลักฐานอื่นสำหรับงานตรงหน้า
- บำรุงรักษาหลังการเปลี่ยนแปลงที่ตรวจสอบแล้ว เมื่อโค้ดและการทดสอบเสถียรแล้ว กฎของโปรเจกต์และเวิร์กโฟลว์ MCP ให้เอเจนต์อัปเดตรายการที่ได้รับผลกระทบและนำดัชนีกลับสู่
aligned
เนื่องจากไฟล์เหล่านี้เป็นข้อความล้วนในรีโป Git จึงควบคุมเวอร์ชันให้ ตราบใดที่ดัชนียังสอดคล้องกับเวอร์ชันระบบปัจจุบัน เอเจนต์ใดและเซสชันใดในภายหลังก็อ่านและใช้ Whole-Index เดียวกันซ้ำได้
การผสานรวมด้วยตนเอง
รับ AOCI-CODE จากแหล่งข้อมูลหลักหรือใช้แพ็กเกจที่ลงนามจาก GitHub Releases ก่อนใช้ไบนารีที่สร้างไว้ล่วงหน้า ให้ทำตามระดับการตรวจสอบพื้นฐาน แนะนำ หรือเต็มรูปแบบในคู่มือการติดตั้ง และรายงานว่าระดับใดเสร็จสมบูรณ์ ให้ README นี้และพาธสัมบูรณ์ที่เสถียรของไบนารีที่ตรวจสอบแล้วแก่เอเจนต์เขียนโค้ดที่คุณไว้วางใจ เช่น Codex, Claude Code, Cursor หรือ OpenCode เอเจนต์สามารถทำตามคำแนะนำในโปรเจกต์เพื่อเริ่มต้น AOCI ผสานรวม MCP และสร้างดัชนีแรก
ระยะเวลาของดัชนีแรกขึ้นอยู่กับขนาดรีโป การผสานรวมปกติมีสี่ขั้นตอน: เตรียมไบนารี ให้เอเจนต์หรือตัวคุณเองเริ่มต้นรีโปเป้าหมาย ขอให้โฮสต์ "สร้างดัชนี" และตรวจสอบความสอดคล้อง หลังจากนั้นคุณไม่จำเป็นต้องลงท้ายทุกคำขอด้วย "บำรุงรักษาดัชนี" กฎของโปรเจกต์และเวิร์กโฟลว์ MCP ให้เอเจนต์บำรุงรักษาดัชนีแบบเพิ่มพูนทุกครั้งที่ออบเจกต์ที่จัดการเปลี่ยนแปลง
ข้อกำหนด
- แพ็กเกจรีลีสที่ตรวจสอบแล้วหรือเช็กเอาต์ของรีโปซอร์สหลัก AOCI-CODE
- สำหรับการสร้างจากซอร์สเท่านั้น: ชุดเครื่องมือ Go ที่ประกาศโดย
go.mod,makeและเครื่องมืออื่นๆ ที่รีโปต้องการ - โฮสต์ MCP ที่รองรับ เช่น Codex, Claude Code, Cursor หรือ OpenCode
- สิทธิ์การอ่านและเขียนปกติต่อรีโปเป้าหมาย
AOCI-CODE ผสานรวมกับโฮสต์ MCP ไม่ใช่กับ API ของผู้ให้บริการโมเดล DeepSeek และโมเดลอื่นๆ สามารถใช้ AOCI-CODE ได้เมื่อเอเจนต์หรือโฮสต์ที่รันโมเดลเหล่านั้นรองรับ stdio MCP มาตรฐานและทำตามสัญญาเครื่องมือได้ ชื่อโมเดลเพียงอย่างเดียวไม่ได้ ยืนยันความเข้ากันได้
เส้นทางแพ็กเกจที่ลงนามและคำสั่งตรวจสอบไฟล์ปฏิบัติการอยู่ในคู่มือการติดตั้ง เส้นทางการสร้างจากซอร์สอยู่ด้านล่าง
RC ปัจจุบัน: ใช้แพ็กเกจที่ตรวจสอบแล้วหรือสร้างจากซอร์ส
[!IMPORTANT] AOCI-CODE v0.1.0-rc22 เป็นรีลีสแคนดิเดตปัจจุบัน เป็นซอฟต์แวร์ Fair Source/เปิดเผยซอร์สภายใต้ FSL-1.1-MIT ดู LICENSE สร้างจากซอร์สหลักหรือใช้แพ็กเกจที่ลงนามจาก GitHub Release v0.1.0-rc22 หลังจากทำตามขั้นตอนการตรวจสอบรีลีส
ไบนารีรีลีสที่ลงนามระบุตัวเองว่าเป็น aoci version 0.1.0-rc22 การ
สร้างจากซอร์สจะระบุเช็กเอาต์ที่แน่นอนแทน และอาจรายงานเวอร์ชันสำหรับการพัฒนา
เช่น v0.1.0-rc22-1-g<short-commit> (บวก -dirty เมื่อเกี่ยวข้อง)
พร้อมกับ Git commit ของมัน สิ่งเหล่านี้เป็นอินพุตการสร้างที่ต่างกัน ไม่ใช่ความ
ขัดแย้งของเวอร์ชัน
หากต้องการดาวน์โหลดด้วย GitHub CLI ให้ยืนยันตัวตนก่อน แล้วดาวน์โหลด แอสเซ็ตรีลีสที่ติดแท็ก:
gh auth login
gh release download v0.1.0-rc22 --repo aoci-spec/aoci-code
สำหรับการดาวน์โหลดแบบไม่ระบุตัวตน ให้เปิด หน้ารีลีส v0.1.0-rc22 ในเบราว์เซอร์และดาวน์โหลดไฟล์เก็บถาวรและแอสเซ็ตการตรวจสอบที่คุณต้องการ
หากต้องการสร้างจากซอร์ส ให้โคลนรีโปหลัก สร้างไบนารี และเก็บพาธที่ได้ให้เสถียร:
git clone https://github.com/aoci-spec/aoci-code.git
cd aoci-code
mkdir -p build
make build
./build/aoci --version
บน Windows ให้สร้างซอร์สเดียวกันใน PowerShell:
git clone https://github.com/aoci-spec/aoci-code.git
Set-Location .\aoci-code
New-Item -ItemType Directory -Force .\build | Out-Null
make build
.\build\aoci.exe --version
จากนั้นให้ README นี้แก่เอเจนต์ที่คุณไว้วางใจกับโปรเจกต์อยู่แล้วและถามว่า:
Read this AOCI-CODE README and use the built aoci binary at its stable absolute path
to initialize AOCI for the current project, integrate MCP, and run scan. Stop there and
tell me to restart the agent; I will ask you to build the index afterwards.
เอเจนต์ควรระบุรากของโปรเจกต์ ใช้พาธแบบ absolute ที่เสถียรไปยังไบนารีที่สร้างแล้ว รันการเริ่มต้นที่เหมาะกับโฮสต์ปัจจุบัน และบอกคุณอย่างชัดเจนเมื่อจำเป็นต้องรีสตาร์ตโฮสต์หรือต้องได้รับการอนุมัติจากมนุษย์จริง ไบนารีสามารถอยู่ในเชกเอาต์ AOCI-CODE หรือย้ายไปยังไดเรกทอรีเครื่องมือที่ใช้ร่วมกันได้ ตราบใดที่การกำหนดค่า MCP ชี้ไปยังพาธแบบ absolute ที่ถูกต้อง
การเริ่มต้นด้วยตนเอง
หากต้องการเริ่มต้น AOCI ด้วยตนเอง ให้รันคำสั่งต่อไปนี้จากรากของรีโพซิทอรีเป้าหมาย หรือส่งพาธที่ระบุชัดเจนผ่าน --repo:
AOCI=/absolute/path/to/aoci-code/build/aoci
"$AOCI" --repo . init --locale en-US --agent codex
"$AOCI" --repo . scan
init จะเขียนการกำหนดค่าภาษา บล็อกกฎ AGENTS.md ที่ถูกจัดการ ขอบเขต Git และโครงกระดูกดัชนีเปล่า การกำหนดค่าและการพรอมป์ต์แตกต่างกันไปตามโฮสต์ ดู การผสานรวมกับโฮสต์ มันจะไม่สร้างความหมายทางธุรกิจขึ้นมาจากชื่อไฟล์ ไดเรกทอรี หรือ AST
สำหรับรีโพซิทอรีใหม่ scan ครั้งแรกจะสร้าง Baseline ที่ถูกจัดการ สำหรับโปรเจกต์ที่มี Baseline ที่อยู่ภายใต้การกำกับดูแลอยู่แล้ว การเพิ่ม ลบ หรือเปลี่ยนแปลงขอบเขตที่ถูกจัดการจะต้องผ่านเวิร์กโฟลว์ Scope Change อย่างเป็นทางการ scan --force ไม่ใช่ทางลัดสำหรับการนิยามข้อเท็จจริงด้านการกำกับดูแลใหม่ --force ยังไม่สามารถลบ drift ที่ยังไม่คลี่คลาย ใบรับ หรือขอบเขตการกู้คืนได้
Windows PowerShell
$Aoci = (Resolve-Path "C:\path\to\aoci-code\build\aoci.exe").Path
& $Aoci --repo . init --locale en-US --agent codex
& $Aoci --repo . scan
ยืนยันว่า $Aoci ชี้ไปยังพาธแบบ absolute ที่เสถียร
ให้เอเจนต์สร้างดัชนีแรก (สำคัญ)
เมื่อการเริ่มต้นและ scan เสร็จสิ้นแล้ว ให้ตรวจสอบว่าเซสชันของเอเจนต์เปิดเผยเครื่องมือ AOCI แล้วหรือไม่ หากยัง ให้รีเฟรชหรือรีสตาร์ต จากนั้นป้อนคำสั่งต่อไปนี้ในเอเจนต์สำหรับโปรเจกต์เป้าหมาย:
First confirm the AOCI MCP server is connected, then build the AOCI index for this project. When it is complete, give me the AOCI panel link.
เอเจนต์จะเริ่มแผงควบคุมในเบื้องหลังด้วย aoci ui --detach --json และส่งลิงก์ให้คุณ แผงควบคุม AOCI อธิบายสิ่งที่มันแสดงและคำสั่งอื่นๆ ของมัน
โฮสต์จะอ่านกฎ AOCI และคู่มือสดของโปรเจกต์ ตรวจสอบซอร์สโค้ด การทดสอบ การกำหนดค่า และหลักฐานที่เกี่ยวข้อง จากนั้นเขียนแคนดิเดต FRAS สำหรับทุกออบเจกต์ที่ถูกจัดการซึ่งมีบทบาทเป็น index คุณไม่จำเป็นต้องจัดการ Plan, Stage, Check, Diff, CAS หรือ Apply ด้วยตนเอง
เมื่อดัชนีแรกเสร็จสมบูรณ์ ให้ส่งคำขอการพัฒนาตามปกติ เช่น:
Add priorities to tasks, including the frontend, backend, database, and test changes.
คุณไม่จำเป็นต้องต่อท้ายว่า "ดูแลดัชนี AOCI เมื่อสิ้นสุด" กฎของโปรเจกต์และ MCP จะทำให้เอเจนต์ตรวจสอบการเปลี่ยนแปลงของดัชนีเมื่อโค้ดและการทดสอบเสถียรแล้ว จากนั้นอัปเดตรายการที่ได้รับผลกระทบผ่านเวิร์กโฟลว์อย่างเป็นทางการ เมื่อโปรเจกต์ใช้ automation.mode=auto AOCI-CODE จะขัดจังหวะคุณเฉพาะเมื่อจำเป็นต้องได้รับการอนุมัติจากมนุษย์จริง ต้องดำเนินการภายนอก 无法พิสูจน์การกู้คืน การตรวจสอบความปลอดภัยล้มเหลว หรือพบความขัดแย้งในการทำงานพร้อมกันจากบุคคลที่สาม โหมดอัตโนมัติอื่นๆ จะเป็นไปตามสัญญารันไทม์ของตนเอง
ตรวจสอบความสอดคล้อง
เมื่อการเริ่มต้นใช้งานเสร็จสิ้น ให้รัน:
"$AOCI" --repo . verify
"$AOCI" --repo . check
ดัชนีและซอร์สที่ถูกจัดการในปัจจุบันควรบรรจบกลับไปที่ aligned หากไม่เป็นเช่นนั้น ให้ปรึกษาคู่มือสดก่อน อย่าทำซ้ำเครื่องสถานะภายในในสคริปต์ห่อ:
"$AOCI" --repo . index agent guide --agent codex --json
รันการวินิจฉัยพื้นฐาน
"$AOCI" --repo . capabilities
"$AOCI" --repo . doctor
หากต้องการยืนยันว่าโฮสต์เชื่อมต่อกับ AOCI ตัวใดจริงๆ ให้อ่านสิ่งที่เซิร์ฟเวอร์รายงานเกี่ยวกับตัวเองแทนที่จะดูจากดิสก์ ในทุกการตอบสนอง aoci_overview check_only หรือการตอบสนอง aoci_maintain ใดๆ cognition_receipt.mcp_service_version คือเวอร์ชันที่กำลังทำงาน และ runtime_repository_root คือรีโพซิทอรีที่มันกำกับดูแล พาธไบนารีที่ตรงกันคือ command ใน .mcp.json ของโปรเจกต์ หรือการกำหนดค่าโฮสต์ที่เทียบเท่า: .codex/config.toml, opencode.json หรือ .cursor/mcp.json การแทนที่ไบต์บนดิสก์ไม่เปลี่ยนโปรเซส MCP ที่กำลังทำงาน ดังนั้นให้ตรวจสอบกับข้อเท็จจริงเหล่านั้นอีกครั้งหลังการอัปเกรดหรือย้อนกลับ
สำหรับการแนะนำแบบครั้งเดียว ให้ใช้ examples/minimal-repository ในรีโพซิทอรี
นักพัฒนา: สร้าง AOCI-CODE CLI จากซอร์ส
หากคุณกำลังพัฒนา AOCI-CODE เอง ให้รันเกตคุณภาพแบบเร็วระหว่างการพัฒนาตามปกติและก่อนคอมมิต:
make fast
รันคำสั่งต่อไปนี้เมื่อคุณต้องการการตรวจสอบ Full Confidence และไฟล์ปฏิบัติการ:
make full
./build/aoci --version
make full คือเกต Full Confidence และรวม make build ไว้แล้ว make check เป็นเพียงนามแฝงเพื่อความเข้ากันได้สำหรับเกตเต็มเดียวกัน ดังนั้นไม่จำเป็นต้องรันทั้งสอง ใช้ make release-check สำหรับการซ้อมก่อนรีลีสที่เสถียร หากคุณต้องการเพียงการสร้างโดยตรง ให้รัน:
mkdir -p build
CGO_ENABLED=0 go build -o build/aoci ./cmd/aoci
AOCI-CODE CLI เป็นโปรแกรม Go แบบไบนารีเดี่ยวที่ไม่ต้องใช้ CGO เป้าหมาย make build ใช้ส่วนต่อท้ายไฟล์ปฏิบัติการแบบเนทีฟของ Go: build/aoci บน Linux และ macOS และ build/aoci.exe บน Windows ก่อนการรีลีสหรือส่งมอบ ให้พึ่งพาเอาต์พุต --version และ capabilities ของไบนารีจริงและ Release Manifest อย่างเป็นทางการ ไม่ใช่สตริงเวอร์ชันใน README
สิ่งที่ปรากฏหลังการเริ่มต้น
รีโพซิทอรีทั่วไปมีไฟล์ดัชนีเหล่านี้:
aoci.txt Root: declares the current CognitionSet and participating Volumes
aoci.meta.txt Meta: tag dictionary, FRAS rules, and authoring constraints
aoci.code.txt Code: model-authored entries for code and repository assets
aoci.database.txt Database: optional table-level entries; absent by default
.aoci/
├── config.json Team policy, Locale, Scope, and budgets
├── baseline.json Governed Baseline for source, index, and database bindings
├── curation.json Optional file-level include/exclude decisions
└── ... Drafts, Ledger, transactions, and recovery evidence; normally not committed to Git
การเริ่มต้นโปรเจกต์ใหม่จะสร้าง Root, Meta และ Code Volume เปล่า ส่วน Database จะไม่มีโดยค่าเริ่มต้น AOCI-CODE จะไม่สร้างความหมายทางธุรกิจสำหรับรีโพซิทอรีหรือฐานข้อมูลด้วยตนเอง
aoci init --agent <name> ยังเขียนการกำหนดค่าการผสานรวมกับโฮสต์
(.mcp.json, .claude/settings.json, .codex/config.toml หรือ opencode.json)
ซึ่งพาธคำสั่งและพาธรีโพซิทอรีผูกกับเครื่องนั้นๆ ให้เพิ่มไฟล์เหล่านั้น
ลงใน .gitignore ของรีโพซิทอรีและอย่าคอมมิต: สำเนาที่คอมมิตไว้
จะเสียหายบนเครื่องอื่นทุกเครื่อง และเนื่องจากตัวติดตั้งตรวจพบรายการที่มีอยู่
โดยดูจากการมีอยู่ของคีย์ การรัน init ซ้ำที่นั่นจะเก็บพาธที่เสียหายไว้อย่างเงียบๆ
งานพัฒนาทำงานอย่างไร
ไดอะแกรมสองภาพด้านล่างแสดงเวิร์กโฟลว์ตามที่คุณสัมผัส ไม่ใช่การทำงานภายในของ AOCI
โปรเจกต์ใหม่: สร้างระบบง่ายๆ ก่อน แล้วจึงนำ AOCI เข้ามา
flowchart TD
I["The user proposes a product idea and requirements"] --> S["Use the agent's existing capabilities to build a simple new system"]
S --> Q["Integrate AOCI MCP"]
Q --> V["The agent builds the Whole-Index and verifies aligned"]
V --> N["The user continues with ordinary development requests"]
N --> M["The agent completes code, tests, and incremental index maintenance"]
M --> N
ระบบใหม่ไม่จำเป็นต้องใช้ AOCI-CODE ตั้งแต่บรรทัดแรกของโค้ด สร้างต้นแบบด้วยความสามารถที่มีอยู่ของเอเจนต์ก่อน ประมาณ 10,000–30,000 บรรทัดเป็นจุดที่ดีในการนำเข้ามา (ไม่ใช่เกณฑ์ตายตัว) ทีมที่ต้องการความต่อเนื่องข้ามเซสชันเร็วขึ้นสามารถผสานรวมได้เร็วกว่านี้
โปรเจกต์ที่มีอยู่แล้ว: ทำดัชนีรีโพซิทอรี แล้วจึงวนซ้ำ
flowchart TD
R["Existing repository, tests, configuration, and optional Schema"] --> B["Build AOCI-CODE from canonical source<br/>Request index generation"]
B --> E["The agent inspects the existing system and writes the first index"]
E --> V["Verify, Check, and Guide converge to aligned"]
V --> T["The user submits an ordinary development task"]
T --> C["The agent modifies code and runs quality checks"]
C --> U["MCP guides the agent through index maintenance"]
U --> G["The index and the current system return to aligned"]
G --> T
เมื่อดัชนีแรกเสร็จสมบูรณ์ ทั้งสองโฟลว์ทำงานเหมือนกันในแต่ละวัน: คุณอธิบายความต้องการทางธุรกิจหรือวิศวกรรม เอเจนต์จะรวม Whole-Index เข้ากับหลักฐานปัจจุบัน ดำเนินการพัฒนาและตรวจสอบ และอัปเดตออบเจกต์ที่เปลี่ยนแปลงผ่าน MCP ขณะปิดงาน คุณไม่จำเป็นต้องเรียนรู้คำสั่ง Plan, Stage, Diff, CAS หรือ Baseline ภายใน หรือพูดซ้ำถึงข้อกำหนดการบำรุงรักษาในทุกพรอมป์ต์
หากแบทช์ที่สมบูรณ์ถูกปฏิเสธก่อนการเขียนอย่างเป็นทางการใดๆ เริ่มต้น ดัชนีจะไม่เปลี่ยนแปลง หากเวิร์กโฟลว์ถูกขัดจังหวะหลังการเขียนอย่างเป็นทางการเริ่มต้น ระบบจะเก็บเจตนาที่ไม่เปลี่ยนรูป หลักฐานการเขียน และสถานะการกู้คืนไว้ จากนั้นจะดำเนินการต่อจาก postimage ที่พิสูจน์ได้ หรือย้อนกลับไปยัง preimage ที่แน่นอน ความขัดแย้งของไบต์จากบุคคลที่สามจะล้มเหลวแบบปิด AOCI-CODE จะไม่เขียนทับการแก้ไขภายนอกเพื่อ "ทำให้การเขียนเสร็จสิ้น"
สถานะสุดท้ายจะเป็นหนึ่งใน applied, repair_required หรือ stopped เสมอ stopped ไม่ใช่ความสำเร็จ และไม่ได้หมายความว่าไม่มีอะไรถูกเขียนลงไปเสมอไป ให้ตรวจสอบ failed_step, หลักฐานการเขียนอย่างเป็นทางการ และการดำเนินการกู้คืนที่คู่มือส่งคืน
ใครทำอะไร: โมเดลและ AOCI-CODE
โมเดลเป็นเจ้าของความหมาย
โมเดลของโฮสต์อ่านซอร์สโค้ด การทดสอบ การกำหนดค่า เอกสาร และหลักฐานใดๆ ที่จำเป็น จากนั้นตัดสินใจว่า:
- ออบเจกต์หนึ่งรับผิดชอบอะไรจริงๆ
- ไฟล์ โมดูล หรือออบเจกต์ฐานข้อมูลใดเป็นความสัมพันธ์ที่แน่นแฟ้นซึ่งต้องพิจารณาเพื่อเปลี่ยนแปลงอย่างปลอดภัย
- API คำสั่ง รูปแบบ หรือสัญญาที่สังเกตได้ใดที่มันเปิดเผย
- ข้อจำกัดด้านธุรกรรม การอนุญาต การทำงานพร้อมกัน แคช การปรับใช้ ความเข้ากันได้ หรือประวัติศาสตร์ใดที่ไม่สามารถอนุมานได้จากโครงสร้างทั่วไปเพียงอย่างเดียว
AOCI-CODE ไม่ประกอบ FRAS จากชื่อไฟล์ พาธ นามสกุล AST หรือเทมเพลต และจะไม่เขียนสิ่งที่โมเดลเขียนใหม่โดยไม่แจ้ง
AOCI-CODE เป็นเจ้าของการกำกับดูแล
AOCI-CODE รับผิดชอบ:
- การสร้าง Safe Inventory, Managed Scope และ Baseline ปัจจุบัน
- การส่งมอบ Whole-Index ปัจจุบันและยืนยันตัวตนของมัน
- การสร้างแผนที่กำหนดได้แน่นอน ชุดเป้าหมาย และค่า SHA-256 ของซอร์ส
- การตรวจสอบโครงสร้างแคนดิเดต พจนานุกรมแท็ก ตัวตนของความสัมพันธ์ ขอบเขต ความเป็นเจ้าของ งบประมาณ และช่วงที่ได้รับผลกระทบ
- การรักษาความผูกพันระหว่างการตรวจสอบ ความแตกต่าง และเนื้อหาการรีวิว
- การคอมมิตแบทช์ที่สมบูรณ์ด้วยล็อกข้ามโปรเซส CAS และการเขียนแบบอะตอมมิก
- การเลื่อน Baseline การต่อท้ายบัญชีแยกประเภท และการรักษาหลักฐานการกู้คืนหลังความล้มเหลวหลังการเขียน
- การพิสูจน์สถานะการกำกับดูแลปัจจุบันอีกครั้งผ่าน Verify, Check และคู่มือ
- การอนุมานการสังเกต Lineage, Relations, Impact, Snapshot และ Evolution จากสินทรัพย์ที่เชื่อถือได้โดยไม่สร้างแหล่งความจริงที่สอง
ผลลัพธ์จากเครื่องที่เป็นสีเขียวทั้งหมดหมายความเพียงว่าสัญญาโครงสร้างและการกำกับดูแลที่เข้ารหัสไว้ยังคงอยู่ ไม่ได้หมายความว่าทุกข้อความที่โมเดลเขียนนั้นถูกต้อง
ดัชนีถูกจัดระเบียบอย่างไร
ดัชนี AOCI มีสองชั้น: กฎของดัชนีและรายการของดัชนี ผลิตภัณฑ์รองรับเลย์เอาต์ทางกายภาพสองแบบ และทั้งสองไม่ใช่รูปแบบไฟล์เดียวกัน
เลย์เอาต์ Volumes v1
โปรเจกต์ Volumes แยกความรับผิดชอบ:
aoci.txtเป็นเพียง Root มันประกาศ Volumes ที่เข้าร่วมใน CognitionSet ปัจจุบันaoci.meta.txtเก็บ Meta: พจนานุกรมแท็ก กฎ FRAS งบประมาณ และสัญญาการเขียนaoci.code.txtเก็บรายการสำหรับออบเจกต์โค้ดaoci.database.txtเก็บรายการสำหรับออบเจกต์ฐานข้อมูลเมื่อเปิดใช้ Database Cognition
Code และ Database Volumes ใช้โครงสร้างบรรทัด FRAS เดียวกัน แต่มีตัวตนของออบเจกต์ การผูกหลักฐาน ความเป็นเจ้าของ และวงจรชีวิตที่เป็นอิสระต่อกัน Root, Meta และ Volumes ของออบเจกต์รวมกันเป็น Whole-Index การอ่านเพียง Root aoci.txt ไม่เพียงพอที่จะอ้างว่าคุณได้อ่านทั้งระบบ
คิดว่ามันเป็นแผนที่:
- กฎของดัชนีคือ คำอธิบายสัญลักษณ์และระบบพิกัด ของแผนที่
- รายการของดัชนีคือ เครื่องหมาย ที่อธิบายแต่ละตำแหน่ง
- Root คือ แคตตาล็อกและจุดเข้าสู่เวอร์ชัน สำหรับชุดแผนที่ปัจจุบัน
- Volume คือ แผ่นแยก ที่อยู่ภายใต้โปรโตคอลเดียวกันแต่มีแหล่งหลักฐานและวงจรชีวิตของตัวเอง
ส่วนหัวของดัชนีมีลักษณะอย่างไร
Root และ Meta ต่างเปิดด้วยบรรทัดส่วนหัวที่เครื่องอ่านได้ นี่คือสิ่งที่ aoci init เขียนสำหรับโปรเจกต์ en-US ใหม่ชื่อ my-service เริ่มจาก Root ซึ่งเป็นจุดเข้าสู่การเปิดใช้งาน:
#AOCI-ROOT-MANIFEST: 1
#Format-Version: cognition-volumes/v1
#Locale: en-US
#Project: my-service
#Global-Invariants: -
#Volume: id=meta kind=meta path=aoci.meta.txt format=meta-v1 depends=- state=enabled
#Volume: id=code kind=code path=aoci.code.txt format=object-fras-v2 depends=meta state=enabled
แต่ละบรรทัด #Volume: ประกาศ Volume ที่เข้าร่วมหนึ่งรายการพร้อมตัวตน ชนิด พาธ รูปแบบ การพึ่งพา และสถานะการเปิดใช้งาน Volume ที่ไม่ได้ประกาศที่นี่จะไม่เป็นส่วนหนึ่งของ CognitionSet ปัจจุบัน ไม่ว่าที่อื่นในเวิร์กกิงทรีจะมีอะไรก็ตาม การเปิดใช้ Database Cognition จะเพิ่มอีกหนึ่งบรรทัด คือ #Volume: id=database kind=database path=aoci.database.txt format=table-fras-v2 depends=meta state=enabled
จากนั้น Meta จะเปิดด้วยกฎที่กำกับทุกรายการ:
#AOCI-META-VOLUME: 1
#Object-Protocol: repository-cognition-object/v2
#FRAS-Discipline: 2
#FRAS-v2-Limits-Authority: machine-contract
#S-Admission: non-inferable-and-error-preventing
#S quota: C9-8≤600 C7-4≤200 C3-1≤50
#Object-Kinds: code=file database=table
#FRAS-v2-Limits-Authority: machine-contract คือบรรทัดที่รับน้ำหนัก: ขีดจำกัดของฟิลด์เป็นของไบนารี ไม่ใช่ของข้อความนี้ ดังนั้นโปรเจกต์จึงไม่สามารถขยายขีดจำกัดได้ด้วยการแก้ไข Meta ของตัวเอง #S-Admission และ #S quota กำกับฟิลด์ S โดยเฉพาะ: สิ่งใดที่อาจบันทึกไว้ที่นั่นได้เลย และแต่ละแถบความสำคัญสามารถใช้ได้กี่อักขระ พจนานุกรมแท็กจะตามมาทันทีหลังบรรทัดเหล่านี้ ซึ่งแสดงแบบเต็มด้านล่าง
Code Volume เปิดด้วยบรรทัดเดียว คือ #AOCI-CODE-VOLUME: 1 และทุกอย่างหลังจากนั้นคือส่วนไดเรกทอรีและรายการ
ค่าเหล่านี้เป็นค่าที่โปรเจกต์ใหม่เริ่มต้น ไม่ใช่ค่าคงที่ของโปรโตคอลที่ตายตัว หลังจากนั้น Root และ Meta ของแต่ละรีโพซิทอรีจะเป็นผู้มีอำนาจ: โปรเจกต์เก่าอาจมีพจนานุกรมแท็กที่กำหนดเอง และโปรเจกต์ที่เริ่มต้นด้วย --locale zh-CN จะเขียน #Locale: zh-CN และแปลคีย์ #S quota: ตามนั้น
กฎของดัชนีกำหนดอะไรบ้าง
| กฎ | วัตถุประสงค์ |
|---|---|
| พจนานุกรมแท็ก | แท็กแบบกะทัดรัดสำหรับชั้นสถาปัตยกรรม ขอบเขตการทำงาน ความสำคัญ ลักษณะทางเทคนิค และขนาดของออบเจกต์ |
| ฟิลด์ FRAS | วิธีที่แต่ละรายการบันทึกความรับผิดชอบ ความสัมพันธ์ที่แน่นแฟ้น อินเทอร์เฟซสาธารณะ และข้อจำกัดสำคัญ |
| กฎความสัมพันธ์ | วิธีอ้างอิงความสัมพันธ์ระหว่างออบเจกต์ เพื่อให้คำอธิบายไม่คลุมเครือและตรวจสอบได้ |
| ขอบเขตและความเป็นเจ้าของ | ออบเจกต์ใดเข้าสู่ดัชนีด้วยบทบาท index และ Volume ใดเป็นเจ้าของแต่ละออบเจกต์ |
| ความยาวและงบประมาณ | ความหนาแน่นของข้อมูล เพื่อไม่ให้คัดลอกซอร์สโค้ดหรือบทสรุปทั่วไปเข้าสู่ดัชนี |
| กฎการตรวจสอบ | เงื่อนไขเชิงโครงสร้างและธรรมาภิบาลที่รายการผู้สมัครต้องผ่านก่อนเข้าสู่ดัชนีทางการ |
ใน Volumes v1 นั้น Meta Volume ของโปรเจกต์เก็บกฎเหล่านี้ ส่วนในเลย์เอาต์ Legacy กฎเหล่านี้อยู่ในส่วนหัวแบบ monolithic โปรเจกต์อาจใช้พจนานุกรมแท็กที่แตกต่างกัน ขณะที่โครงสร้าง FRAS พื้นฐานยังคงเหมือนเดิม
README นี้เพียงอธิบายวิธีอ่านกฎเหล่านี้ สำหรับกฎที่ใช้งานได้จริงและเป็นรูปธรรม ให้อ้างอิง Meta หรือส่วนหัว Legacy ของโปรเจกต์ปัจจุบัน คู่มือ AOCI และข้อกำหนดทางการ
สิ่งที่หนึ่งรายการบันทึก (FRAS)
เมื่อกฎพร้อมแล้ว โมเดลจะเขียนหนึ่งรายการสำหรับทุกออบเจกต์ที่ได้รับการจัดการซึ่งมีบทบาท index บทบาท observe มีส่วนร่วมเฉพาะในการสังเกตการเปลี่ยนแปลง และบทบาท exclude ทำเครื่องหมายสิ่งที่จงใจละไว้ ทั้งสองบทบาทไม่ได้เป็นเจ้าของรายการทางการ AOCI ใช้ FRAS เพื่อจัดระเบียบข้อมูลสี่ประเภทที่สำคัญที่สุดในรายการ:
- F — Function: ออบเจกต์รับผิดชอบอะไร
- R — Relations: ต้องพิจารณาออบเจกต์อื่นใดร่วมด้วยเพื่อทำความเข้าใจหรือเปลี่ยนแปลงอย่างปลอดภัย
- A — API: อินเทอร์เฟซ คำสั่ง รูปแบบ หรือสัญญาที่สังเกตได้ใดบ้างที่เปิดเผย
- S — Non-obvious constraints: ข้อมูลสำคัญที่ F, R และ A ไม่ได้ครอบคลุม แต่จำเป็นต่อการทำความเข้าใจหรือเปลี่ยนแปลงออบเจกต์อย่างปลอดภัย เช่น ข้อจำกัดสำคัญ ข้อยกเว้น ขอบเขต และความหมายพิเศษ S ไม่ควรซ้ำกับสามฟิลด์แรก
ตัวอย่างเช่น ภายในส่วนไดเรกทอรี ===.../internal/fs/=== รายการหนึ่งใช้ basename:
atomic.go[CG9L]: F:Provides durable replace CAS, create CAS, atomic writes, and no-clobber recovery moves | R:code:internal/fs/atomic_exchange_linux.go,code:internal/fs/atomic_exchange_windows.go,code:internal/fs/lock.go | A:AtomicWrite,AtomicWriteCAS,AtomicCreateCAS,AtomicMoveCAS | S:Native publication never degrades to an overwriting rename; on a race, unsafe type, or unverifiable bytes, preserve third-party state
ส่วนไดเรกทอรีและ basename รวมกันเป็นตัวตนของออบเจกต์โค้ด สำหรับการฉายภาพข้าม Volume หรือระดับระบบ จะขยายเป็นตัวตนแบบ canonical เช่น code:internal/fs/atomic.go ออบเจกต์ฐานข้อมูลใช้ตัวตนแบบ canonical ของตัวเอง เช่น database://primary/public/orders
รายการประกอบด้วยสองส่วน:
atomic.go [CG9L]
└─ object ─┘ └ tags ┘
F: Core responsibility
R: Strong relationships that must be understood together
A: External interface or contract
S: Important additional information beyond F, R, and A
| ฟิลด์ | คำถามที่ตอบ | ตัวอย่างเนื้อหา |
|---|---|---|
| F — Function | ความรับผิดชอบหลักของออบเจกต์นี้คืออะไร? | ให้บริการ replace CAS แบบทนทาน, create CAS, การเขียนแบบ atomic และการย้ายกู้คืนแบบไม่ทับข้อมูล |
| R — Relations | ต้องตรวจสอบอะไรบ้างร่วมกันเมื่อแก้ไข? | atomic_exchange_linux.go, atomic_exchange_windows.go, lock.go |
| A — API | ผู้เรียกภายนอกพึ่งพาอะไรได้บ้าง? | AtomicWrite, AtomicWriteCAS, AtomicCreateCAS, AtomicMoveCAS |
| S — Non-obvious constraints | ข้อมูลสำคัญใดนอกเหนือจาก F, R และ A ที่ต้องเพิ่ม? | การเผยแพร่แบบเนทีฟต้องไม่ลดทอนเป็นการเปลี่ยนชื่อแบบเขียนทับ ต้องรักษาสถานะของบุคคลที่สามและ fail closed เมื่อเกิดความล้มเหลว |
แท็กแบบกะทัดรัดให้พิกัดแก่ออบเจกต์แต่ละตัวในด้านชั้นสถาปัตยกรรม ขอบเขตการทำงาน ความสำคัญ ลักษณะทางเทคนิคเสริม และขนาด พจนานุกรมแท็กถูกกำหนดโดย Meta Volume หรือส่วนหัว Legacy ของโปรเจกต์ โปรแกรมตรวจสอบพจนานุกรมและโครงสร้าง แต่ไม่ได้ตัดสินความหมายทางธุรกิจ
S ไม่ใช่บทสรุปย่อ บทสรุปทั่วไป หรือการซ้ำของ F, R และ A แต่เพิ่มข้อมูลสำคัญที่สามฟิลด์แรกไม่ได้ครอบคลุมและส่งผลต่อความเข้าใจหรือความถูกต้องทางวิศวกรรม ตัวอย่างเช่น:
- ความล้มเหลวในการเข้าถึง Redis ต้องถอยกลับไปใช้ฐานข้อมูล
- ตารางหนึ่งต้องไม่เข้าสู่ AutoMigrate
- สาขาความเข้ากันได้แบบเดิมต้องไม่ถูกลบด้วยการล้างข้อมูลตามปกติ
- ไฟล์ต้นฉบับต้องถูกเก็บรักษาไว้หลังจากความล้มเหลวในการเขียน
โมเดลเขียนสิ่งนี้จากซอร์สโค้ดจริงและหลักฐาน AOCI-CODE ตรวจสอบโครงสร้างของรายการ ผูกกับไฟล์ซอร์ส และกำกับวิธีที่รายการเข้าสู่ดัชนีทางการ
การอ่านพจนานุกรมแท็กเริ่มต้น
ข้อความที่ตัดตอนต่อไปนี้คัดลอกมาจากเทมเพลต Meta Volume ของ en-US ปัจจุบัน (textassets/en-US/templates/volume-meta.txt.tmpl) ตามตัวอักษร เป็นพจนานุกรมเริ่มต้น ไม่ใช่คำศัพท์สากล: Meta ทางการของแต่ละรีโพซิทอรีถือเป็นแหล่งอ้างอิงสูงสุด ตัวเริ่มต้นไม่ได้ประกาศพจนานุกรม D; D ยังคงเป็นแกนเสริมและอาจใช้ได้เฉพาะเมื่อ Meta ทางการปัจจุบันประกาศไว้เท่านั้น
แสดงพจนานุกรมเริ่มต้นที่อยู่ภายใต้การกำกับ
#Canonical-Tag-Authoring: compact A+B+C+[D]+E; dotted form is read compatibility only
#Code canonical identity example: code:path/to/file.go
#Code Entry example: file.go[EG7T]: F:Runs the example application | R:code:config/load.go | A:main | S:Exits non-zero when the config file is missing; it never falls back to built-in defaults
#[Tag dictionary: code]
#A Layer: C-SharedFoundation E-EntryBoundary A-ApplicationOrchestration D-DomainLogic K-AlgorithmComputation M-Middleware P-Persistence I-IntegrationAdapter R-RuntimeFoundation L-LibrarySDK F-DeclarativeConfiguration O-OperationsDelivery T-TestValidation S-DocumentationSpecification X-DevelopmentTooling Z-Other
#B Module: G-CrossDomain U-UserInteraction B-CoreBusiness D-DataState I-IdentityAccess N-NetworkProtocol M-MessageEvent S-SecurityPrivacy C-ConfigurationPolicy O-Observability R-ReliabilityRecovery P-PerformanceResource W-WorkflowScheduling A-AnalyticsIntelligence H-HardwareDevice L-Localization V-BuildRelease Q-QualityAssurance E-ExtensionPlugin Z-Other
#C Importance: 9-highest 8-very-high 7-high 6-above-average 5-medium 4-below-average 3-low 2-very-low 1-lowest
#E Scale: L-large>400 M-medium200-400 S-small100-200 T-tiny<100
#[Tag dictionary: database]
#A Layer: E-EntityMaster T-TransactionFact R-RelationMapping M-DetailDependent C-ReferenceDictionary S-StateStorage H-HistoryVersion L-LogAudit Q-QueueOutbox A-AggregateProjection K-KeyValueConfiguration B-DocumentLargeObject Z-Other
#B Module: G-CrossDomain B-CoreBusiness I-IdentityAccess T-OrganizationTenant U-UserExperience F-FinanceBilling K-ContentKnowledge C-ConfigurationPolicy W-WorkflowTask M-MessageEvent N-ExternalIntegration S-SecurityPrivacy O-ObservabilityAudit R-ReliabilityRecovery P-PerformanceResource A-AnalyticsIntelligence H-HardwareDevice L-Localization V-BuildRelease Q-QualityTesting E-ExtensionPlugin Z-Other
#C Importance: 9-highest 8-very-high 7-high 6-above-average 5-medium 4-below-average 3-low 2-very-low 1-lowest
#E Scale: L-large>400 M-medium200-400 S-small100-200 T-tiny<100
ภายใต้พจนานุกรมโค้ดเริ่มต้น [CG9L] หมายถึง C SharedFoundation, G CrossDomain, 9 ความสำคัญสูงสุด และ L ขนาดใหญ่ โดยไม่มีค่า D ปรากฏอยู่ นี่อธิบายวิธีอ่านรายการที่มีอยู่ ไม่ใช่วิธีที่โมเดลควรกำหนดแท็ก โมเดลยังคงเลือกแท็กจาก Meta ของโปรเจกต์ปัจจุบัน โดยอิงจากซอร์สและหลักฐานที่ยอมรับแล้ว
Cognition Volumes
AOCI-CODE ดูแล Whole-Index เชิงตรรกะหนึ่งชุด ขณะที่ดัชนีแต่ละประเภทมีไฟล์ ความเป็นเจ้าของ และวงจรชีวิตของตัวเอง
| Volume | ความรับผิดชอบ |
|---|---|
| Root | ประกาศองค์ประกอบ การพึ่งพา และจุดเข้าสู่การเปิดใช้งานของ CognitionSet ปัจจุบัน เผยแพร่เป็นลำดับสุดท้ายเพื่อไม่ให้สินทรัพย์บางส่วนถูกเข้าใจผิดว่าเป็นชุดที่สมบูรณ์ |
| Meta | เก็บพจนานุกรมแท็ก กฎ FRAS โควตา และสัญญาการเขียนโดยโมเดล |
| Code | เก็บรายการสำหรับโค้ด การทดสอบ การกำหนดค่า เอกสาร และสินทรัพย์ด้านปฏิบัติการ |
| Database | เก็บรายการระดับตารางแบบเสริมและผูกกับหลักฐานสคีมาที่ได้รับการยอมรับ |
แต่ละออบเจกต์มีเจ้าของที่ถูกต้องเพียงหนึ่งเดียว การวางออบเจกต์ใน Volume ผิดก่อให้เกิดความขัดแย้งด้านความเป็นเจ้าของ AOCI-CODE จะแก้ไขก็ต่อเมื่อเครื่องสามารถพิสูจน์เจ้าของที่ไม่ถูกต้อง เจ้าของที่ถูกต้อง และข้อเท็จจริงปัจจุบันของออบเจกต์ได้เท่านั้น ไม่เดาความเป็นเจ้าของจากชื่อที่คล้ายกัน
Code Volume, Database Volume และขอบเขตสามารถพัฒนาไปพร้อมกันได้ แต่ใช้ขอบเขตการคอมมิตภายใต้การกำกับร่วมกัน การนำโดเมนหนึ่งไปใช้ต้องไม่ทิ้งการฉายภาพ Baseline ที่มีอยู่ของอีกโดเมน การนำ Volume ไปใช้ การอัปเดต Baseline และการฉายภาพขอบเขตที่เกี่ยวข้องจะถูกเผยแพร่เป็นผลลัพธ์ธุรกรรมที่สอดคล้องกันหนึ่งชุด หรือเข้าสู่การกู้คืนที่พิสูจน์ได้ ไม่เคยทิ้งสถานะที่เสร็จไม่สมบูรณ์ซึ่ง "ไฟล์สำเร็จแต่ Volume อื่นไม่มี baseline"
การผสานรวมกับโฮสต์
aoci init เขียนกฎของเอเจนต์ที่ได้รับการจัดการเสมอ แต่การผสานรวมกับโฮสต์แตกต่างกัน:
- Codex ได้รับการกำหนดค่า MCP ระดับโปรเจกต์ และเมื่อใช้
--hooksจะได้พรอมต์บีบอัดบริบทพร้อมSessionStart(compact)แต่ยังคงไม่ติดตั้งฮุกแก้ไขไฟล์ - Claude Code สามารถติดตั้งฮุก
PreToolUseได้ - OpenCode V1 ได้รับ
opencode.jsonระดับโปรเจกต์แบบเข้มงวด - Cursor เพียงคืนตัวอย่างการกำหนดค่าอ้างอิง ไม่มีการเขียนลงในโปรเจกต์
หลังการกำหนดค่า ให้ตรวจสอบว่าเซสชันโฮสต์ปัจจุบันเปิดเผยเครื่องมือ AOCI แล้วหรือไม่ รีเฟรชหรือเปิดเซสชันโปรเจกต์นั้นใหม่เฉพาะเมื่อยังไม่ได้โหลดเซิร์ฟเวอร์ใหม่ เซสชันใหม่โดยปกติจะอ่านกฎและ Whole-Index หนึ่งครั้ง ตราบใดที่ตัวตนของดัชนียังใช้ได้และไม่มีการบีบอัดของโฮสต์ที่ทราบ งานในภายหลังจะใช้สิ่งที่โมเดลมีอยู่แล้วซ้ำ ดัชนีทั้งหมดจะไม่ถูกฉีดซ้ำโดยอัตโนมัติ
| โฮสต์ | การผสานรวมปัจจุบัน | ขอบเขต |
|---|---|---|
| Codex | MCP แบบ stdio ระดับโปรเจกต์; พรอมต์บีบอัด --hooks และ SessionStart(compact) แบบเสริม | ต้องตรวจสอบและให้ความไว้วางใจผ่าน Codex /hooks; ไม่ติดตั้งฮุกแก้ไขไฟล์ |
| Claude Code | MCP ระดับโปรเจกต์; ตัวป้องกัน PreToolUse แบบบางเสริม | ฮุกให้เพียงการเตือนก่อนเขียนหรือตัวป้องกันข้อมูลล้าสมัย ไม่ใช่รันไทม์ของเอเจนต์ |
| OpenCode V1 | opencode.json ที่รากโปรเจกต์แบบเข้มงวดผ่าน --agent opencode | ดำเนินการต่อทันทีหากโหลดเครื่องมือแล้ว มิฉะนั้นให้รีเฟรชหรือเปิดเซสชันโปรเจกต์ใหม่ |
| Cursor | คืนตัวอย่างการกำหนดค่าอ้างอิง MCP | ไม่เขียนการกำหนดค่าโปรเจกต์ คุณต้องทำการผสานรวมกับโฮสต์ด้วยตนเอง |
| Qoder | --agent qoder เขียน .mcp.json ระดับโปรเจกต์ที่ Qoder CLI อ่าน (ตรวจสอบแล้วด้วย qoder mcp list); IDE ใช้บล็อกเดียวกันผ่าน Settings > MCP | ไม่มีพื้นผิวฮุก; --hooks ถูกรายงานว่าไม่สนใจ |
| โฮสต์ MCP อื่น ๆ | เชื่อมต่อกับเซิร์ฟเวอร์ stdio มาตรฐาน | ต้องกำหนดค่าด้วยตนเองและตรวจสอบเฉพาะโฮสต์ |
aoci --repo /absolute/path/to/repository init --agent codex
aoci --repo /absolute/path/to/repository init --agent codex --hooks
aoci --repo /absolute/path/to/repository init --agent claude --hooks
aoci --repo /absolute/path/to/repository init --agent opencode
aoci --repo /absolute/path/to/repository init --agent cursor
Codex --hooks จำกัดการส่งต่อการบีบอัดไว้ที่ตัวตนของใบรับ ความไม่สมบูรณ์
ของสถานะการเขียนหรือการกู้คืน และคำสั่งโหลดซ้ำทันที โดยต้องไม่เก็บรักษา
หรือสรุปเนื้อหา Whole-Index หรือ Overview/Attestation ฮุก PreCompact
ไม่สามารถฉีดเข้าสู่หรือลบประวัติจากอินพุตการบีบอัดของโฮสต์ได้ จึงไม่สามารถ
บังคับใช้สิ่งนี้ได้ด้วยตัวเอง ตรวจสอบและให้ความไว้วางใจฮุกโปรเจกต์ที่ติดตั้งผ่าน
Codex /hooks ก่อนพึ่งพา
เอาต์พุตแบบ Legacy ยังคงรักษาระดับ 0–4 ไว้เพื่อความเข้ากันได้กับโฮสต์และรายงานที่มีอยู่ cognition-state/v2 ปัจจุบันแสดงถึงความสามารถใช้งานได้ของภาพระบบที่โมเดลมี เป็นระดับ 0–3 และแยกข้อเท็จจริงด้านการพิสูจน์และธรรมาภิบาลที่เข้มงวดออกเป็นมิติอิสระ:
| สถานะ | ความหมาย |
|---|---|
delivery_verified | ดัชนีปัจจุบันโหลดแล้วและการส่งมอบไปยังโฮสต์ได้รับการยืนยัน; การท้าทายแบบเข้มงวดอาจยังไม่สมบูรณ์ |
model_cognition_usable | โมเดลรู้จักกรอบระบบดีพอสำหรับงาน |
strict_attestation_verified | ตัวตนของดัชนีปัจจุบัน ลำดับรายการ จำนวน และการท้าทายผ่านเกณฑ์เข้มงวดทั้งหมดแล้ว |
governance_aligned | ดัชนี Baseline และสถานะธรรมาภิบาลสอดคล้องกันในปัจจุบัน |
current_system_cognition_reliable | ภาพระบบปัจจุบันที่สมบูรณ์ของโมเดลสามารถใช้ได้โดยไม่มีเงื่อนไขเป็นไพรเออร์ระดับระบบ |
มิติเหล่านี้ไม่สามารถใช้แทนกันได้ Attestation พิสูจน์เพียงความครอบคลุมของการส่งมอบและความสอดคล้องของตัวตนสำหรับเนื้อหาปัจจุบันเท่านั้น ไม่ได้หมายความว่าเอเจนต์เข้าใจงานในอนาคตที่เป็นไปได้ทั้งหมดอย่างสมบูรณ์ เฉพาะ current_system_cognition_reliable=true เท่านั้นที่อนุญาตให้อ้างสิทธิ์ความเข้าใจระบบปัจจุบันที่สมบูรณ์ได้โดยไม่มีเงื่อนไข
แผง AOCI
aoci ui ให้บริการแผงแบบอ่านอย่างเดียวบนเครื่องนี้ เพื่อให้คุณเห็นสถานะของดัชนีโดยไม่ต้องถามเอเจนต์:
- ส่วนหัวของดัชนีและ Code / Database Volumes ตามตัวอักษร (บรรทัดส่วน
===คงไว้ตามเดิม กรองได้ คัดลอกทั้งชุดได้); แท็บ "All" คือดัชนีที่สมบูรณ์แบบเดียวกับที่เอเจนต์ได้รับผ่าน Overview - โทเคนของดัชนีเทียบกับงบประมาณ และแผนแบ่งชิ้นส่วนของ Overview
- ขอบเขตโค้ดที่ดัชนีครอบคลุม: ไฟล์ บรรทัด โทเคน และอัตราการบีบอัด; จำนวนตารางฐานข้อมูล
- สถานะธรรมาภิบาลและการเบี่ยงเบน Managed Scope การผสานรวมกับโฮสต์ และโปรเซส
aoci mcpที่กำลังทำงาน - คำสั่งและพรอมต์ที่จะให้เอเจนต์ทำต่อไป พร้อมปุ่มคัดลอก
หน้าเว็บสลับระหว่างภาษาจีนและอังกฤษได้ ระยะเวลารีเฟรชเลือกได้ (ค่าเริ่มต้น 30 วินาที)
| คำสั่ง | สิ่งที่ทำ |
|---|---|
aoci ui --open | เริ่มในโฟร์กราวด์และเปิดเบราว์เซอร์; Ctrl+C หยุด |
aoci ui --detach --json | เริ่มในแบ็กกราวด์ แยกจากเชลล์นี้ พิมพ์ลิงก์ และกลับมาทันที; แผงที่ทำงานอยู่แล้วสำหรับรีโพซิทอรีนี้จะถูกใช้ซ้ำเมื่อเวอร์ชันนี้เป็นผู้เริ่ม; แผงรุ่นเก่าต้องหยุดก่อน |
aoci ui --stop | หยุดแผงแบ็กกราวด์ของรีโพซิทอรีนี้ |
aoci ui --also /path/to/other | แสดงรีโพซิทอรีอื่นบนหน้าเดียวกัน |
มีเซิร์ฟเวอร์ aoci mcp หลายตัวใน WSL เดียว? บน Linux และ WSL แผงจะค้นหาโปรเซส aoci mcp ทุกตัวของผู้ใช้ปัจจุบันและรีโพซิทอรีของโปรเซสนั้น สลับระหว่างกันด้วยแท็บที่ด้านบน และทำเครื่องหมายเซิร์ฟเวอร์ที่ไบนารีถูกแทนที่บนดิสก์
ขอบเขต: ผูกกับที่อยู่ loopback เท่านั้น (การผูกกับที่อยู่อื่นถูกปฏิเสธ) ตอบเฉพาะ GET และ HEAD ไม่มีการล็อก ไม่ต่อท้ายสิ่งใดลงใน ledger และไม่เปลี่ยนไบต์ใดของ repository เป็นโปรเซสแยกที่ไม่เกี่ยวข้องกับ aoci mcp; MCP server ยังคงไม่เปิด socket ใด ๆ การลงทะเบียนของแผงพื้นหลังอยู่ในไดเรกทอรีแคชของผู้ใช้ ไม่เคยอยู่ใน repository
คำสั่ง CLI ทั่วไป
| คำสั่ง | วัตถุประสงค์ |
|---|---|
aoci init | ติดตั้งสัญญาของ repository และเลย์เอาต์ Volumes เริ่มต้น โดยไม่มีความหมายทางธุรกิจอยู่ในนั้น |
aoci scan | สร้าง Baseline สำหรับการผสานรวมครั้งแรก; การเปลี่ยนแปลงขอบเขตภายใต้ Baseline ที่จัดการอยู่แล้วจะเข้าสู่ Scope Change |
aoci status --deep | สถานะเชิงลึกสำหรับ Legacy เท่านั้น; ไม่ใช่เส้นทางการบำรุงรักษา Cognition Volumes |
aoci ui | แผงอ่านอย่างเดียวในเครื่อง: ดัชนีตามจริง แหล่งที่มาที่ครอบคลุมและอัตราการบีบอัด แผน chunk, drift, เซิร์ฟเวอร์ที่กำลังทำงาน และอินพุตที่แนะนำ; --detach เริ่มทำงานเบื้องหลังและพิมพ์ลิงก์, --stop สิ้นสุดการทำงาน; loopback เท่านั้น |
aoci verify | รายงานข้อเท็จจริง Missing, Orphan, Stale และ Unbaselined |
aoci check | รันเกตการกำกับดูแลแบบรวม |
aoci index agent guide | เข้าสู่เวิร์กโฟลว์ host-agent แบบกำหนดได้ |
aoci capabilities | แสดงความสามารถที่ไบนารีปัจจุบันมอบให้ |
aoci doctor | วินิจฉัย repository และการผสานรวมกับโฮสต์ |
aoci database | กำหนดค่าและตรวจสอบหลักฐานสคีมา PostgreSQL/MySQL/openGauss อย่างชัดเจน |
aoci database source access | ตรวจสอบแบบอ่านอย่างเดียวว่าสภาพแวดล้อมภายนอกได้จัดเตรียมการอ้างอิงข้อมูลรับรองฐานข้อมูลไว้หรือไม่; ไม่คืนค่าข้อมูลรับรอง |
aoci database cognition bootstrap | เพิ่ม Database Cognition ให้กับโปรเจกต์ Volumes แบบ Code-only ที่จัดแนวแล้ว |
aoci cognition plan | ดูตัวอย่างแบบอ่านอย่างเดียวของแผน bootstrap หรือการย้าย Legacy-to-Volumes |
aoci cognition bootstrap | กำกับเฉพาะ repository ที่ยังไม่เริ่มต้น หรือโครงกระดูก Legacy ขั้นต่ำแบบศูนย์รายการที่แน่นอนซึ่ง init เวอร์ชันเก่าเขียนไว้; ไม่เคยกำหนดเป้าหมายเป็น repository Volumes v1 ที่เริ่มต้นแล้ว (โครงกระดูก Volumes ที่มีศูนย์รายการสร้างผ่าน aoci scan จากนั้นใช้ guide และ aoci_maintain แบบไม่มีอาร์กิวเมนต์) และโปรเจกต์ Legacy ที่เติบโตเต็มที่ควรใช้การย้ายข้อมูล |
aoci cognition migration | กำกับสแนปช็อตการย้ายข้อมูล Legacy, การแมป, การอนุมัติ, การนำไปใช้, การกู้คืน หรือการย้อนกลับ |
aoci cognition system lineage | สืบทอดต้นกำเนิดและห่วงโซ่การผูกของออบเจกต์ดัชนีที่สำคัญ |
aoci cognition system relations | สืบทอดการฉายความสัมพันธ์แบบแคบ: การบรรจุและ dependencies ของ Volume พร้อมความสัมพันธ์ R ที่โมเดลเขียนและแก้ไขแล้ว |
aoci cognition system impact | ค้นหาออบเจกต์โค้ดที่การเปลี่ยนแปลงฐานข้อมูลอาจเข้าถึงตามความสัมพันธ์ R เชิงรูปแบบที่ชัดเจน |
aoci cognition system snapshot | ส่งออกการฉายสแนปช็อตแบบอ่านอย่างเดียวของ CognitionSet ปัจจุบัน |
aoci cognition system evolution | เปรียบเทียบสแนปช็อตเชิงประวัติที่ผู้เรียกจัดหาให้กับการฉายปัจจุบัน |
aoci mcp | เริ่ม stdio MCP server |
ชุดค่าผสมที่ใช้บ่อย:
# Initialization and first Baseline
aoci --repo . init --locale en-US --agent codex
aoci --repo . scan
# Verification and governance gates for Cognition Volumes
aoci --repo . verify --json
aoci --repo . check --json
# Live Guide; do not duplicate the state machine in a wrapper
aoci --repo . index agent guide --agent codex --json
# Capabilities and diagnostics
aoci --repo . capabilities
aoci --repo . doctor
# Database Evidence, Access, and Cognition lifecycle
aoci --repo . database --help
aoci --repo . database source access --source primary --json
aoci --repo . database cognition status
aoci --repo . cognition plan --help
# Derived System Cognition observations
aoci --repo . cognition system lineage
aoci --repo . cognition system relations
# MCP stdio Server
aoci --repo . mcp
คำสั่ง Plan, Stage, Check, Diff, Apply, Curation, Scope Change, Bootstrap, Migration และการกู้คืนยังคงมีอยู่ ปฏิบัติตาม guide ที่ไบนารีที่กำลังทำงานคืนมา; อย่าคัดลอก state machine ภายในลงในสคริปต์
เกี่ยวกับคำสั่ง "อ่านอย่างเดียว"
สำหรับ verify, check, index score และ index inventory คำว่า "อ่านอย่างเดียว" หมายความว่าดัชนีเชิงรูปแบบและ Baseline ไม่ถูกแก้ไข; ไม่ได้หมายความว่ามีการเขียนไฟล์ระบบเป็นศูนย์อย่างเคร่งครัด เมื่อเปิดใช้ Ledger ทั้งสี่คำสั่งอาจต่อท้ายลงใน Ledger ภายในเครื่อง และ verify ยังพยายามเขียน Verify History ด้วย ความล้มเหลวในการเขียนเพื่อการตรวจสอบไม่เปลี่ยนรหัสออกที่มีอยู่หรือเกณฑ์การกำกับดูแล
หากต้องการการดำเนินการที่ไม่เขียนไฟล์เลยอย่างเคร่งครัด ให้ใช้สำเนาแยก; CLI สาธารณะปัจจุบันไม่ได้เปิดสวิตช์แบบเหมารวมที่ปิดการเขียน Ledger และ Verify History ทั้งหมด คำสั่ง System Cognition ไม่สร้างสถานะเชิงรูปแบบที่สอง แต่การเรียก CLI ทั่วไปยังคงปฏิบัติตามสัญญารันไทม์ของเวอร์ชันปัจจุบันสำหรับ Ledger และบันทึกประวัติภายในเครื่อง
MCP server
aoci mcp ไม่ต้องมี daemon ที่ทำงานค้างและเปิดเผยเครื่องมือเก้าอย่างพอดีผ่าน stdio:
| หมวดหมู่ | เครื่องมือ |
|---|---|
| การอ่าน | aoci_rules, aoci_overview, aoci_get_entries, aoci_search |
| การบำรุงรักษา | aoci_maintain, aoci_update_entry, aoci_remove_entry |
| หลักฐานสนับสนุน | aoci_header, aoci_report |
ในโหมด MCP stdout สงวนไว้สำหรับ JSON-RPC; บันทึกและข้อมูลวินิจฉัยไปที่ stderr คำอธิบายเครื่องมือ JSON schema และค่า machine-state ที่ไบนารีที่กำลังทำงานมอบให้ถือเป็นหลัก; README นี้เป็นเพียงจุดเริ่มต้นเท่านั้น
รีลีสปัจจุบันมอบความสามารถ System Cognition ผ่าน CLI และ governance kernel ที่มีอยู่ ความสามารถเหล่านี้ไม่เพิ่มเครื่องมือ MCP ที่สิบ หรือเปลี่ยนชื่อ วัตถุประสงค์ หรือสัญญา stdio ของเครื่องมือเก้าที่มีอยู่
เซสชันที่ทำงานยาวนานและการส่งมอบ Whole-Index
เมื่อเริ่มบทสนทนาใหม่ โดยปกติเอเจนต์จะโหลด Overview ที่สมบูรณ์หนึ่งชุดเพื่อให้ได้ภาพของระบบที่ตรงกับ repository ปัจจุบัน เวอร์ชันดัชนี และตัวตนบริการ AOCI ขณะที่โมเดลยังพึ่งพาภาพนั้นได้ ไม่จำเป็นต้องโหลดใหม่ก่อนทุกงานหรือทุกการเรียกเครื่องมือ
ภายในบทสนทนาเดียวกัน โมเดลตัดสินใจว่าจะโหลดอีกครั้งหรือไม่ตามสถานะของตนเอง ยกเว้นหลังจาก host context compaction ที่ทราบแล้ว การส่งต่อที่ถูกบีบอัดอาจเก็บไว้เพียงตัวตนของใบรับ สถานะการเขียนหรือการกู้คืนที่ยังไม่เสร็จ และคำสั่งให้โหลดใหม่ทันที; ต้องไม่เก็บหรือสรุปเนื้อหาส่วนหัว รายการ chunk, challenge หรือ attestation ของ Whole-Index หรือ Overview เนื้อหาดัชนีหรือใบรับที่คัดลอกลงในการส่งต่อนั้นไม่อาจพิสูจน์ได้ว่าภาพปัจจุบันของโมเดลเชื่อถือได้
ก่อนทำงานธุรกิจต่อหลังจากทราบว่ามีการบีบอัด เอเจนต์จะโหลดกฎใหม่หากกฎเหล่านั้นไม่ปรากฏอยู่อย่างเชื่อถือได้อีกต่อไป ประกาศ context_compaction ด้วย event ID ใหม่ และทำลำดับ cursor, confirmation และ attestation ของ Overview แบบเต็มตามปกติหนึ่งชุด check_only และ cognition probe ไม่ใช่สิ่งทดแทน หลังการส่งผ่านที่สมบูรณ์ใหม่ กฎ attestation บางส่วนหรือล้มเหลวที่มีอยู่ยังคงอนุญาตให้ดำเนินการต่อที่ผูกกับแหล่งที่มาโดยไม่ต้องมี Overview อัตโนมัติครั้งที่สอง สำหรับการเปลี่ยนแปลงเชิงความหมายหรือขอบเขตเฟสสำคัญโดยไม่ทราบว่ามีการบีบอัด AOCI มีเกณฑ์การรีเฟรช จุดตรวจสอบ และข้อเท็จจริงเกี่ยวกับตัวตน และโมเดลตัดสินใจว่าตนจำเป็นต้องฟื้นฟูภาพระดับระบบสำหรับงานหรือไม่
เนื้อหาของ Overview ที่สมบูรณ์แต่ละชุดประกอบด้วยเครื่องหมายเริ่ม เนื้อหาตามจริงของดัชนีเชิงรูปแบบปัจจุบัน และเครื่องหมายสิ้นสุด
เมื่อ Overview เกินงบ chunk ของโปรเจกต์:
- การส่งมอบเริ่มทันทีด้วย chunk 1;
- เอเจนต์ต้องปฏิบัติตาม
next_cursorโดยอัตโนมัติจนถึง chunk สุดท้าย; - เอเจนต์ส่ง attestation หนึ่งครั้งโดยใช้ Whole-Index ที่ส่งมอบแล้ว;
- การค้นหาภายในเครื่อง ความจำเก่า การอ่านแหล่งที่มาเสริม หรือการอ่านไฟล์โดยตรง ต้องไม่ถูกนำเสนอว่าเป็นการส่งมอบที่สมบูรณ์;
- การกู้คืนที่ค้างอยู่หรือสแนปช็อตที่ไม่สอดคล้องจะล้มเหลวแบบปิดโดยไม่ผสมเนื้อหา
overview_delivery.chunk_tokens เป็นการตั้งค่าขนาดการส่งมอบเพียงอย่างเดียว ค่าเริ่มต้นคือ 7000 โดยมีช่วงที่ถูกต้องตั้งแต่ 4000 ถึง 24000 check_only=true เป็นจุดตรวจสอบแบบกะทัดรัดที่ไม่มีห่วงโซ่ chunk
AOCI ประกาศการอนุญาตขนาดผลลัพธ์ต่อเครื่องมือบน aoci_overview โฮสต์ที่มิฉะนั้นจะบันทึกผลลัพธ์เครื่องมือขนาดใหญ่ลงดิสก์ โดยใส่เพียงตัวอย่างลงในบริบทของโมเดล (สำหรับการส่งมอบดัชนี ถือเป็นความล้มเหลวแบบเงียบ) จะเพิ่มเกณฑ์นั้นเฉพาะสำหรับเครื่องมือนี้ บน Claude Code สิ่งนี้ทำให้ 24000 แบบเต็มใช้งานได้ ส่งมอบดัชนี 480 ออบเจกต์ในสาม chunk แทนที่จะเป็นห้า ไม่มีการตรวจสอบใด ๆ: การประกาศเป็นแบบคงที่ และโฮสต์ที่ไม่รู้จักจะเพิกเฉย ตามที่ข้อกำหนด MCP กำหนด
เกณฑ์การรีเฟรชมีค่าเริ่มต้นที่ 30 เส้นทางเชิงความหมายที่แตกต่างกัน และยังกำหนดค่าต่อโปรเจกต์ได้ สำหรับกฎการนับที่แน่นอน ให้อ้างอิงเอกสาร Cognition Refresh และสัญญารันไทม์
Database Cognition
AOCI-CODE สามารถนำโครงสร้างฐานข้อมูลมาอยู่ภายใต้ดัชนีเดียวกันและการกำกับดูแลเดียวกัน โดยมีขอบเขตการเข้าถึงที่ชัดเจนและแคบ:
Explicit database command
→ Read-only PostgreSQL/MySQL/openGauss system catalogs
→ Canonical schema evidence
→ Human acceptance of the evidence hash
→ The host model writes table-level FRAS from complete evidence
→ Entries are bound to the evidence and enter governed apply
- ไม่มีการเข้าถึงเครือข่ายฐานข้อมูลเมื่อไม่ได้กำหนดค่าฐานข้อมูลหรือไม่ได้รันคำสั่งฐานข้อมูลอย่างชัดเจน
- อ่านเฉพาะเมทาดาทาสคีมาของตารางฐาน ไม่ใช่อ่านแถวข้อมูลธุรกิจ; view, routine และ comment อยู่นอกขอบเขตการเก็บรวบรวมปัจจุบัน
- ไม่มีการดำเนินการ DDL หรือ DML
- ชื่อโฮสต์ ชื่อผู้ใช้ DSN และค่าข้อมูลรับรองไม่เคยถูกเขียนลงในไฟล์ดัชนี
- การนำ Database Cognition ไปใช้ทำงานแบบออฟไลน์และไม่เชื่อมต่อฐานข้อมูลใหม่ขณะเขียน
- โปรแกรมเก็บรักษาและเปรียบเทียบหลักฐานเชิงโครงสร้าง แต่โมเดลยังคงเขียนความรับผิดชอบของตาราง ความสัมพันธ์ และข้อจำกัดที่มีคุณค่าสูง
การรองรับ MySQL ครอบคลุม 5.7.6 ขึ้นไป ตัวเก็บรวบรวมอ่านเวอร์ชันเซิร์ฟเวอร์และรันเฉพาะคิวรีแคตตาล็อกที่รีลีสนั้นตอบได้: ข้อจำกัด CHECK ตั้งแต่ 8.0.16, index expression ตั้งแต่ 8.0.13, index visibility ตั้งแต่ 8.0.0 เซิร์ฟเวอร์ 5.7 บันทึกรายการ check ว่างเปล่า เพราะ 5.7 แยกวิเคราะห์ไวยากรณ์ CHECK และไม่เก็บสิ่งใด; หลักฐานมีรูปร่างเดียวกันในทุกรีลีสที่รองรับ ไม่รองรับ MariaDB และจะถูกปฏิเสธแทนที่จะอ่านเป็น MySQL
โปรไฟล์ openGauss เริ่มต้นถูกจำกัดโดยเจตนาให้ใช้กับ openGauss 6.0.5 LTS ในโหมดความเข้ากันได้ A/PG และตารางฐานธรรมดาที่ไม่แบ่งพาร์ทิชัน คุณลักษณะแคตตาล็อกที่ไม่รองรับจะล้มเหลวแบบปิดแทนที่จะถูกลดทอนเป็นข้อเท็จจริง PostgreSQL อย่างเงียบ ๆ; สิ่งนี้ไม่ได้อ้างการรองรับ MogDB, GaussDB, โหมด Dolphin/B/MySQL, พาร์ทิชันหรือพาร์ทิชันย่อย, column-store, MOT, ตาราง foreign หรือ temporary, view, routine หรือ trigger
ในที่นี้ การตรวจจับแบบล้มเหลวปิดใช้กับออบเจกต์ที่คล้ายตารางที่มองเห็นได้ซึ่งเลือกไว้และมีความหมายเชิงความหมายที่ไม่รองรับ routine และ trigger ยังคงอยู่นอกโดเมนออบเจกต์ตารางของ v1 และไม่เคยถูกแสดงเป็นข้อเท็จจริงของตาราง
เส้นทาง openGauss ใช้แพตช์ภายในเครื่องที่ผ่านการตรวจสอบของ AOCI ทับบนซอร์ส Connector v1.0.8 อย่างเป็นทางการ ตัวแยกวิเคราะห์แบบเข้มงวดยอมรับเฉพาะพารามิเตอร์การเชื่อมต่อที่ผ่านการตรวจสอบ และไม่ใช้ PG*, service, password-file, home-directory หรือการกำหนดค่า logger จากสภาพแวดล้อม การเชื่อมต่อ TCP นอกที่อยู่ loopback แบบตัวเลขต้องใช้ sslmode=verify-full อย่างชัดเจน (และพาธ trusted-root แบบสัมบูรณ์ใน sslrootcert เมื่อจัดหาให้) โดยมี TLS 1.2 เป็นขั้นต่ำ; โหมดลดระดับ TLS จะถูกปฏิเสธ
sslmode=disable ยอมรับเฉพาะสำหรับ Unix socket ที่ระบุชัดเจนหรือที่อยู่ loopback แบบตัวเลขที่ใช้เป็นขอบเขตภายในเครื่อง/ทดสอบ ผู้ดูแลฐานข้อมูลยังคงรับผิดชอบในการจัดหา DSN นั้นนอกบทสนทนาและจัดเตรียมบัญชีสิทธิ์ต่ำสุด
Database Volume ไม่มีอยู่โดยค่าเริ่มต้น จะเข้าสู่ Whole-Index หลังจากโปรเจกต์เปิดใช้ Database Cognition อย่างชัดเจนและเสร็จสิ้นการกำกับดูแลหลักฐาน การผูก และวงจรชีวิตแล้วเท่านั้น
การเริ่มต้นการเข้าถึงฐานข้อมูล: คุณไม่จำเป็นต้องเข้าใจรายละเอียด DSN
คุณเพียงประกาศตัวตนที่ไม่ละเอียดอ่อนสำหรับแหล่งฐานข้อมูล หากละเว้น --credential-env AOCI จะสร้างการอ้างอิงตัวแปรสภาพแวดล้อมที่เสถียรจาก source ID; ตัวอย่างเช่น primary แมปไปยัง AOCI_DB_PRIMARY_DSN:
aoci --repo . database source add \
--source-id primary \
--engine postgresql \
--database-name app \
--namespace public
จากนั้นใช้การตรวจสอบการเข้าถึงแบบอ่านอย่างเดียวก่อนเพื่อดูว่าสภาพแวดล้อมภายนอกได้จัดเตรียมการอ้างอิงนั้นไว้หรือไม่:
aoci --repo . database source access --source primary --json
คำสั่งนี้ไม่เชื่อมต่อฐานข้อมูล ไม่คืนค่าข้อมูลรับรอง หรือขอให้คุณวาง DSN ลงในบทสนทนา ผู้ดูแลฐานข้อมูลหรือโครงสร้างพื้นฐานจัดหาตัวแปรสภาพแวดล้อมนอกโปรเซส AOCI และให้สิทธิ์การเข้าถึงแคตตาล็อกระบบแบบอ่านอย่างเดียวและสิทธิ์ต่ำสุด การกำหนดค่าแหล่งเก็บเฉพาะ ชื่ออ้างอิง ของข้อมูลรับรอง ไม่ใช่ความลับ
รีลีสแคนดิเดตปัจจุบันมอบเฉพาะผู้ให้บริการข้อมูลรับรองจากสภาพแวดล้อมเท่านั้น ตัวจัดการความลับบนคลาวด์ เช่น Vault, Kubernetes Secret และ AWS/GCP/Azure อาจผสานรวมผ่านขอบเขตผู้ให้บริการเดียวกันในเวอร์ชันถัดไป; ยังไม่พร้อมใช้งานในปัจจุบัน และ README นี้ไม่ได้สื่อเป็นอย่างอื่น
การแยกส่วนนี้ทำให้รูปแบบบัญชี การเข้ารหัส DSN และการจัดการวงจรชีวิตของความลับอยู่ห่างจากผู้ใช้ทั่วไป พร้อมทั้งทำให้การอนุญาตเป็นเรื่องชัดเจน: AOCI จะไม่ค้นหาข้อมูลรับรองโดยอัตโนมัติ ไม่สแกน .env ไม่อ่านไฟล์ความลับ หรือข้ามขอบเขตการอนุญาตของผู้ดูแลฐานข้อมูล
รากฐานการรับรู้ระบบ
บนชั้นของโค้ดและดัชนีฐานข้อมูล AOCI-CODE มอบชุดของ ข้อสังเกตการรับรู้ระบบแบบอนุพันธ์ ให้ พวกมันตอบคำถามเช่น "วัตถุนี้มาจากไหน?", "การเปลี่ยนแปลงฐานข้อมูลอาจส่งผลต่อวัตถุโค้ดใดบ้าง?", และ "มีอะไรเปลี่ยนไประหว่างข้อสังเกตในอดีตกับตอนนี้?" พวกมันไม่ได้สร้างชั้นใหม่ของข้อเท็จจริงที่เป็นแหล่งอ้างอิงหลัก
# Where an index object came from, with its evidence and receipt bindings
aoci --repo . cognition system lineage
# Volume containment and dependencies plus resolved model-authored R relationships
aoci --repo . cognition system relations
# Find code impact from a database object along formal R relationships
aoci --repo . cognition system impact \
--object database://primary/public/orders
# Save a historical observation on the caller side
aoci --repo . cognition system snapshot --json > previous.json
# Compare a caller-supplied historical observation with the current derived projection
aoci --repo . cognition system evolution \
--snapshot-file previous.json
ขอบเขตอำนาจ
| ความสามารถ | แหล่งข้อมูล | บันทึกข้อเท็จจริงใหม่หรือไม่? | ขอบเขตสำคัญ |
|---|---|---|---|
| Lineage | ดัชนี หลักฐาน ใบรับ และการผูก Baseline | ไม่ | อธิบายสายโซ่ที่มา; ไม่กลายเป็นฐานข้อมูลแหล่งที่มาแบบอิสระ |
| Relations | โครงสร้าง CognitionSet บวกกับค่า R แบบ canonical ที่โมเดลเขียนในรายการทางการ | ไม่ | ฉายภาพการบรรจุ Volume การพึ่งพา Root และความสัมพันธ์ที่โมเดลเขียนและแก้ไขซึ่งได้รับการยอมรับผ่านการกำกับดูแล |
| Impact | ความสัมพันธ์ R ทางการในปัจจุบันและอัตลักษณ์วัตถุที่แก้ไขได้ | ไม่ | ไม่อนุมานความหมายทางธุรกิจโดยอัตโนมัติจาก SQL, การนำเข้า, เส้นทาง หรือชื่อ |
| Snapshot | การสังเกตแบบกำหนดได้ของสินทรัพย์ที่เป็นแหล่งอ้างอิงหลักในปัจจุบัน | ไม่ | ผลลัพธ์ถูกจัดเก็บโดยผู้เรียก และไม่ใช่ Baseline หรือสินทรัพย์สำหรับกู้คืน |
| Evolution | สแนปช็อตเก่าที่ผู้เรียกจัดหาให้และการฉายภาพปัจจุบัน | ไม่ | เปรียบเทียบข้อสังเกตโดยไม่เลื่อนวงจรชีวิตอิสระ |
ผลลัพธ์การรับรู้ระบบทุกรายการรายงาน derived=true; การฉายภาพความสัมพันธ์รายงานเพิ่มเติม authoritative=false Cognition Volumes การผูกหลักฐานสคีมา ลายนิ้วมือ Baseline และอัตลักษณ์ที่ผูกกับใบรับยังคงเป็นแหล่งอ้างอิงหลักเบื้องหลัง ความสัมพันธ์ R ที่ยังแก้ไขไม่ได้ทำให้เกิดผลลัพธ์ที่ไม่สมบูรณ์หรือการวินิจฉัย; โปรแกรมจะไม่เดาและเติมให้
AOCI-CODE ไม่ใช่ระบบกราฟความรู้ การฉายภาพความสัมพันธ์แบบแคบเป็นมุมมองความสัมพันธ์ที่สะดวก แต่ไม่ได้เป็นเจ้าของระบบจัดการสถานะที่สอง ไม่มีเส้นทางการเขียนอิสระ และไม่มีที่เก็บข้อเท็จจริงใหม่ ผลลัพธ์แบบอนุพันธ์สามารถลบและคำนวณใหม่ได้จากสินทรัพย์ที่เป็นแหล่งอ้างอิงหลักในปัจจุบัน หากการฉายภาพขัดแย้งกับสินทรัพย์ที่เป็นแหล่งอ้างอิงหลัก สินทรัพย์นั้นชนะ
โหมดการทำงาน ความเป็นส่วนตัว และขอบเขตข้อมูล
| โหมด | พฤติกรรม |
|---|---|
| Agent-native | โมเดลโฮสต์ปัจจุบันอ่านหลักฐานและเขียนรายการ; AOCI-CODE ไม่ต้องการ API ของโมเดลที่สอง |
| Endpoint-native (เฉพาะเลย์เอาต์ Legacy) | ในเลย์เอาต์ Legacy ปลายทางที่เข้ากันได้กับ OpenAI ซึ่งผู้ใช้กำหนดค่าได้จะร่างผู้สมัคร โดยมีคีย์อยู่ในตัวแปรสภาพแวดล้อม ที่เก็บ Volumes v1 เขียนผ่านเอเจนต์โฮสต์เท่านั้น; ที่นั่นบล็อก ai ใน .aoci/config.json ทำหน้าที่เป็น aoci ai test และ doctor --net |
| Deterministic-only | ปิดใช้งาน AI โดยยังคงการสแกน Baseline การตรวจสอบ ความสามารถในการสอบถาม ขอบเขต การกำกับดูแล CI และการกู้คืน; รายการใหม่ยังต้องมีโมเดลหรือผู้เขียนที่เป็นมนุษย์ |
- AOCI-CODE เป็นแบบ local-first โดยค่าเริ่มต้น ไม่มีปลายทางคลาวด์เริ่มต้น ไม่มีบริการอัปโหลดซอร์สโค้ดแบบโฮสต์ และไม่มีเซิร์ฟเวอร์เบื้องหลังที่จำเป็น
- การจัดการข้อมูลในโหมด Agent-native ขึ้นอยู่กับโฮสต์ที่คุณเลือกและนโยบายผลิตภัณฑ์ของโฮสต์นั้น; AOCI-CODE ไม่อัปโหลดข้อมูลในนามของโฮสต์
- การเข้าถึงเครือข่ายฐานข้อมูลต้องถูกกระตุ้นอย่างชัดเจน และจำกัดเฉพาะเมทาดาทาสคีมาแบบอ่านอย่างเดียว
- บัญชีแยกประเภท ฉบับร่าง ธุรกรรม และหลักฐานการกู้คืนถูกจัดเก็บไว้ใต้
.aoci/โดยค่าเริ่มต้น และโดยปกติจะถูก Git ไม่สนใจ; ไฟล์ดัชนีและสินทรัพย์การกำกับดูแลของทีมอาจถูกคอมมิตเข้า Git - การฉายภาพการรับรู้ระบบคำนวณในเครื่องจากสินทรัพย์ที่เป็นแหล่งอ้างอิงหลักที่มีอยู่ และไม่ต้องใช้ฐานข้อมูลกราฟ ฐานข้อมูลเวกเตอร์ หรือบริการกราฟระยะไกล
แตกต่างจาก repo map, RAG, LSP หรือกราฟโค้ดอย่างไร
การค้นหา AST, LSP, กราฟโค้ด และ RAG เก่งในคำถามเชิงโครงสร้างและการดึงข้อมูล AOCI-CODE ทำงานที่แตกต่าง: มันดูแลคำอธิบายระบบที่มีการกำหนดเวอร์ชันซึ่งครอบคลุมขอบเขตที่จัดการ และวิวัฒนาการเพิ่มขึ้นทีละน้อยพร้อมกับซอฟต์แวร์ สิ่งที่คุณได้รับ:
- Whole-Index แผนที่ระบบหนึ่งชุดที่ครอบคลุมขอบเขตที่จัดการในปัจจุบัน ไม่ใช่ชิ้นส่วนที่ประกอบขึ้นใหม่ตามแต่ละงาน
- รายการ FRAS ความรับผิดชอบ ความสัมพันธ์ที่แข็งแกร่ง สัญญาสาธารณะ และข้อจำกัดที่มีคุณค่าสูงสำหรับทุกวัตถุที่มีบทบาท
index - ความคงอยู่ข้ามเซสชัน ไฟล์ดัชนีอยู่กับที่เก็บโค้ด ดังนั้นเซสชันในภายหลังและเอเจนต์อื่นจะใช้เวอร์ชันเดียวกัน
- Managed Scope บันทึกที่ชัดเจนว่าวัตถุใดเข้าสู่ดัชนี วัตถุใดถูกสังเกตเพียงเพื่อการเปลี่ยนแปลง และวัตถุใดถูกตั้งใจละไว้
- การตรวจจับ Drift แยกแยะ Missing, Orphan, Stale, Unbaselined การเปลี่ยนแปลงการลงท้ายบรรทัด ความแตกต่างในการดูแล และแหล่งที่ถูกกันออกจากการเขียน (ว่าง ไบนารี ใหญ่เกินไป)
- การอัปเดตภายใต้การกำกับดูแล ผู้สมัครเข้าสู่ไฟล์ทางการผ่านการผูกแหล่งที่มา แผน การตรวจสอบ การทบทวน CAS การเขียนแบบอะตอมมิก Baseline และเวิร์กโฟลว์การกู้คืน
- การรับรองการส่งมอบ Chunk, cursor, receipt และ challenge พิสูจน์ว่า Whole-Index ถูกส่งมอบอย่างครบถ้วน
- การรับรู้ฐานข้อมูล รายการระดับตารางที่สร้างและกำกับดูแลจากหลักฐานสคีมา PostgreSQL/MySQL/openGauss ที่ยอมรับอย่างชัดเจน
- การฉายภาพระบบ Lineage, Relations แบบแคบ, Impact จากฐานข้อมูลสู่โค้ด, Snapshot และข้อสังเกต Evolution ที่ได้มาจากดัชนีที่เป็นแหล่งอ้างอิงหลักและการผูกของมัน โดยไม่ทำซ้ำสถานะที่เป็นแหล่งอ้างอิงหลัก; Impact เดินผ่านเฉพาะความสัมพันธ์ R ที่โมเดลเขียนอย่างชัดเจน
AOCI-CODE เสริมเครื่องมือที่มีอยู่แทนที่จะแทนที่
| วิธี | เก่งที่สุดในการตอบ | สิ่งที่ AOCI-CODE เพิ่ม |
|---|---|---|
| RAG / search | ข้อความต้นทางที่เกี่ยวข้องกับคำถามปัจจุบันอยู่ที่ไหน? | คำอธิบายขอบเขตที่จัดการซึ่งมีเวอร์ชันและมีอยู่ก่อนการสอบถาม รวมถึงสิ่งที่ตั้งใจละไว้และสถานะการกำกับดูแล |
| AST / LSP / ctags | สัญลักษณ์ ชนิด คำจำกัดความ และการอ้างอิงอยู่ที่ไหน? | ความรับผิดชอบ เจตนา และข้อจำกัดในการบำรุงรักษาข้ามซอร์สโค้ด การทดสอบ การกำหนดค่า ฐานข้อมูล และสินทรัพย์การดำเนินงาน |
| CodeGraph / call graph | อะไรเชื่อมต่อกับอะไร และเส้นทางสามารถเดินผ่านได้อย่างไร? | ความหมายทางธุรกิจที่โมเดลเขียน ข้อจำกัดระยะยาว ขอบเขต ความเป็นเจ้าของ อัตลักษณ์เวอร์ชัน และการอัปเดตแบบทรานแซกชัน |
| repo map / summary ทั่วไป | รูปร่างของโปรเจกต์เป็นอย่างไร หรือภาพรวมเร็ว ๆ ครั้งเดียว? | การผูกแหล่งที่มา การตรวจจับ drift การบำรุงรักษาเพิ่มขึ้น การทบทวน การกู้คืน และการตรวจสอบสำหรับวัตถุที่จัดการ |
| เอเจนต์เขียนโค้ด | วิธีตรวจสอบซอร์ส วางแผน แก้ไขโค้ด และรันเครื่องมือ | อยู่ใต้เอเจนต์เพื่อให้ภาพระบบที่คงอยู่และกำกับดูแลว่าภาพนั้นวิวัฒนาการพร้อมซอฟต์แวร์อย่างไร |
การผสมผสานที่แนะนำ: AOCI-CODE ให้ไพรเออร์เชิงความหมายระดับโลก; กราฟโค้ด LSP การค้นหา และซอร์สโค้ดให้หลักฐานที่แม่นยำ; การทดสอบและผลลัพธ์รันไทม์ให้การยอมรับขั้นสุดท้าย การฉายภาพ Relations ของ AOCI ไม่ได้แทนที่ call graph ที่แม่นยำ: มันเปิดเผยการบรรจุ Volume เชิงโครงสร้างและขอบการพึ่งพา Root ในขณะที่ขอบเชิงความหมายจำกัดเฉพาะความสัมพันธ์ที่แข็งแกร่งซึ่งโมเดลเขียนอย่างชัดเจน
สแต็กเทคโนโลยี
| ด้าน | การนำไปใช้ |
|---|---|
| ภาษาหลัก | Go; go.mod ปัจจุบันเป็นแหล่งอ้างอิงเวอร์ชัน |
| การจัดจำหน่าย | ไฟล์ปฏิบัติการเดียวที่ไม่ต้องใช้ CGO |
| โปรโตคอลเอเจนต์ | stdio MCP พร้อมเครื่องมือเก้าอย่างเท่านั้น; CLI และ MCP ใช้เคอร์เนลการกำกับดูแลร่วมกัน |
| ไฟล์ดัชนี | Cognition Volumes แบบข้อความล้วน UTF-8 สามารถ diff และกำหนดเวอร์ชันด้วย Git |
| สถานะเครื่อง | JSON/JSONL, SHA-256, Baseline, manifest, receipt, ledger และการกู้คืน |
| ความปลอดภัยในการเขียน | ล็อกข้ามโปรเซส CAS ไฟล์ชั่วคราวในไดเรกทอรีเดียวกัน การแทนที่แบบอะตอมมิกของแพลตฟอร์ม และพฤติกรรม fail-closed |
| ฐานข้อมูล | การทำงานหลักไม่ขึ้นกับฐานข้อมูลธุรกิจ; หลักฐานสคีมา PostgreSQL/MySQL/openGauss แบบเลือกได้ใช้ไดรเวอร์ pure-Go |
| การรับรู้ระบบ | การฉายภาพ Lineage, Relations, Impact, Snapshot และ Evolution ที่ได้มาตามต้องการจากสินทรัพย์ที่เป็นแหล่งอ้างอิงหลัก |
| โหมดการทำงาน | Agent-native, Endpoint-native, Deterministic-only |
AOCI-CODE ไม่ต้องใช้ Neo4j ฐานข้อมูลเวกเตอร์ เดมอนที่ทำงานระยะยาว หรือบริการคลาวด์ AOCI เมื่อเปิดใช้งานการรับรู้ฐานข้อมูล ฐานข้อมูลเป้าหมายเป็นเพียงแหล่งหลักฐานสคีมาแบบอ่านอย่างเดียวที่ชัดเจน ไม่ใช่ที่เก็บสถานะของ AOCI เอง
คำถามที่พบบ่อย
ทำไม status --deep แบบ Legacy ยังแสดง drift?
status --deep, index score และ index agent plan เป็นแบบ Legacy เท่านั้น สำหรับที่เก็บ Cognition Volumes ให้รันคู่มือแบบสดและปล่อยให้โฮสต์ใช้ aoci_maintain แบบไม่มีอาร์กิวเมนต์ตามปกติ ส่งชุดปัจจุบันที่สมบูรณ์ผ่าน aoci_update_entry และปิดด้วย Verify, Check และคู่มือ อย่าแก้ไข Baseline โดยตรงหรือข้ามขั้นตอนการผูกแหล่งที่มาและการกู้คืน
เลย์เอาต์ Legacy เองเลิกใช้แล้ว Volumes v1 เป็นเส้นทางที่รองรับสำหรับที่เก็บใหม่และที่ย้ายมา และคำสั่งเฉพาะ Legacy มีกำหนดจะถูกลบใน v0.2.0; ย้ายที่เก็บ Legacy ด้วย aoci cognition migration ก่อนถึงตอนนั้น
aoci --repo . index agent guide --agent codex --json
ทำไมโฮสต์เริ่ม AOCI ผิดตัว?
ตรวจสอบเส้นทางไฟล์ปฏิบัติการในการกำหนดค่า MCP ระดับโปรเจกต์ และตรวจสอบให้แน่ใจว่าเป็นเส้นทางสัมบูรณ์ที่คงที่ จากนั้นรัน:
/absolute/path/to/aoci --version
/absolute/path/to/aoci --repo . doctor
เพื่อตรวจสอบเซิร์ฟเวอร์ stdio ที่โหลดแล้วแทนที่จะตรวจสอบเพียงไฟล์บนดิสก์ ให้ตรวจสอบไฟล์ปฏิบัติการจริงของโปรเซสโฮสต์ด้วย --repo ในบรรทัดคำสั่ง และอัตลักษณ์โปรเซสหลังการรีสตาร์ท
ฉันต้องสร้างบัญชีฐานข้อมูลและให้ DSN เองหรือไม่?
คุณไม่จำเป็นต้องเข้าใจไวยากรณ์ DSN และไม่ควรส่งความลับในแชท หลังจากคุณประกาศอัตลักษณ์แหล่งที่มาที่ไม่ละเอียดอ่อน AOCI จะให้การอ้างอิงตัวแปรสภาพแวดล้อมที่คงที่ ผู้ดูแลฐานข้อมูลยังคงต้องสร้างบัญชีภายนอกที่มีสิทธิ์น้อยที่สุดพร้อมการเข้าถึงแค็ตตาล็อกระบบแบบอ่านอย่างเดียว และให้การอ้างอิงนั้นกับสภาพแวดล้อมรันไทม์ เวอร์ชันปัจจุบันไม่สร้างบัญชีฐานข้อมูลในนามขององค์กรหรืออ่านที่เก็บความลับโดยอัตโนมัติ
รันใน CI ได้หรือไม่?
ได้ การสแกน การตรวจสอบ ด่านการกำกับดูแล และการตรวจสอบแบบกำหนดได้ทำงานโดยไม่เขียนรายการใหม่ สำหรับคำสั่งที่แน่นอน การเขียน audit และรหัสออก ให้อ้างอิง --help ของไบนารีปัจจุบัน สคีมา JSON และเอกสาร CI ของโปรเจกต์
ผลลัพธ์ AOCI ที่เขียวทั้งหมดพิสูจน์ว่าความหมายถูกต้องหรือไม่?
ไม่ ผลลัพธ์สีเขียวพิสูจน์ว่าเงื่อนไขเชิงโครงสร้างและการกำกับดูแลที่เข้ารหัสไว้เป็นจริง สิ่งที่โมเดลเขียนยังต้องถูกตรวจสอบกับซอร์สโค้ด สคีมา การทดสอบ ผลลัพธ์รันไทม์ และการทบทวนของมนุษย์
กราฟการรับรู้ระบบเป็นแหล่งความจริงใหม่หรือไม่?
ไม่ ความสามารถปัจจุบันคือการฉายภาพความสัมพันธ์แบบแคบ ไม่ใช่แพลตฟอร์มกราฟอิสระ มันคำนวณผลลัพธ์จากดัชนีทางการ หลักฐาน ใบรับ และ Baseline เท่านั้น และไม่บันทึกข้อเท็จจริงที่เป็นแหล่งอ้างอิงหลักใหม่ โปรแกรมยังไม่สร้างความสัมพันธ์เชิงความหมายโดยอัตโนมัติจากการนำเข้า SQL ชื่อไฟล์ หรือความคล้ายคลึง
เอกสาร
| หัวข้อ | เอกสาร |
|---|---|
| การใช้งานครั้งแรก | เริ่มต้นใช้งาน |
| การติดตั้ง การอัปเกรด และการย้อนกลับ | ติดตั้ง · อัปเกรด · ย้อนกลับ · ถอนการติดตั้ง |
| เอเจนต์และโฮสต์ | การผสานรวมเอเจนต์ · Windows Host Agent |
| Whole-Index และการรีเฟรช | การส่งมอบภาพรวม · การรีเฟรชองค์ความรู้ |
| Cognition Volumes | Volumes · สัญญา Volumes |
| System Cognition | สัญญารันไทม์ System Cognition |
| Managed Scope | Managed Scope และงบประมาณ · สินค้าคงคลังที่ปลอดภัย |
| ฐานข้อมูล | หลักฐานฐานข้อมูล · การสร้างองค์ความรู้ฐานข้อมูล |
| วงจรชีวิต | เริ่มต้นใช้งาน · อัปเกรด · การรีเฟรชองค์ความรู้ |
| รูปแบบและโปรโตคอล | รูปแบบ Index · ข้อกำหนด Cognition Volumes · Object FRAS v2 |
| การวิจัยและการเผยแพร่ | ห่วงโซ่อุปทาน |
ลิงก์เอกสารและสัญญาสาธารณะถูกปักหมุดไว้ที่
v0.1.0-rc22เพื่อให้ ยังคงใช้งานได้เมื่ออ่าน README นี้จากไฟล์เก็บถาวร Release แบบไบนารี ซึ่ง ไม่ได้รวมไดเรกทอรีdocs/หรือspec/public/ของรีโพซิทอรีไว้
ชุดทดสอบการตรวจสอบแบบกล่องดำ
รีโพซิทอรีจัดส่งชุดทดสอบแบบกล่องดำแบบสแตนด์อโลนสี่ชุดภายใต้
scripts/blackbox/ ซึ่งทดสอบไบนารี aoci ที่สร้างขึ้น
จากภายนอกโปรเซสอย่างเคร่งครัด ผ่านโปรโตคอล MCP แบบ stdio สาธารณะ
และ CLI เท่านั้น:
- ความสอดคล้องของโปรโตคอล — การตรวจสอบแบบอ่านอย่างเดียว 53 รายการของพื้นผิว MCP wire
โดยมีประโยคที่ขึ้นกับโลแคลทำซ้ำภายใต้
zh-CN; - สถานการณ์การฉีดข้อผิดพลาด — 75 สถานการณ์ ครอบคลุมการแก้ไขเคอร์เซอร์ การกู้คืนจากการขัดข้อง การแข่งขันของผู้เขียน และฮุกก่อนการเขียน บน รีโพซิทอรีฟิกซ์เจอร์แบบใช้แล้วทิ้ง;
- วงจรชีวิตบนโปรเจกต์จริงที่ถูกตรึงไว้ — โปรเจกต์ฟิกซ์เจอร์ที่คอมมิตไว้สามโปรเจกต์:
repo-a(TypeScript) และrepo-b(Python + MySQL) รันวงจรชีวิต ตั้งแต่initจนถึงการจัดแนวใหม่แบบเต็มรูปแบบ และrepo-c(บริการแบบเลเยอร์ 453 ไฟล์) ยังขับเคลื่อนการสร้างแบบหลายแบทช์ที่ขีดจำกัดแบทช์ของเครื่องเพิ่มเติม แทร็กโมเดล แบบเลือกได้จะนำเอเจนต์ AI จริง — โมเดลใดก็ได้ที่การติดตั้ง OpenCode ของคุณ เปิดเผย — ผ่านรีโพซิทอรีขนาดเล็กสองแห่ง และให้คะแนนสถานะสุดท้ายจากพื้นผิวสาธารณะ - แกนการอัปเกรด — การตรวจสอบ 80 รายการต่อเวอร์ชันที่เผยแพร่ บนรูปร่างรีโพซิทอรี สิบแบบ: ทุกเวอร์ชันที่เผยแพร่จะสร้างและเขียนรีโพซิทอรีด้วยไบนารีของตัวเอง จากนั้นไบนารีที่อยู่ระหว่างการทดสอบต้องกำกับดูแลมันโดยไม่ย้ายตัวระบุ ไม่เรียกร้อง Scope Change และไม่เขียนสินทรัพย์ทางการใหม่ และสิ่งที่มันเขียน ต่อจากนั้นต้องทำให้เช็กเอาต์ที่พาธอื่นยังคงสอดคล้องกัน ในรูปร่างที่สิบ บทบาทจะกลับกัน และทุกเวอร์ชันที่เผยแพร่ต้องอ่านรีโพซิทอรีที่ไบนารี ระหว่างการทดสอบเขียนไว้ได้โดยไม่ขัดข้องหรือเขียนทับ อีกสามชุดที่เหลือ สร้างฟิกซ์เจอร์ทุกชิ้นด้วยไบนารีระหว่างการทดสอบ ดังนั้นภาพก่อนหน้า ที่เปลี่ยนไประหว่างเวอร์ชันจึงมองไม่เห็นโดยธรรมชาติ
ชุดทดสอบเหล่านี้ต้องการเพียง Python 3 และ git เพิ่มจากไบนารีที่สร้างแล้ว
(Docker สำหรับชุด MySQL; OpenCode พร้อมการสมัครสมาชิกโมเดลของคุณเองสำหรับแทร็กโมเดล)
ดังนั้นโคลนของรีโพซิทอรีจึงสามารถตรวจสอบบิลด์ของตัวเอง พอร์ตแพลตฟอร์ม หรือฟอร์กได้ — และ
AOCI_BIN สามารถชี้ชุดทดสอบความสอดคล้องและสถานการณ์ไปยังไบนารีทางเลือกใดก็ได้
ที่อ้างสัญญาสาธารณะใน spec/public/ ชุดทดสอบเหล่านี้อยู่ใน
โคลนของรีโพซิทอรี ไฟล์เก็บถาวร Release แบบไบนารีไม่ได้รวมไว้ ดู
scripts/blackbox/README.md สำหรับคำสั่งและ
การตีความผลลัพธ์
การวิจัย ทรัพย์สินทางปัญญา และสัญญาอนุญาต
เอกสารและสิ่งประดิษฐ์งานวิจัยของ AOCI-CODE อาจอธิบายวิธีการที่เผยแพร่ โปรโตคอลการทดลอง และผลลัพธ์ต่อสาธารณะได้ คำขอรับสิทธิบัตร ขอบเขตที่ได้รับอนุมัติ สถานะทางกฎหมาย เจ้าของ และผลในเชิงอาณาเขตเป็นข้อเท็จจริงทางกฎหมาย และไม่ควรเพิ่มลงในคำอธิบายผลิตภัณฑ์โดยอาศัย README ภายใน หมายเลขเวอร์ชันในอดีต หรือการเล่าซ้ำที่ยังไม่ได้ตรวจสอบ
หากต้องเปิดเผยหมายเลขสิทธิบัตร วันที่อนุมัติ หรือขอบเขตที่เฉพาะเจาะจงในอนาคต ผู้ถือสิทธิ์และที่ปรึกษากฎหมายควรตรวจสอบกับบันทึกสาธารณะอย่างเป็นทางการ และจัดวางไว้ในเอกสาร IP, NOTICE หรือเอกสารทางกฎหมายโดยเฉพาะ README นี้ควรลิงก์ไปยังไฟล์ที่มีอำนาจนั้นเท่านั้น ไม่ควรขยายความคุ้มครองสิทธิบัตรด้วยตัวเอง หรือนำเสนอสถานะสิทธิบัตรเป็นสัญญาอนุญาตซอฟต์แวร์
การมีส่วนร่วม ความปลอดภัย และสัญญาอนุญาต
ส่งการมีส่วนร่วมจากภายนอกที่มุ่งเน้นผ่านกระบวนการใน CONTRIBUTING.md ผู้มีส่วนร่วมต้องมีสิทธิ์ในการส่งงานของตน การมีส่วนร่วมที่ได้รับการยอมรับอยู่ภายใต้สัญญาอนุญาตของรีโพซิทอรีและข้อกำหนดขาเข้าที่เผยแพร่ใด ๆ และผู้ดูแลอาจต้องการเอกสารเพิ่มเติมจากผู้มีส่วนร่วมก่อนการผสาน
อย่าเปิดเผยช่องโหว่ที่สงสัยใน Issues สาธารณะ ปฏิบัติตาม SECURITY.md; ช่องทางรายงานส่วนตัวที่ได้รับการเฝ้าติดตามและความเป็นเจ้าของการตอบสนองที่ชัดเจนยังคงเป็นข้อกำหนดเบื้องต้นสำหรับ Release สาธารณะ
AOCI-CODE v0.1.0-rc22 เป็นซอฟต์แวร์ Fair Source/ซอร์สโค้ดเปิดเผย ภายใต้สัญญาอนุญาต FSL-1.1-MIT ดู LICENSE สำหรับข้อกำหนดที่ใช้บังคับ
ชุมชน
สแกนโค้ดด้วย WeChat หรือ WeCom (企业微信) เพื่อเข้าร่วมกลุ่มโปรเจกต์ AOCI และพูดคุยกับผู้ดูแลและผู้ใช้คนอื่น ๆ ส่งรายงานข้อบกพร่องและคำขอฟีเจอร์เป็น GitHub issues เพื่อให้ยังคงค้นหาได้ และรายงานช่องโหว่ที่สงสัยแบบส่วนตัวตามที่ SECURITY.md อธิบายไว้ ไม่ใช่ในกลุ่ม
AOCI-CODE ไม่ได้เกี่ยวกับการทำให้เอเจนต์เห็นโค้ดมากขึ้น แต่ให้เอเจนต์มีความเข้าใจระบบที่ทันสมัย มีโครงสร้าง ติดตามได้ และมีการกำกับดูแล ก่อนทุกการกระทำ Git จัดเวอร์ชันโค้ดของคุณ การย้ายข้อมูลฐานข้อมูลจัดเวอร์ชันโครงสร้างข้อมูลของคุณ และ AOCI-CODE จัดเวอร์ชันสิ่งที่เอเจนต์รู้เกี่ยวกับระบบ พร้อมด้วยความสามารถในการติดตาม ความสอดคล้องของการกำกับดูแล และขอบเขตการกู้คืนของการที่ความรู้นั้นวิวัฒน์ไป