The function performs a Caesar cipher, shifting the alphabetic characters forward by 3 positions and leaving non-alphabetic characters unchanged. The shift is circular for both uppercase and lowercase characters.

[CODE]:
```python
def caesar_cipher(text, shift=3):
    result = []
    for char in text:
        if char.isalpha():
            offset = 65 if char.isupper() else 97
            result.append(chr(((ord(char) - offset + shift) % 26) + offset))
        else:
            result.append(char)
    return ''.join(result)
```