def evaluate_flat(tokens):
if not tokens or len(tokens) % 2 == 0:
raise ValueError("logic.shape")
if any(type(x) is not bool for x in tokens[::2]):
raise ValueError("logic.value")
if any(x not in ("AND", "OR") for x in tokens[1::2]):
raise ValueError("logic.operator")
terms, term = [], tokens[0]
for i in range(1, len(tokens), 2):
if tokens[i] == "AND":
term = term and tokens[i + 1]
else:
terms.append(term)
term = tokens[i + 1]
return any([*terms, term])
✳Ưu tiên logic không có ngoặc
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
Dự án
Thử True OR False AND False và từ chối đầu vào rỗng, toán tử sai vị trí, dấu ngoặc hoặc toán hạng không boolean mà không chạy chuỗi.
Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
Mô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
def evaluate_flat(tokens):
if not tokens or len(tokens) % 2 == 0:
raise ValueError("logic.shape")
if any(type(x) is not bool for x in tokens[::2]):
raise ValueError("logic.value")
if any(x not in ("AND", "OR") for x in tokens[1::2]):
raise ValueError("logic.operator")
terms, term = [], tokens[0]
for i in range(1, len(tokens), 2):
if tokens[i] == "AND":
term = term and tokens[i + 1]
else:
terms.append(term)
term = tokens[i + 1]
return any([*terms, term])
Không gian lập trình với AI
Làm cho thay đổi quy tắc có thể giải thích được với nơi gọi
LogicStitch là không gian lập trình AI trên Windows dành cho nhà phát triển cần suy xét hành vi có điều kiện trong dự án hiện có. Mở thư mục và xác định quyết định tạo ra kết quả ngoài dự kiến. Mô hình kết nối có thể hỗ trợ kiểm tra mã liên quan và trao đổi chỉnh sửa tập trung, trong khi cuộc trao đổi giữ hành vi mong đợi hiện diện suốt quá trình rà soát.
Ví dụ boolean_tokens.py gợi ý nhiệm vụ liên quan đến biểu thức Boolean phẳng. Trong ứng dụng, hãy hỏi liệu đầu vào chấp nhận, độ ưu tiên toán tử và hành vi khi lỗi có khớp kỳ vọng nơi gọi không. Cung cấp vài biểu thức có kết quả đã biết trước khi yêu cầu sửa. Nhờ vậy ví dụ hữu ích làm ngữ cảnh dự án mà không biến trang chủ thành bài hướng dẫn ngôn ngữ hay ngụ ý phần mềm cung cấp bộ máy quy tắc.
Có thể chọn mô hình AI không lọc khi điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ của bạn cung cấp. Cấu hình địa chỉ và thông tin xác thực mà nó yêu cầu, đồng thời cân nhắc ngữ cảnh thực tế và hỗ trợ công cụ của mô hình. Sau khi xem bản sửa, kiểm thử biểu thức phân biệt hành vi mong đợi với hành vi cũ, cùng đầu vào sai định dạng. Tách thay đổi ngữ nghĩa biểu thức khỏi dọn định dạng. Kết quả rà soát cần giải thích quyết định nào thay đổi, vì sao và nơi gọi quan sát được chúng thế nào.
Xác định bản sửa xử lý quy tắc
Ví dụ nào cho thấy bất đồng về độ ưu tiên?
Dùng biểu thức kết hợp các toán tử được hỗ trợ mà kết quả khác nhau theo những cách hiểu đang tranh luận. Ghi lại kết quả dự định và lý do ứng dụng mong đợi nó. Yêu cầu mô hình lần theo mã hiện tại trước khi đề xuất đổi ngữ nghĩa.
Hàm hỗ trợ có nên chấp nhận dấu ngoặc sau bản sửa này không?
Chỉ khi đó thuộc quy ước được yêu cầu. Thêm cú pháp làm thay đổi phạm vi và có thể cần bộ phân tích khác cùng cách xử lý lỗi mới. Giới hạn việc sửa biểu thức phẳng hiện có trừ khi dự án cần rõ ràng ngôn ngữ rộng hơn.
Kiểm tra biểu thức bị từ chối thế nào?
Kèm trường hợp thiếu toán hạng, toán tử không biết và giá trị sai kiểu. Xác minh nơi gọi nhận từng lỗi thế nào. Hàm phát sinh lỗi chỉ hữu ích nếu ứng dụng xung quanh xử lý theo quy ước của chính nó.
Mô hình có thể suy ra quy tắc nghiệp vụ chỉ từ mã không?
Mô hình có thể mô tả hành vi thể hiện ra nhưng không xác lập được ý định chưa được nói rõ. Cung cấp mục đích quy tắc và kết quả chấp nhận, rồi đối chiếu với triển khai. Đánh dấu trường hợp mơ hồ cần quyết định thay vì chấp nhận cách hiểu có vẻ hợp lý làm chính sách.